| 1454 | // |
| 1455 | |
| 1456 | static void gen_create_database( const act* action) |
| 1457 | { |
| 1458 | TEXT s1[32], s1Tmp[32], s2[32], s2Tmp[32]; |
| 1459 | |
| 1460 | gpre_req* request = ((mdbb*) action->act_object)->mdbb_dpb_request; |
| 1461 | gpre_dbb* db = (gpre_dbb*) request->req_database; |
| 1462 | if (request) |
| 1463 | { |
| 1464 | sprintf(s1, "%s%dL", names[isc_b_pos], request->req_ident); |
| 1465 | if (request->req_flags & REQ_extend_dpb) |
| 1466 | sprintf(s2, "%s%dp", names[isc_b_pos], request->req_ident); |
| 1467 | else |
| 1468 | sprintf(s2, "%s%d", names[isc_b_pos], request->req_ident); |
| 1469 | |
| 1470 | // if the dpb needs to be extended at runtime to include items |
| 1471 | // in host variables, do so here; this assumes that there is |
| 1472 | // always a request generated for runtime variables |
| 1473 | |
| 1474 | if (request->req_flags & REQ_extend_dpb) |
| 1475 | { |
| 1476 | if (request->req_length) |
| 1477 | { |
| 1478 | sprintf(output_buffer, "%sMOVE %s%d to %s\n", |
| 1479 | names[COLUMN], names[isc_b_pos], request->req_ident, s2); |
| 1480 | } |
| 1481 | if (db->dbb_r_user) |
| 1482 | { |
| 1483 | sprintf(output_buffer, "%sCALL \"%s\" USING %s, %s, 28, %s\n", |
| 1484 | names[COLUMN], |
| 1485 | ISC_EXPAND_DPB, |
| 1486 | s2, |
| 1487 | s1, |
| 1488 | db->dbb_r_user); |
| 1489 | RMC_print_buffer(output_buffer, true); |
| 1490 | } |
| 1491 | if (db->dbb_r_password) |
| 1492 | { |
| 1493 | sprintf(output_buffer, "%sCALL \"%s\" USING %s, %s, 29, %s\n", |
| 1494 | names[COLUMN], |
| 1495 | ISC_EXPAND_DPB, |
| 1496 | s2, |
| 1497 | s1, |
| 1498 | db->dbb_r_password); |
| 1499 | RMC_print_buffer(output_buffer, true); |
| 1500 | } |
| 1501 | |
| 1502 | // Process Role Name, isc_dpb_sql_role_name/60 |
| 1503 | if (db->dbb_r_sql_role) |
| 1504 | { |
| 1505 | sprintf(output_buffer, "%sCALL \"%s\" USING %s, %s, 60, %s\n", |
| 1506 | names[COLUMN], |
| 1507 | ISC_EXPAND_DPB, |
| 1508 | s2, |
| 1509 | s1, |
| 1510 | db->dbb_r_sql_role); |
| 1511 | RMC_print_buffer(output_buffer, true); |
| 1512 | } |
| 1513 |
no test coverage detected