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

Function par_native_value

src/gpre/exp.cpp:1305–1339  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1303//
1304
1305static gpre_nod* par_native_value( gpre_req* request, gpre_fld* field)
1306{
1307 TEXT s[64];
1308
1309 // Special case literals
1310
1311 if (gpreGlob.token_global.tok_type == tok_number ||
1312 gpreGlob.token_global.tok_type == tok_sglquoted ||
1313 (gpreGlob.token_global.tok_type == tok_dblquoted && gpreGlob.sw_sql_dialect == 1))
1314 {
1315 gpre_nod* anode = EXP_literal();
1316 return anode;
1317 }
1318
1319 ref* reference = (ref*) MSC_alloc(REF_LEN);
1320 gpre_nod* node = MSC_unary(nod_value, (gpre_nod*) reference);
1321
1322 // Handle general native value references. Since these values will need
1323 // to be exported to the database system, make sure there is a reference
1324 // field.
1325
1326 reference->ref_value = PAR_native_value(false, false);
1327
1328 if (!field)
1329 {
1330 sprintf(s, "no reference field for %s", reference->ref_value);
1331 PAR_error(s);
1332 }
1333
1334 reference->ref_next = request->req_values;
1335 request->req_values = reference;
1336 reference->ref_field = field;
1337
1338 return node;
1339}
1340
1341
1342//____________________________________________________________

Callers 1

par_primitive_valueFunction · 0.85

Calls 5

EXP_literalFunction · 0.85
MSC_allocFunction · 0.85
MSC_unaryFunction · 0.85
PAR_native_valueFunction · 0.85
PAR_errorFunction · 0.70

Tested by

no test coverage detected