Bug #28820 | Varchar Field length is reported as larger than actual | ||
---|---|---|---|
Submitted: | 31 May 2007 22:51 | Modified: | 1 Feb 2008 23:26 |
Reporter: | Jess Balint | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Connector / ODBC | Severity: | S3 (Non-critical) |
Version: | 5.1 alpha | OS: | Any |
Assigned to: | Jim Winstead | CPU Architecture: | Any |
[31 May 2007 22:51]
Jess Balint
[1 Jun 2007 17:40]
Tonci Grgin
Verified as described with attached test case: Connecting to myodbc1 COLUMN_NAME -> VCfld COLUMN_TYPE -> 12 COLUMN_LENGTH -> 75 SQL_DESC_BASE_COLUMN_NAME -> VCfld SQL_DESC_LABEL -> VCfld SQL_DESC_TYPE_NAME -> varchar SQL_DESC_DISPLAY_SIZE -> 75 SQL_DESC_LENGTH -> 75 SQL_DESC_OCTET_LENGTH -> 75 C:\mysql507\bin>mysql -uroot -T test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.0.38-log Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create table testbug28820( VCfld VARCHAR(25)) default charset utf8; Query OK, 0 rows affected (0.09 sec)
[1 Jun 2007 17:41]
Tonci Grgin
Related to Bug#27862.
[1 Jun 2007 17:42]
Tonci Grgin
Modified test case to show the problem
Attachment: Bug27862.cpp (text/x-c++), 6.30 KiB.
[8 Aug 2007 5:42]
Martina Jindrů
I got equal resul fort CHAR field and ODBC driver 5.0.12 In table has field length 10 but ODBC driver return 30. drop table XXT003I; create table XXT003I (XX000 Integer, XX001 CHAR(10) ) ENGINE=INNODB DEFAULT CHARSET=cp1250; INSERT INTO XXT003I (XX000,XX001) VALUES (1,'ěščřž'); Full ODBC trace log: [url]http://disk.jabbim.cz/gorila@dione.zcu.cz/ODBC%205.00%20return%20for%20CHAR%20field%20trip...] config 2dc-180 EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS) HSTMT 020D1BB0 UWORD 1 UCHAR * 0x0012F3A4 [ 5] "XX001" SWORD 255 SWORD * 0x0012F11A (5) SWORD * 0x01C49544 (1) SQLULEN * 0x01C4954C (30) SWORD * 0x01C49550 (0) SWORD * 0x0012F112 (1)
[1 Feb 2008 23:26]
Jim Winstead
The fix for Bug #32161 actually cleared this up, because fields in a character set different from that of the connection's "ANSI" character set are identified as SQL_WVARCHAR columns.