MCPcopy Create free account
hub / github.com/apache/arrow / GetHeaderField

Method GetHeaderField

cpp/src/arrow/flight/sql/odbc/odbc_impl/odbc_descriptor.cc:251–289  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

249}
250
251void ODBCDescriptor::GetHeaderField(SQLSMALLINT field_identifier, SQLPOINTER value,
252 SQLINTEGER buffer_length,
253 SQLINTEGER* output_length) const {
254 switch (field_identifier) {
255 case SQL_DESC_ALLOC_TYPE: {
256 SQLSMALLINT result;
257 if (owning_connection_) {
258 result = SQL_DESC_ALLOC_USER;
259 } else {
260 result = SQL_DESC_ALLOC_AUTO;
261 }
262 GetAttribute(result, value, buffer_length, output_length);
263 break;
264 }
265 case SQL_DESC_ARRAY_SIZE:
266 GetAttribute(array_size_, value, buffer_length, output_length);
267 break;
268 case SQL_DESC_ARRAY_STATUS_PTR:
269 GetAttribute(array_status_ptr_, value, buffer_length, output_length);
270 break;
271 case SQL_DESC_BIND_OFFSET_PTR:
272 GetAttribute(bind_offset_ptr_, value, buffer_length, output_length);
273 break;
274 case SQL_DESC_BIND_TYPE:
275 GetAttribute(bind_type_, value, buffer_length, output_length);
276 break;
277 case SQL_DESC_ROWS_PROCESSED_PTR:
278 GetAttribute(rows_processed_ptr_, value, buffer_length, output_length);
279 break;
280 case SQL_DESC_COUNT: {
281 // highest_one_based_bound_record_ equals number of records + 1
282 GetAttribute(static_cast<SQLSMALLINT>(highest_one_based_bound_record_ - 1), value,
283 buffer_length, output_length);
284 break;
285 }
286 default:
287 throw DriverException("Invalid descriptor field", "HY091");
288 }
289}
290
291void ODBCDescriptor::GetField(SQLSMALLINT record_number, SQLSMALLINT field_identifier,
292 SQLPOINTER value, SQLINTEGER buffer_length,

Callers 1

GetStmtAttrMethod · 0.80

Calls 2

GetAttributeFunction · 0.85
DriverExceptionClass · 0.85

Tested by

no test coverage detected