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

Class DsqlMapNode

src/dsql/ExprNodes.h:1032–1079  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1030
1031
1032class DsqlMapNode final : public TypedNode<ValueExprNode, ExprNode::TYPE_MAP>
1033{
1034public:
1035 DsqlMapNode(MemoryPool& pool, dsql_ctx* aContext, dsql_map* aMap);
1036
1037 virtual Firebird::string internalPrint(NodePrinter& printer) const;
1038 virtual ValueExprNode* dsqlPass(DsqlCompilerScratch* dsqlScratch);
1039
1040 virtual bool dsqlAggregateFinder(AggregateFinder& visitor);
1041 virtual bool dsqlAggregate2Finder(Aggregate2Finder& visitor);
1042 virtual bool dsqlInvalidReferenceFinder(InvalidReferenceFinder& visitor);
1043 virtual bool dsqlSubSelectFinder(SubSelectFinder& visitor);
1044 virtual bool dsqlFieldFinder(FieldFinder& visitor);
1045 virtual ValueExprNode* dsqlFieldRemapper(FieldRemapper& visitor);
1046
1047 virtual void setParameterName(dsql_par* parameter) const;
1048 virtual void genBlr(DsqlCompilerScratch* dsqlScratch);
1049 virtual void make(DsqlCompilerScratch* dsqlScratch, dsc* desc);
1050 virtual bool dsqlMatch(DsqlCompilerScratch* dsqlScratch, const ExprNode* other, bool ignoreMapCast) const;
1051
1052 void setDsqlDesc(const dsc& desc)
1053 {
1054 dsqlDesc = desc;
1055 }
1056
1057 virtual void getDesc(thread_db* /*tdbb*/, CompilerScratch* /*csb*/, dsc* /*desc*/)
1058 {
1059 fb_assert(false);
1060 }
1061
1062 virtual ValueExprNode* copy(thread_db* /*tdbb*/, NodeCopier& /*copier*/) const
1063 {
1064 fb_assert(false);
1065 return NULL;
1066 }
1067
1068 virtual dsc* execute(thread_db* /*tdbb*/, Request* /*request*/) const
1069 {
1070 fb_assert(false);
1071 return NULL;
1072 }
1073
1074public:
1075 dsql_ctx* context;
1076 dsql_map* map;
1077 bool setNullable;
1078 bool clearNull;
1079};
1080
1081
1082class DerivedFieldNode final : public TypedNode<ValueExprNode, ExprNode::TYPE_DERIVED_FIELD>

Callers 3

dsqlPassMethod · 0.70
pass1_unionFunction · 0.70
PASS1_post_mapFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected