Opened 13 years ago

Closed 13 years ago

#730 closed defect (fixed)

GenericRdbms: cannot select from column with non-ASCII7 name

Reported by: brentrobinson Owned by: brentrobinson
Priority: major Milestone: 3.6.0
Component: FDO API Version: 3.6.0
Severity: 2 Keywords: locale non-ASCII7 column name
Cc: External ID:

Description

Steps:

  • Create an MS Access database with one table that has a column with an accented (non-ASCII7) character in the name
  • add some rows to the table.
  • Write an FDO API application that does the following:
    • Sets locale to the current one for the machine (setlocale(""))
    • Connects to the database via the ODBC provider
    • creates an FdoISelect on the class for the table.
    • executes the select
    • from the resultant reader, do a ReadNext()
    • try to retrieve the value for the column with accented character.

An exception is throw with message "Column -1 not found"

Change History (1)

comment:1 by brentrobinson, 13 years ago

Resolution: fixed
Status: newclosed

Revision: 5835 Author: brentrobinson Date: 2:56:01 PM, Friday, November 26, 2010 Message: Ticket#730: Modified the FdoRDBMS packages to store column names in wide char, instead of UTF8, format.There are some places where case-insensitive comparisons are done for column names. These comparisons do not work when corresponding characters in the names to compare are:

  • not ASCII7
  • differ in case only

Modified : /trunk/Providers/GenericRdbms/Src/Fdo/FeatureCommands/FdoRdbmsFeatureReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/Fdo/FeatureCommands/FdoRdbmsFeatureReader.h Modified : /trunk/Providers/GenericRdbms/Src/Fdo/Other/FdoRdbmsSQLDataReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/Fdo/Schema/FdoRdbmsSchemaUtil.cpp Modified : /trunk/Providers/GenericRdbms/Src/Fdo/Schema/FdoRdbmsSchemaUtil.h Modified : /trunk/Providers/GenericRdbms/Src/Gdbi/GdbiQueryResult.cpp Modified : /trunk/Providers/GenericRdbms/Src/Gdbi/GdbiTypes.h

Note: See TracTickets for help on using tickets.