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

Function gen_emodify

src/gpre/languages/cob.cpp:2171–2202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2169//
2170
2171static void gen_emodify( const act* action)
2172{
2173 TEXT s1[MAX_REF_SIZE], s2[MAX_REF_SIZE];
2174
2175 const upd* modify = (upd*) action->act_object;
2176
2177 for (const ref* reference = modify->upd_port->por_references; reference;
2178 reference = reference->ref_next)
2179 {
2180 const ref* source = reference->ref_source;
2181 if (!source)
2182 continue;
2183 const gpre_fld* field = reference->ref_field;
2184 gen_name(s1, source, true);
2185 gen_name(s2, reference, true);
2186 switch (field->fld_dtype)
2187 {
2188 case dtype_blob:
2189 case dtype_quad:
2190 case dtype_date:
2191 sprintf(output_buffer, "%sCALL \"isc_qtoq\" USING %s, %s\n", names[COLUMN], s1, s2);
2192 break;
2193 default:
2194 sprintf(output_buffer, "%sMOVE %s TO %s\n", names[COLUMN], s1, s2);
2195 }
2196 COB_print_buffer(output_buffer, true);
2197 if (field->fld_array_info)
2198 gen_get_or_put_slice(action, reference, false);
2199 }
2200
2201 gen_send(action, modify->upd_port);
2202}
2203
2204
2205//____________________________________________________________

Callers 1

COB_actionFunction · 0.70

Calls 4

COB_print_bufferFunction · 0.85
gen_nameFunction · 0.70
gen_get_or_put_sliceFunction · 0.70
gen_sendFunction · 0.70

Tested by

no test coverage detected