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

Function MET_fields

src/gpre/boot/gpre_meta_boot.cpp:246–289  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

244 */
245
246gpre_nod* MET_fields(gpre_ctx* context)
247{
248 gpre_fld* field;
249
250 gpre_prc* procedure = context->ctx_procedure;
251 if (procedure)
252 {
253 gpre_nod* node = MSC_node(nod_list, procedure->prc_out_count);
254 //int count = 0;
255 for (field = procedure->prc_outputs; field; field = field->fld_next)
256 {
257 ref* reference = (ref*) MSC_alloc(REF_LEN);
258 reference->ref_field = field;
259 reference->ref_context = context;
260 gpre_nod* field_node = MSC_unary(nod_field, (gpre_nod*) reference);
261 node->nod_arg[field->fld_position] = field_node;
262 //count++;
263 }
264 return node;
265 }
266
267 gpre_rel* relation = context->ctx_relation;
268 if (relation->rel_meta)
269 {
270 int count = 0;
271 for (field = relation->rel_fields; field; field = field->fld_next) {
272 count++;
273 }
274 gpre_nod* node = MSC_node(nod_list, count);
275 //count = 0;
276 for (field = relation->rel_fields; field; field = field->fld_next)
277 {
278 ref* reference = (ref*) MSC_alloc(REF_LEN);
279 reference->ref_field = field;
280 reference->ref_context = context;
281 gpre_nod* field_node = MSC_unary(nod_field, (gpre_nod*) reference);
282 node->nod_arg[field->fld_position] = field_node;
283 //count++;
284 }
285 return node;
286 }
287
288 return NULL;
289}
290
291
292/*____________________________________________________________

Callers 4

act_insertFunction · 0.85
act_upsertFunction · 0.85
explode_asteriskFunction · 0.85
explode_asterisk_allFunction · 0.85

Calls 3

MSC_nodeFunction · 0.85
MSC_allocFunction · 0.85
MSC_unaryFunction · 0.85

Tested by

no test coverage detected