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

Function alter_database

src/gpre/cmd.cpp:254–288  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

252//
253
254static void alter_database( gpre_req* request, act* action)
255{
256 gpre_dbb* db = (gpre_dbb*) action->act_object;
257
258 request->add_byte(isc_dyn_mod_database);
259
260 // Reverse the order of files (parser left them backwards)
261
262 gpre_file* next;
263 gpre_file* files = NULL;
264 for (gpre_file* file = db->dbb_files; file; file = next)
265 {
266 next = file->fil_next;
267 file->fil_next = files;
268 files = file;
269 }
270
271 for (const gpre_file* file = files; file != NULL; file = file->fil_next)
272 {
273 put_cstring(request, isc_dyn_def_file, file->fil_name);
274 request->add_byte(isc_dyn_file_start);
275 request->add_word(4);
276 const SLONG start = file->fil_start;
277 request->add_long(start);
278 request->add_byte(isc_dyn_file_length);
279 request->add_word(4);
280 request->add_long(file->fil_length);
281 request->add_end();
282 }
283
284 if (db->dbb_def_charset)
285 put_cstring(request, isc_dyn_fld_character_set_name, db->dbb_def_charset);
286
287 request->add_end();
288}
289
290
291//____________________________________________________________

Callers 1

CMD_compile_ddlFunction · 0.85

Calls 5

put_cstringFunction · 0.85
add_endMethod · 0.80
add_byteMethod · 0.45
add_wordMethod · 0.45
add_longMethod · 0.45

Tested by

no test coverage detected