[ODBC-47] Inconsistent data if blob field fetched in parts with SQLGetData Created: 2016-07-25  Updated: 2016-08-18  Resolved: 2016-08-18

Status: Closed
Project: MariaDB Connector/ODBC
Component/s: None
Affects Version/s: None
Fix Version/s: 2.0.12

Type: Bug Priority: Major
Reporter: Lawrin Novitsky Assignee: Lawrin Novitsky
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Problem/Incident
is caused by CONC-194 mysql_stmt_fetch_column does not resp... Closed

 Description   

ODBC_TEST(t_blob_reading_in_chunks)
{
SQLLEN valueLen;
SQLCHAR value[12];
int i= 0;

OK_SIMPLE_STMT(Stmt, "DROP TABLE IF EXISTS blob_reading");
OK_SIMPLE_STMT(Stmt,
"CREATE TABLE blob_reading (id INT unsigned not null primary key auto_increment, value mediumblob)");

OK_SIMPLE_STMT(Stmt, "INSERT INTO blob_reading(value) VALUES (0x0102030405060708090a0b0c0d0e0f101112131415161718)");

OK_SIMPLE_STMT(Stmt, "SELECT value FROM blob_reading");

CHECK_STMT_RC(Stmt, SQLFetch(Stmt));
EXPECT_STMT(Stmt, SQLGetData(Stmt, 1, SQL_C_BINARY, value, sizeof(value), &valueLen), SQL_SUCCESS_WITH_INFO);
check_sqlstate(Stmt, "01004");

is_num(valueLen, 24);

for (;i < 12; ++i)

{ diag("#%d", i); is_num(value[i], i + 1); }

CHECK_STMT_RC(Stmt, SQLGetData(Stmt, 1, SQL_C_BINARY, value, sizeof(value), &valueLen));
is_num(valueLen, 12);
for (;i < 24; ++i)

{ diag("#%d", i); is_num(value[i - 12], i + 1); }

EXPECT_STMT(Stmt, SQLFetch(Stmt), SQL_NO_DATA);

OK_SIMPLE_STMT(Stmt, "DROP TABLE IF EXISTS blob_reading");

return OK;
}



 Comments   
Comment by Lawrin Novitsky [ 2016-08-18 ]

The Conn/C bug causing this bug, has been fixed

Generated at Thu Feb 08 03:25:50 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.