| 233 | } |
| 234 | |
| 235 | std::shared_ptr<ResultSet> FlightSqlStatement::GetColumns_V3( |
| 236 | const std::string* catalog_name, const std::string* schema_name, |
| 237 | const std::string* table_name, const std::string* column_name) { |
| 238 | ClosePreparedStatementIfAny(prepared_statement_, call_options_); |
| 239 | |
| 240 | Result<std::shared_ptr<FlightInfo>> result = sql_client_.GetTables( |
| 241 | call_options_, catalog_name, schema_name, table_name, true, nullptr); |
| 242 | ThrowIfNotOK(result.status()); |
| 243 | |
| 244 | auto flight_info = result.ValueOrDie(); |
| 245 | |
| 246 | auto transformer = std::make_shared<GetColumns_Transformer>( |
| 247 | metadata_settings_, OdbcVersion::V_3, column_name); |
| 248 | |
| 249 | current_result_set_ = std::make_shared<FlightSqlResultSet>( |
| 250 | sql_client_, client_options_, call_options_, flight_info, transformer, diagnostics_, |
| 251 | metadata_settings_); |
| 252 | |
| 253 | return current_result_set_; |
| 254 | } |
| 255 | |
| 256 | std::shared_ptr<ResultSet> FlightSqlStatement::GetTypeInfo_V2(int16_t data_type) { |
| 257 | ClosePreparedStatementIfAny(prepared_statement_, call_options_); |