| 522 | |
| 523 | |
| 524 | class CurrentUserNode final : public TypedNode<ValueExprNode, ExprNode::TYPE_CURRENT_USER> |
| 525 | { |
| 526 | public: |
| 527 | explicit CurrentUserNode(MemoryPool& pool) |
| 528 | : TypedNode<ValueExprNode, ExprNode::TYPE_CURRENT_USER>(pool) |
| 529 | { |
| 530 | } |
| 531 | |
| 532 | static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp); |
| 533 | |
| 534 | virtual Firebird::string internalPrint(NodePrinter& printer) const; |
| 535 | virtual ValueExprNode* dsqlPass(DsqlCompilerScratch* dsqlScratch); |
| 536 | virtual void setParameterName(dsql_par* parameter) const; |
| 537 | virtual void genBlr(DsqlCompilerScratch* dsqlScratch); |
| 538 | virtual void make(DsqlCompilerScratch* dsqlScratch, dsc* desc); |
| 539 | |
| 540 | virtual void getDesc(thread_db* tdbb, CompilerScratch* csb, dsc* desc); |
| 541 | virtual ValueExprNode* copy(thread_db* tdbb, NodeCopier& copier) const; |
| 542 | virtual ValueExprNode* pass2(thread_db* tdbb, CompilerScratch* csb); |
| 543 | virtual dsc* execute(thread_db* tdbb, Request* request) const; |
| 544 | }; |
| 545 | |
| 546 | |
| 547 | class DecodeNode final : public TypedNode<ValueExprNode, ExprNode::TYPE_DECODE> |