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

Function par_over

src/gpre/exp.cpp:1372–1401  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1370//
1371
1372static gpre_nod* par_over( gpre_ctx* context)
1373{
1374 TEXT s[64];
1375
1376 gpre_nod* boolean = NULL;
1377
1378 do {
1379 gpre_nod* field1 = lookup_field(context);
1380 if (!field1)
1381 {
1382 fb_utils::snprintf(s, sizeof(s), "OVER field %s undefined", gpreGlob.token_global.tok_string);
1383 PAR_error(s);
1384 }
1385 gpre_nod* field2 = NULL;
1386 for (gpre_ctx* next = context->ctx_next; next; next = next->ctx_next)
1387 {
1388 if (field2 = lookup_field(next))
1389 break;
1390 }
1391 if (!field2)
1392 {
1393 fb_utils::snprintf(s, sizeof(s), "OVER field %s undefined", gpreGlob.token_global.tok_string);
1394 PAR_error(s);
1395 }
1396 boolean = make_and(boolean, MSC_binary(nod_eq, field1, field2));
1397 PAR_get_token();
1398 } while (MSC_match(KW_COMMA));
1399
1400 return boolean;
1401}
1402
1403
1404//____________________________________________________________

Callers 1

EXP_rseFunction · 0.85

Calls 7

lookup_fieldFunction · 0.85
make_andFunction · 0.85
MSC_binaryFunction · 0.85
PAR_get_tokenFunction · 0.85
MSC_matchFunction · 0.85
PAR_errorFunction · 0.70
snprintfFunction · 0.50

Tested by

no test coverage detected