| 996 | } |
| 997 | |
| 998 | SQLRETURN SQLGetStmtAttr(SQLHSTMT stmt, SQLINTEGER attribute, SQLPOINTER value_ptr, |
| 999 | SQLINTEGER buffer_length, SQLINTEGER* string_length_ptr) { |
| 1000 | ARROW_LOG(DEBUG) << "SQLGetStmtAttrW called with stmt: " << stmt |
| 1001 | << ", attribute: " << attribute << ", value_ptr: " << value_ptr |
| 1002 | << ", buffer_length: " << buffer_length << ", string_length_ptr: " |
| 1003 | << static_cast<const void*>(string_length_ptr); |
| 1004 | |
| 1005 | using ODBC::ODBCStatement; |
| 1006 | |
| 1007 | return ODBCStatement::ExecuteWithDiagnostics(stmt, SQL_ERROR, [=]() { |
| 1008 | ODBCStatement* statement = reinterpret_cast<ODBCStatement*>(stmt); |
| 1009 | |
| 1010 | bool is_unicode = true; |
| 1011 | |
| 1012 | statement->GetStmtAttr(attribute, value_ptr, buffer_length, string_length_ptr, |
| 1013 | is_unicode); |
| 1014 | |
| 1015 | return SQL_SUCCESS; |
| 1016 | }); |
| 1017 | } |
| 1018 | |
| 1019 | SQLRETURN SQLSetStmtAttr(SQLHSTMT stmt, SQLINTEGER attribute, SQLPOINTER value_ptr, |
| 1020 | SQLINTEGER string_length) { |