Hello,

I need a simple clarification:

drivers/sqlite/dbd_sqlite.c

  837   else if (strstr(curr_type, "CHAR") /* this is a 1-byte value */
  838      || strstr(curr_type, "TINYINT")
  839      || strstr(curr_type, "INT1")) {
  840     type = FIELD_TYPE_TINY;
  841   }

drivers/sqlite3/dbd_sqlite3.c

else if (strstr(curr_type, "CHAR") /* this is a 1-byte value */
 1093      || strstr(curr_type, "TINYINT")
 1094      || strstr(curr_type, "INT1")) {
 1095     type = FIELD_TYPE_TINY;
 1096   }


But http://sqlite.org/datatypes.html and http://sqlite.org/datatype3.html says:

"The search for these strings in the type declaration is case
insensitive, of course. If any of the above strings occur anywhere in
the type declaration, then the datatype of the column is text. Notice
that the type "VARCHAR" contains "CHAR" as a substring so it is
considered text."

"If the datatype of the column contains any of the strings "CHAR",
"CLOB", or "TEXT" then that column has TEXT affinity. Notice that the
type VARCHAR contains the string "CHAR" and is thus assigned TEXT
affinity."

I think the sqlite and sqlite3 drivers must treat CHAR as TEXT not
INTEGER (TINY).

It's right?

Thanks.

-- 
-----------------------------------------------------------
João Henrique Freitas - joaohf_at_gmail.com
Campinas-SP-Brasil
BSD051283
LPI 1
http://www.joaohfreitas.eti.br
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
libdbi-users mailing list
libdbi-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libdbi-users

Reply via email to