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

Function gen_ddl

src/gpre/languages/cob.cpp:1791–1827  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1789//
1790
1791static void gen_ddl( const act* action)
1792{
1793 // Set up command type for call to RDB$DDL
1794
1795 const gpre_req* request = action->act_request;
1796
1797 if (gpreGlob.sw_auto)
1798 {
1799 t_start_auto(0, status_vector(action), action, true);
1800 printa(names[COLUMN], false, "IF %s NOT = 0 THEN", names[isc_trans_pos]);
1801 }
1802
1803
1804 sprintf(output_buffer,
1805 "%sCALL \"%s\" USING %s, %s%s, %s%s, %s%d%s, %s%s%d\n",
1806 names[COLUMN], ISC_DDL, status_vector(action), BY_REF,
1807 request->req_database->dbb_name->sym_string, BY_REF,
1808 names[isc_trans_pos], BY_VALUE, request->req_length, END_VALUE,
1809 BY_REF, names[isc_a_pos], request->req_ident);
1810
1811 COB_print_buffer(output_buffer, true);
1812
1813 if (gpreGlob.sw_auto)
1814 {
1815 printa(names[COLUMN], false, "END-IF");
1816 printa(names[COLUMN], false, "IF %s(2) = 0 THEN", names[isc_status_pos]);
1817 printa(names[COLUMN], true, "CALL \"%s\" USING %s, %s%s", ISC_COMMIT_TRANSACTION,
1818 status_vector(action), BY_REF, names[isc_trans_pos]);
1819 printa(names[COLUMN], false, "END-IF");
1820 printa(names[COLUMN], false, "IF %s(2) NOT = 0 THEN", names[isc_status_pos]);
1821 printa(names[COLUMN], true, "CALL \"%s\" USING %s, %s%s",
1822 ISC_ROLLBACK_TRANSACTION, OMITTED, BY_REF, names[isc_trans_pos]);
1823 printa(names[COLUMN], false, "END-IF");
1824 }
1825 COB_print_buffer(output_buffer, true);
1826 set_sqlcode(action);
1827}
1828
1829
1830//____________________________________________________________

Callers 2

COB_actionFunction · 0.70
gen_create_databaseFunction · 0.70

Calls 5

COB_print_bufferFunction · 0.85
t_start_autoFunction · 0.70
status_vectorFunction · 0.70
printaFunction · 0.70
set_sqlcodeFunction · 0.70

Tested by

no test coverage detected