| 1339 | }; |
| 1340 | |
| 1341 | class LocalTableStream final : public RecordStream |
| 1342 | { |
| 1343 | public: |
| 1344 | LocalTableStream(CompilerScratch* csb, StreamType stream, const DeclareLocalTableNode* table); |
| 1345 | |
| 1346 | void close(thread_db* tdbb) const override; |
| 1347 | |
| 1348 | void getChildren(Firebird::Array<const RecordSource*>& children) const override; |
| 1349 | |
| 1350 | bool refetchRecord(thread_db* tdbb) const override; |
| 1351 | WriteLockResult lockRecord(thread_db* tdbb) const override; |
| 1352 | |
| 1353 | void print(thread_db* tdbb, Firebird::string& plan, |
| 1354 | bool detailed, unsigned level, bool recurse) const override; |
| 1355 | |
| 1356 | protected: |
| 1357 | void internalOpen(thread_db* tdbb) const override; |
| 1358 | bool internalGetRecord(thread_db* tdbb) const override; |
| 1359 | |
| 1360 | private: |
| 1361 | const DeclareLocalTableNode* m_table; |
| 1362 | }; |
| 1363 | |
| 1364 | class Union final : public RecordStream |
| 1365 | { |