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

Function cmp_any

src/gpre/cmp.cpp:489–522  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

487//
488
489static void cmp_any( gpre_req* request)
490{
491 // Build the primary send statement
492
493 gpre_port* port = request->req_primary;
494 make_send(port, request);
495
496 request->add_byte(blr_if);
497 request->add_byte(blr_any);
498 CME_rse(request->req_rse, request);
499
500 gpre_nod* value = MSC_unary(nod_value, (gpre_nod*) port->por_references);
501
502 // Make a send to signal end of file
503
504 request->add_byte(blr_assignment);
505 CME_expr(lit1, request);
506 CME_expr(value, request);
507
508 request->add_byte(blr_assignment);
509 CME_expr(lit0, request);
510 CME_expr(value, request);
511
512 port = request->req_vport;
513 if (port)
514 {
515 for (ref* reference = port->por_references; reference; reference = reference->ref_next)
516 {
517 ref* source = (ref*) MSC_alloc(REF_LEN);
518 reference->ref_source = source;
519 source->ref_ident = CMP_next_ident();
520 }
521 }
522}
523
524
525//____________________________________________________________

Callers 1

cmp_blrFunction · 0.85

Calls 7

make_sendFunction · 0.85
MSC_unaryFunction · 0.85
CME_exprFunction · 0.85
MSC_allocFunction · 0.85
CMP_next_identFunction · 0.85
CME_rseFunction · 0.70
add_byteMethod · 0.45

Tested by

no test coverage detected