MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / gen_dyn_prepare

Function gen_dyn_prepare

src/gpre/languages/ada.cpp:1561–1611  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1559//
1560
1561static void gen_dyn_prepare( const act* action, int column)
1562{
1563 gpre_req* request;
1564 gpre_req req_const;
1565
1566 dyn* statement = (dyn*) action->act_object;
1567 const gpre_dbb* database = statement->dyn_database;
1568
1569 const TEXT* transaction;
1570 if (statement->dyn_trans)
1571 {
1572 transaction = statement->dyn_trans;
1573 request = &req_const;
1574 request->req_trans = transaction;
1575 }
1576 else
1577 {
1578 transaction = "gds_trans";
1579 request = NULL;
1580 }
1581
1582 if (gpreGlob.sw_auto)
1583 {
1584 t_start_auto(action, request, status_vector(action), column, true);
1585 printa(column, "if %s%s /= 0 then", gpreGlob.ada_package, transaction);
1586 column += INDENT;
1587 }
1588
1589 TEXT s[MAX_CURSOR_SIZE];
1590 if (statement->dyn_sqlda)
1591 printa(column,
1592 "firebird.embed_dsql_prepare (isc_status, %s%s, %s%s, %s, %s'length(1), %s, %d, %s'address);",
1593 gpreGlob.ada_package, database->dbb_name->sym_string, gpreGlob.ada_package,
1594 transaction, make_name(s, statement->dyn_statement_name),
1595 statement->dyn_string, statement->dyn_string, gpreGlob.sw_sql_dialect,
1596 statement->dyn_sqlda);
1597 else
1598 printa(column,
1599 "firebird.embed_dsql_prepare (isc_status, %s%s, %s%s, %s, %s'length(1), %s, %d);",
1600 gpreGlob.ada_package, database->dbb_name->sym_string, gpreGlob.ada_package,
1601 transaction, make_name(s, statement->dyn_statement_name),
1602 statement->dyn_string, statement->dyn_string, gpreGlob.sw_sql_dialect);
1603
1604 if (gpreGlob.sw_auto)
1605 {
1606 column -= INDENT;
1607 endif(column);
1608 }
1609
1610 set_sqlcode(action, column);
1611}
1612
1613
1614//____________________________________________________________

Callers 1

ADA_actionFunction · 0.70

Calls 6

t_start_autoFunction · 0.70
status_vectorFunction · 0.70
printaFunction · 0.70
make_nameFunction · 0.70
endifFunction · 0.70
set_sqlcodeFunction · 0.70

Tested by

no test coverage detected