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

Class RecSourceListNode

src/dsql/Nodes.h:1358–1408  ·  view source on GitHub ↗

Container for a list of record source expressions.

Source from the content-addressed store, hash-verified

1356
1357// Container for a list of record source expressions.
1358class RecSourceListNode : public TypedNode<ListExprNode, ExprNode::TYPE_REC_SOURCE_LIST>
1359{
1360public:
1361 RecSourceListNode(MemoryPool& pool, unsigned count);
1362 RecSourceListNode(MemoryPool& pool, RecordSourceNode* arg1);
1363
1364 RecSourceListNode* add(RecordSourceNode* argn)
1365 {
1366 items.add(argn);
1367 return this;
1368 }
1369
1370 virtual void getChildren(NodeRefsHolder& holder, bool dsql) const
1371 {
1372 ListExprNode::getChildren(holder, dsql);
1373
1374 for (auto& item : items)
1375 holder.add(item);
1376 }
1377
1378 virtual Firebird::string internalPrint(NodePrinter& printer) const;
1379
1380 virtual RecSourceListNode* dsqlPass(DsqlCompilerScratch* dsqlScratch);
1381
1382 virtual RecSourceListNode* dsqlFieldRemapper(FieldRemapper& visitor)
1383 {
1384 ExprNode::dsqlFieldRemapper(visitor);
1385 return this;
1386 }
1387
1388 virtual RecSourceListNode* pass1(thread_db* tdbb, CompilerScratch* csb)
1389 {
1390 ExprNode::pass1(tdbb, csb);
1391 return this;
1392 }
1393
1394 virtual RecSourceListNode* pass2(thread_db* tdbb, CompilerScratch* csb)
1395 {
1396 ExprNode::pass2(tdbb, csb);
1397 return this;
1398 }
1399
1400 virtual RecSourceListNode* copy(thread_db* tdbb, NodeCopier& copier) const
1401 {
1402 fb_assert(false);
1403 return NULL;
1404 }
1405
1406public:
1407 Firebird::Array<NestConst<RecordSourceNode> > items;
1408};
1409
1410
1411class StmtNode : public DmlNode

Callers 9

pass1RecursiveCteMethod · 0.70
pass1RseIsRecursiveMethod · 0.70
PASS1_derived_tableFunction · 0.70
pass1_rse_implFunction · 0.70
pass1_unionFunction · 0.70
createRseNodeMethod · 0.70
dsqlPassMethod · 0.70
internalDsqlPassMethod · 0.70
dsqlPassCursorReferenceFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected