| 3440 | // |
| 3441 | |
| 3442 | static 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 | } |
no test coverage detected