"Iulian Popescu" <[EMAIL PROTECTED]> writes:

> I'm doing an application port from Windows to Linux and one of the
> problems I'm facing is when executing the following statement through a call
> to sqlite3_exec():
>
> SELECT mytable.'mycolumn' FROM table
>
> The registered callback function 4th argument (a char**) denoting the column
> names contains the string mytable.'mycolumn' on Windows and the string
> mycolumn on Linux. Has anyone any idea why would that be?

I suspect you're using different versions of sqlite on Windows and Linux, or
you have pragma settings set differently on the two OSs.  You can verify the
version of sqlite with "sqlite3 -version".

There have been changes, through the development of sqlite, on what column
names to return.  IIRC, the meanings of

  PRAGMA short_column_names
and
  PRAGMA full_column_names

have changed a couple of times, and these affect exactly the information that
you're having trouble with.

You should first ensure that you are running the same version of sqlite on the
to OSs.  Then ensure that the settings of these two pragmas are the same.
With both the version and the pragma settings the same, I believe you should
get the same values passed to the callback function, given the same query.
Windows and Linux portations built from the same source, so should generate
similar results.

Derrell

Reply via email to