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

Function SQE_variable

src/gpre/sqe.cpp:1242–1272  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1240//
1241
1242gpre_nod* SQE_variable(gpre_req* request, bool /*aster_ok*/, USHORT* /*paren_count*/, bool* /*bool_flag*/)
1243{
1244 assert_IS_REQ(request);
1245
1246 if (!MSC_match(KW_COLON))
1247 CPR_s_error("<colon>");
1248
1249 if (isQuoted(gpreGlob.token_global.tok_type))
1250 CPR_s_error("<host variable>");
1251
1252 ref* reference = (ref*) MSC_alloc(REF_LEN);
1253
1254 // This loop is a waste of time because the flag SYM_variable is never activated
1255 for (gpre_sym* symbol = gpreGlob.token_global.tok_symbol; symbol; symbol = symbol->sym_homonym)
1256 {
1257 if (symbol->sym_type == SYM_variable)
1258 {
1259 reference->ref_field = (gpre_fld*) symbol->sym_object;
1260 break;
1261 }
1262 }
1263
1264 reference->ref_value = PAR_native_value(false, false);
1265
1266 MSC_match(KW_INDICATOR);
1267
1268 if (MSC_match(KW_COLON))
1269 reference->ref_null_value = PAR_native_value(false, false);
1270
1271 return (gpre_nod*) reference;
1272}
1273
1274
1275//____________________________________________________________

Callers 5

act_fetchFunction · 0.85
act_insert_blobFunction · 0.85
act_opencloseFunction · 0.85
act_procedureFunction · 0.85
par_primitive_valueFunction · 0.85

Calls 5

MSC_matchFunction · 0.85
CPR_s_errorFunction · 0.85
isQuotedFunction · 0.85
MSC_allocFunction · 0.85
PAR_native_valueFunction · 0.85

Tested by

no test coverage detected