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

Function gen_create_database

src/gpre/languages/rmc.cpp:1456–1592  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1454//
1455
1456static 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

Callers 1

RMC_actionFunction · 0.70

Calls 5

RMC_print_bufferFunction · 0.85
status_vectorFunction · 0.70
printaFunction · 0.70
gen_ddlFunction · 0.70
set_sqlcodeFunction · 0.70

Tested by

no test coverage detected