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

Function SQE_value

src/gpre/sqe.cpp:1174–1217  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1172//
1173
1174gpre_nod* SQE_value(gpre_req* request, bool aster_ok, USHORT* paren_count, bool* bool_flag)
1175{
1176 USHORT local_count;
1177 bool local_flag;
1178
1179 assert_IS_REQ(request);
1180
1181 if (!paren_count)
1182 {
1183 local_count = 0;
1184 paren_count = &local_count;
1185 }
1186 if (!bool_flag)
1187 {
1188 local_flag = false;
1189 bool_flag = &local_flag;
1190 }
1191
1192 MSC_match(KW_PLUS);
1193 gpre_nod* node = par_multiply(request, aster_ok, paren_count, bool_flag);
1194 assert_IS_NOD(node);
1195 if (node->nod_type == nod_asterisk)
1196 {
1197 par_terminating_parens(paren_count, &local_count);
1198 return node;
1199 }
1200
1201 nod_t nod_type;
1202 while (true)
1203 {
1204 if (MSC_match(KW_PLUS))
1205 nod_type = nod_plus;
1206 else if (MSC_match(KW_MINUS))
1207 nod_type = nod_minus;
1208 else if (MSC_match(KW_OR1))
1209 nod_type = nod_concatenate;
1210 else
1211 {
1212 par_terminating_parens(paren_count, &local_count);
1213 return node;
1214 }
1215 node = MSC_binary(nod_type, node, par_multiply(request, false, paren_count, bool_flag));
1216 }
1217}
1218
1219
1220//____________________________________________________________

Callers 12

par_arrayFunction · 0.85
par_computedFunction · 0.85
SQE_value_or_nullFunction · 0.85
implicit_anyFunction · 0.85
par_nullifFunction · 0.85
par_orderFunction · 0.85
par_primitive_valueFunction · 0.85
par_relationalFunction · 0.85
par_selectFunction · 0.85
par_statFunction · 0.85
par_substringFunction · 0.85
par_udfFunction · 0.85

Calls 4

MSC_matchFunction · 0.85
par_terminating_parensFunction · 0.85
MSC_binaryFunction · 0.85
par_multiplyFunction · 0.70

Tested by

no test coverage detected