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

Function gen_emodify

src/gpre/int_cxx.cpp:320–352  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

318//
319
320static void gen_emodify( const act* action, int column)
321{
322 TEXT s1[MAX_REF_SIZE], s2[MAX_REF_SIZE];
323
324 const upd* modify = (upd*) action->act_object;
325
326 for (const ref* reference = modify->upd_port->por_references; reference;
327 reference = reference->ref_next)
328 {
329 const ref* source = reference->ref_source;
330 if (!source) {
331 continue;
332 }
333 const gpre_fld* field = reference->ref_field;
334 align(column);
335
336 switch (field->fld_dtype)
337 {
338 case dtype_text:
339 fprintf(gpreGlob.out_file, "jrd_ftof (%s, %d, %s, %d);",
340 gen_name(s1, source), field->fld_length, gen_name(s2, reference), field->fld_length);
341 break;
342 case dtype_cstring:
343 fprintf(gpreGlob.out_file, "gds__vtov((const char*) %s, (char*) %s, %d);",
344 gen_name(s1, source), gen_name(s2, reference), field->fld_length);
345 break;
346 default:
347 fprintf(gpreGlob.out_file, "%s = %s;", gen_name(s1, reference), gen_name(s2, source));
348 }
349 }
350
351 gen_send(action->act_request, modify->upd_port, column, false);
352}
353
354
355//____________________________________________________________

Callers 1

INT_CXX_actionFunction · 0.70

Calls 3

alignFunction · 0.70
gen_nameFunction · 0.70
gen_sendFunction · 0.70

Tested by

no test coverage detected