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

Class VariableNode

src/dsql/ExprNodes.h:2250–2289  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2248
2249
2250class VariableNode final : public TypedNode<ValueExprNode, ExprNode::TYPE_VARIABLE>
2251{
2252public:
2253 explicit VariableNode(MemoryPool& pool);
2254
2255 static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp);
2256
2257 virtual Firebird::string internalPrint(NodePrinter& printer) const;
2258 virtual ValueExprNode* dsqlPass(DsqlCompilerScratch* dsqlScratch);
2259 virtual void setParameterName(dsql_par* parameter) const;
2260 virtual void genBlr(DsqlCompilerScratch* dsqlScratch);
2261 virtual void make(DsqlCompilerScratch* dsqlScratch, dsc* desc);
2262 virtual bool dsqlMatch(DsqlCompilerScratch* dsqlScratch, const ExprNode* other, bool ignoreMapCast) const;
2263
2264 void setDsqlDesc(const dsc& desc)
2265 {
2266 dsqlDesc = desc;
2267 }
2268
2269 Request* getVarRequest(Request* request) const;
2270
2271 virtual bool deterministic() const
2272 {
2273 return false;
2274 }
2275
2276 virtual void getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc);
2277 virtual ValueExprNode* copy(thread_db* tdbb, NodeCopier& copier) const;
2278 virtual ValueExprNode* pass1(thread_db* tdbb, CompilerScratch* csb);
2279 virtual ValueExprNode* pass2(thread_db* tdbb, CompilerScratch* csb);
2280 virtual dsc* execute(thread_db* tdbb, Request* request) const;
2281
2282public:
2283 MetaName dsqlName;
2284 NestConst<dsql_var> dsqlVar;
2285 NestConst<DeclareVariableNode> varDecl;
2286 NestConst<ItemInfo> varInfo;
2287 USHORT varId = 0;
2288 bool outerDecl = false;
2289};
2290
2291
2292} // namespace

Callers 6

dsqlPassMethod · 0.70
parseMethod · 0.70
copyMethod · 0.70
genBlrMethod · 0.70
dsqlPassHiddenVariableFunction · 0.70
setupComputedFieldsMethod · 0.50

Calls

no outgoing calls

Tested by

no test coverage detected