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

Function make_ready

src/gpre/languages/ada.cpp:3442–3516  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3440//
3441
3442static void make_ready(const gpre_dbb* db,
3443 const TEXT* filename,
3444 const TEXT* vector,
3445 USHORT column,
3446 gpre_req* request)
3447{
3448 TEXT s1[32], s2[32];
3449
3450 if (request)
3451 {
3452 sprintf(s1, "isc_%dl", request->req_ident);
3453 sprintf(s2, "isc_%d", request->req_ident);
3454
3455 // if the dpb needs to be extended at runtime to include items
3456 // in host variables, do so here; this assumes that there is
3457 // always a request generated for runtime variables
3458
3459 if (request->req_flags & REQ_extend_dpb)
3460 {
3461 sprintf(s2, "isc_%dp", request->req_ident);
3462 if (request->req_length)
3463 printa(column, "%s = isc_%d;", s2, request->req_ident);
3464 if (db->dbb_r_user)
3465 printa(column, "firebird.MODIFY_DPB (%s, %s, firebird.isc_dpb_user_name, %s, %d);\n",
3466 s2, s1, db->dbb_r_user, (strlen(db->dbb_r_user) - 2));
3467 if (db->dbb_r_password)
3468 printa(column, "firebird.MODIFY_DPB (%s, %s, firebird.isc_dpb_password, %s, %d);\n",
3469 s2, s1, db->dbb_r_password, (strlen(db->dbb_r_password) - 2));
3470
3471 // Process Role Name
3472 if (db->dbb_r_sql_role)
3473 printa(column,
3474 "firebird.MODIFY_DPB (%s, %s, firebird.isc_dpb_sql_role_name, %s, %d);\n",
3475 s2, s1, db->dbb_r_sql_role, (strlen(db->dbb_r_sql_role) - 2));
3476
3477 if (db->dbb_r_lc_messages)
3478 printa(column,
3479 "firebird.MODIFY_DPB (%s, %s, firebird.isc_dpb_lc_messages, %s, %d);\n",
3480 s2, s1, db->dbb_r_lc_messages, (strlen(db->dbb_r_lc_messages) - 2));
3481 if (db->dbb_r_lc_ctype)
3482 printa(column, "firebird.MODIFY_DPB (%s, %s, firebird.isc_dpb_lc_ctype, %s, %d);\n",
3483 s2, s1, db->dbb_r_lc_ctype, (strlen(db->dbb_r_lc_ctype) - 2));
3484 }
3485 }
3486
3487 if (filename)
3488 {
3489 if (*filename == '"')
3490 printa(column, "firebird.ATTACH_DATABASE (%s %d, %s, %s%s, %s, %s);",
3491 vector, strlen(filename) - 2, filename, gpreGlob.ada_package,
3492 db->dbb_name->sym_string, (request ? s1 : "0"),
3493 (request ? s2 : "firebird.null_dpb"));
3494 else
3495 printa(column, "firebird.ATTACH_DATABASE (%s %s'length(1), %s, %s%s, %s, %s);",
3496 vector, filename, filename, gpreGlob.ada_package,
3497 db->dbb_name->sym_string, (request ? s1 : "0"),
3498 (request ? s2 : "firebird.null_dpb"));
3499 }

Callers 3

gen_readyFunction · 0.70
gen_t_startFunction · 0.70
t_start_autoFunction · 0.70

Calls 1

printaFunction · 0.70

Tested by

no test coverage detected