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

Function IsValidStringFieldArgs

cpp/src/arrow/flight/sql/odbc/odbc_api.cc:302–314  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

300#endif // __APPLE__
301
302inline bool IsValidStringFieldArgs(SQLPOINTER diag_info_ptr, SQLSMALLINT buffer_length,
303 SQLSMALLINT* string_length_ptr, bool is_unicode) {
304 const SQLSMALLINT char_size = is_unicode ? GetSqlWCharSize() : sizeof(char);
305 const bool has_valid_buffer =
306 buffer_length == SQL_NTS || (buffer_length >= 0 && buffer_length % char_size == 0);
307
308 // regardless of capacity return false if invalid
309 if (diag_info_ptr && !has_valid_buffer) {
310 return false;
311 }
312
313 return has_valid_buffer || string_length_ptr;
314}
315
316SQLRETURN SQLGetDiagField(SQLSMALLINT handle_type, SQLHANDLE handle,
317 SQLSMALLINT rec_number, SQLSMALLINT diag_identifier,

Callers 1

SQLGetDiagFieldFunction · 0.85

Calls 1

GetSqlWCharSizeFunction · 0.85

Tested by

no test coverage detected