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