| 1912 | |
| 1913 | |
| 1914 | class TruncateLocalTableNode final : public TypedNode<StmtNode, StmtNode::TYPE_TRUNCATE_LOCAL_TABLE> |
| 1915 | { |
| 1916 | public: |
| 1917 | explicit TruncateLocalTableNode(MemoryPool& pool) |
| 1918 | : TypedNode<StmtNode, StmtNode::TYPE_TRUNCATE_LOCAL_TABLE>(pool) |
| 1919 | { |
| 1920 | } |
| 1921 | |
| 1922 | public: |
| 1923 | static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp); |
| 1924 | |
| 1925 | Firebird::string internalPrint(NodePrinter& printer) const override; |
| 1926 | |
| 1927 | TruncateLocalTableNode* dsqlPass(DsqlCompilerScratch* dsqlScratch) override |
| 1928 | { |
| 1929 | return this; |
| 1930 | } |
| 1931 | |
| 1932 | void genBlr(DsqlCompilerScratch* dsqlScratch) override; |
| 1933 | TruncateLocalTableNode* copy(thread_db* tdbb, NodeCopier& copier) const override; |
| 1934 | |
| 1935 | TruncateLocalTableNode* pass1(thread_db* tdbb, CompilerScratch* csb) override |
| 1936 | { |
| 1937 | return this; |
| 1938 | } |
| 1939 | |
| 1940 | TruncateLocalTableNode* pass2(thread_db* tdbb, CompilerScratch* csb) override |
| 1941 | { |
| 1942 | return this; |
| 1943 | } |
| 1944 | |
| 1945 | const StmtNode* execute(thread_db* tdbb, Request* request, ExeState* exeState) const override; |
| 1946 | |
| 1947 | public: |
| 1948 | USHORT tableNumber = 0; |
| 1949 | }; |
| 1950 | |
| 1951 | |
| 1952 | class UpdateOrInsertNode final : public TypedNode<DsqlOnlyStmtNode, StmtNode::TYPE_UPDATE_OR_INSERT> |