| 124 | // Aggregate Sort Block (for DISTINCT aggregates) |
| 125 | |
| 126 | class AggregateSort : protected Firebird::PermanentStorage, public Printable |
| 127 | { |
| 128 | public: |
| 129 | explicit AggregateSort(Firebird::MemoryPool& p) |
| 130 | : PermanentStorage(p), |
| 131 | length(0), |
| 132 | intl(false), |
| 133 | impure(0), |
| 134 | keyItems(p) |
| 135 | { |
| 136 | desc.clear(); |
| 137 | } |
| 138 | |
| 139 | public: |
| 140 | virtual Firebird::string internalPrint(NodePrinter& printer) const |
| 141 | { |
| 142 | return "AggregateSort"; |
| 143 | } |
| 144 | |
| 145 | public: |
| 146 | dsc desc; |
| 147 | ULONG length; |
| 148 | bool intl; |
| 149 | ULONG impure; |
| 150 | Firebird::HalfStaticArray<sort_key_def, 2> keyItems; |
| 151 | }; |
| 152 | |
| 153 | // Inversion (i.e. nod_index) impure area |
| 154 |
no outgoing calls
no test coverage detected