Kurt,

Thanks for the reply. Assume my pseudo-calls below do the following:

Open:           calls sqlite3_open
Exec:           calls sqlite3_exec
Query:  calls sqlite3_prepare, sqlite3_step, ..., sqlite3_finalize
Close:  calls sqlite3_close

And check return values of these functions.

I am doing the following:

Open(<path>);
Exec("BEGIN");
Exec("PRAGMA full_column_names;");
Exec("CREATE TABLE A (a_col TEXT, PRIMARY KEY (a_col));")
Exec("CREATE TABLE B (b_col TEXT, a_col TEXT, PRIMARY KEY (b_col));")
Exec("COMMIT");
Exec("SELECT A.*, B.* FROM A, B WHERE A.a_col = B.b_col");

Now these tables are empty, but the column names are still retrievable.

In SQLite 2.8.15, the following names are returned:

A.a_col, B.b_col, B.a_col

In SQLite 3.1.0, regardless of whether either pragma (full_column_names
or short_column_names) is executed at the location above, the following
names are returned:

a_col, b_col, a_col.

I need these to be unique!  Am I missing something?  Are they
compile-time pragmas?

Thanks,
Steve


-----Original Message-----
From: Kurt Welgehausen [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, January 25, 2005 4:19 PM
To: sqlite-users@sqlite.org
Subject: Re: [sqlite] SQLite 3.1.0 Column Names

> PRAGMA full_column_names;
>
> PRAGMA short_column_names;

Did you really set them, or just query them?

<http://www.sqlite.org/pragma.html>:

     PRAGMA full_column_names;
     PRAGMA full_column_names = 0|1;

     Query or change the short-column-names flag. ...

Regards

Reply via email to