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

Function gen_dyn_execute

src/gpre/languages/ada.cpp:1360–1409  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1358//
1359
1360static void gen_dyn_execute( const act* action, int column)
1361{
1362 gpre_req* request;
1363 gpre_req req_const;
1364
1365 dyn* statement = (dyn*) action->act_object;
1366 const TEXT* transaction;
1367 if (statement->dyn_trans)
1368 {
1369 transaction = statement->dyn_trans;
1370 request = &req_const;
1371 request->req_trans = transaction;
1372 }
1373 else
1374 {
1375 transaction = "gds_trans";
1376 request = NULL;
1377 }
1378
1379 if (gpreGlob.sw_auto)
1380 {
1381 t_start_auto(action, request, status_vector(action), column, true);
1382 printa(column, "if %s%s /= 0 then", gpreGlob.ada_package, transaction);
1383 column += INDENT;
1384 }
1385
1386 TEXT s[MAX_CURSOR_SIZE];
1387 if (statement->dyn_sqlda2)
1388 printa(column, "firebird.embed_dsql_execute2 (isc_status, %s%s, %s, %d, %s'address);",
1389 gpreGlob.ada_package, transaction, make_name(s, statement->dyn_statement_name),
1390 gpreGlob.sw_sql_dialect,
1391 statement->dyn_sqlda ? gpreGlob.ada_null_address : statement->dyn_sqlda,
1392 statement->dyn_sqlda2);
1393 else if (statement->dyn_sqlda)
1394 printa(column, "firebird.embed_dsql_execute (isc_status, %s%s, %s, %d, %s'address);",
1395 gpreGlob.ada_package, transaction, make_name(s, statement->dyn_statement_name),
1396 gpreGlob.sw_sql_dialect, statement->dyn_sqlda);
1397 else
1398 printa(column, "firebird.embed_dsql_execute (isc_status, %s%s, %s, %d);",
1399 gpreGlob.ada_package, transaction, make_name(s, statement->dyn_statement_name),
1400 gpreGlob.sw_sql_dialect);
1401
1402 if (gpreGlob.sw_auto)
1403 {
1404 column -= INDENT;
1405 endif(column);
1406 }
1407
1408 set_sqlcode(action, column);
1409}
1410
1411
1412//____________________________________________________________

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