| 977 | |
| 978 | |
| 979 | class DsqlAliasNode final : public TypedNode<ValueExprNode, ExprNode::TYPE_ALIAS> |
| 980 | { |
| 981 | public: |
| 982 | DsqlAliasNode(MemoryPool& pool, const MetaName& aName, ValueExprNode* aValue) |
| 983 | : TypedNode<ValueExprNode, ExprNode::TYPE_ALIAS>(pool), |
| 984 | name(aName), |
| 985 | value(aValue), |
| 986 | implicitJoin(NULL) |
| 987 | { |
| 988 | } |
| 989 | |
| 990 | virtual void getChildren(NodeRefsHolder& holder, bool dsql) const |
| 991 | { |
| 992 | ValueExprNode::getChildren(holder, dsql); |
| 993 | holder.add(value); |
| 994 | } |
| 995 | |
| 996 | virtual Firebird::string internalPrint(NodePrinter& printer) const; |
| 997 | virtual ValueExprNode* dsqlPass(DsqlCompilerScratch* dsqlScratch); |
| 998 | |
| 999 | virtual void setParameterName(dsql_par* parameter) const; |
| 1000 | virtual void genBlr(DsqlCompilerScratch* dsqlScratch); |
| 1001 | virtual void make(DsqlCompilerScratch* dsqlScratch, dsc* desc); |
| 1002 | |
| 1003 | void setDsqlDesc(const dsc& desc) |
| 1004 | { |
| 1005 | dsqlDesc = desc; |
| 1006 | } |
| 1007 | |
| 1008 | virtual void getDesc(thread_db* /*tdbb*/, CompilerScratch* /*csb*/, dsc* /*desc*/) |
| 1009 | { |
| 1010 | fb_assert(false); |
| 1011 | } |
| 1012 | |
| 1013 | virtual ValueExprNode* copy(thread_db* /*tdbb*/, NodeCopier& /*copier*/) const |
| 1014 | { |
| 1015 | fb_assert(false); |
| 1016 | return NULL; |
| 1017 | } |
| 1018 | |
| 1019 | virtual dsc* execute(thread_db* /*tdbb*/, Request* /*request*/) const |
| 1020 | { |
| 1021 | fb_assert(false); |
| 1022 | return NULL; |
| 1023 | } |
| 1024 | |
| 1025 | public: |
| 1026 | const MetaName name; |
| 1027 | NestConst<ValueExprNode> value; |
| 1028 | NestConst<ImplicitJoin> implicitJoin; |
| 1029 | }; |
| 1030 | |
| 1031 | |
| 1032 | class DsqlMapNode final : public TypedNode<ValueExprNode, ExprNode::TYPE_MAP> |
no outgoing calls
no test coverage detected