[Vertica][Support] (50270) Setting a buffer that has not been fully used, or setting it with an inva
I'm seeing terrible performance via the vertica ODBC driver (64bit linux using unixODBC driver manager). So I set LogLevel to 7 in my vertica.ini file, which revealed a lot of the following error message: Aug 23 11:43:35 TRACE -134412352 StatementStateCursor::SQLGetData: +++++ enter +++++ Aug 23 11:43:35 ERROR -134412352 Statement::SQLGetData: [Vertica][Support] (50270) Setting a buffer that has not been fully used, or setting it with an invalid buffer. I'm using the Qt 5.1 qsql_odbc plugin. Adn stepping into that plugin I can see the error is occurring at the SQLGetData() mehtod (as indicated in the vertica log). For reference here is the qsql_odbc.cpp code that's making the call. I don't see anything here that seems relevant to the error. I suspect the error is caused by a sequence of events that happens outside this function. But here it is anyway: static QString qGetStringData(SQLHANDLE hStmt, int column, int colSize, bool unicode = false) { QString fieldVal; SQLRETURN r = SQL_ERROR; SQLLEN lengthIndicator = 0; // NB! colSize must be a multiple of 2 for unicode enabled DBs if (colSize <= 0) { colSize = 256; } else if (colSize > 65536) { // limit buffer size to 64 KB colSize = 65536; } else { colSize++; // make sure there is room for more than the 0 termination } if(unicode) { r = SQLGetData(hStmt, column+1, SQL_C_TCHAR, NULL, 0, &lengthIndicator); ... Can anyone give me some idea what might be causing this error? The queries seem to be working, but performance is terrible. Thanks, STC
Sign up
Already have an account? Login
Welcome to the Rocket Forum!
Please log in or register:
Employee Login | Registration Member Login | RegistrationEnter your E-mail address. We'll send you an e-mail with instructions to reset your password.