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

Function gen_cursor_open

src/gpre/languages/ftn.cpp:1283–1333  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1281//
1282
1283static void gen_cursor_open(const act* action, const gpre_req* request)
1284{
1285 TEXT s[MAX_CURSOR_SIZE];
1286
1287 if (action->act_type != ACT_open)
1288 {
1289 if (gpreGlob.sw_auto)
1290 printa(COLUMN, "IF (isc_%ds .EQ. 0 .AND. %s .NE. 0) THEN",
1291 request->req_ident,
1292 request->req_database->dbb_name->sym_string);
1293 else
1294 printa(COLUMN, "IF (isc_%ds .EQ. 0) THEN", request->req_ident);
1295 }
1296 else
1297 {
1298 if (gpreGlob.sw_auto)
1299 printa(COLUMN, "IF (isc_%ds .EQ. 0 .AND. %s .NE. 0 .AND. %s .NE. 0) THEN",
1300 request->req_ident, request->req_handle,
1301 request->req_database->dbb_name->sym_string);
1302 else
1303 printa(COLUMN, "IF (isc_%ds .EQ. 0 .AND. %s .NE. 0) THEN",
1304 request->req_ident, request->req_handle);
1305 }
1306
1307 printa(COLUMN, "CALL %s (%s, %s, isc_%ds)",
1308 ISC_DSQL_ALLOCATE,
1309 status_vector(),
1310 request->req_database->dbb_name->sym_string, request->req_ident);
1311 printa(COLUMN, "END IF");
1312
1313 if (gpreGlob.sw_auto)
1314 printa(COLUMN, "IF (isc_%ds .NE. 0 .AND. %s .NE. 0) THEN",
1315 request->req_ident, request_trans(action, request));
1316 else
1317 printa(COLUMN, "IF (isc_%ds .NE. 0) THEN", request->req_ident);
1318 printa(COLUMN, "CALL %s (%s, isc_%ds, %s, %s0%s)",
1319 ISC_DSQL_SET_CURSOR,
1320 status_vector(),
1321 request->req_ident,
1322 make_name(s, ((open_cursor*) action->act_object)->opn_cursor),
1323 DSQL_I2CONST_1, DSQL_I2CONST_2);
1324 printa(COLUMN, "IF (isc_status(2) .EQ. 0) THEN");
1325 printa(COLUMN, "CALL %s (%s, %s, isc_%ds, %s0%s, 0, %s-1%s, %s0%s, 0)",
1326 ISC_DSQL_EXECUTE,
1327 status_vector(),
1328 request_trans(action, request),
1329 request->req_ident,
1330 DSQL_I2CONST_1, DSQL_I2CONST_2,
1331 DSQL_I2CONST_1, DSQL_I2CONST_2, DSQL_I2CONST_1, DSQL_I2CONST_2);
1332 printa(COLUMN, "IF (isc_status(2) .EQ. 0) THEN");
1333}
1334
1335
1336//____________________________________________________________

Callers 2

gen_blob_openFunction · 0.70
gen_s_startFunction · 0.70

Calls 4

printaFunction · 0.70
status_vectorFunction · 0.70
request_transFunction · 0.70
make_nameFunction · 0.70

Tested by

no test coverage detected