| 1184 | } |
| 1185 | |
| 1186 | static Status is_valid_by_field(const std::shared_ptr<Field>& field) { |
| 1187 | switch (field->type()->id()) { |
| 1188 | case Type::INT8: |
| 1189 | case Type::INT16: |
| 1190 | case Type::INT32: |
| 1191 | case Type::INT64: |
| 1192 | case Type::UINT8: |
| 1193 | case Type::UINT16: |
| 1194 | case Type::UINT32: |
| 1195 | case Type::UINT64: |
| 1196 | case Type::DATE32: |
| 1197 | case Type::DATE64: |
| 1198 | case Type::TIME32: |
| 1199 | case Type::TIME64: |
| 1200 | case Type::TIMESTAMP: |
| 1201 | case Type::STRING: |
| 1202 | case Type::LARGE_STRING: |
| 1203 | case Type::BINARY: |
| 1204 | case Type::LARGE_BINARY: |
| 1205 | return Status::OK(); |
| 1206 | default: |
| 1207 | return Status::Invalid("Unsupported type for by-key ", field->name(), " : ", |
| 1208 | field->type()->ToString()); |
| 1209 | } |
| 1210 | } |
| 1211 | |
| 1212 | static Status is_valid_data_field(const std::shared_ptr<Field>& field) { |
| 1213 | switch (field->type()->id()) { |