Author mpb
Recipients mpb
Date 2013-10-04.20:53:02
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1380919983.53.0.47531466178.issue19167@psf.upfronthosting.co.za>
In-reply-to
Content
On Win32, when I select from an SQLite view, and enclose the column name in double quotes in the select query, the cursor description (erroneously?) contains the double quotes.

On Linux (or on Win32 when selecting from a table rather than a view) the cursor description does not contain the double quotes.  I expect the Linux behavior, not the Win32 behavior.

The following code demonstrates the problem.
----
import sqlite3, sys

print (sys.platform)
print (sys.version)

conn = sqlite3.connect (':memory:')
cur  = conn.cursor ()

cur.execute ('create table Foo ( foo_id integer primary key ) ;')
cur.execute ('create view  Foo_View as select * from Foo ;')

cur.execute ('select foo_id from Foo;')
print (cur.description[0][0])
cur.execute ('select "foo_id" from Foo;')
print (cur.description[0][0])
cur.execute ('select foo_id from Foo_View;')
print (cur.description[0][0])
cur.execute ('select "foo_id" from Foo_View;')
print (cur.description[0][0])
----

Sample output on Linux and Win32.
----
linux
3.3.1 (default, Apr 17 2013, 22:32:14) 
[GCC 4.7.3]
foo_id
foo_id
foo_id
foo_id
----
win32
3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)]
foo_id
foo_id
foo_id
"foo_id"
----

Above, please note the (erroneous?) double quotes around the final foo_id.
History
Date User Action Args
2013-10-04 20:53:03mpbsetrecipients: + mpb
2013-10-04 20:53:03mpbsetmessageid: <1380919983.53.0.47531466178.issue19167@psf.upfronthosting.co.za>
2013-10-04 20:53:03mpblinkissue19167 messages
2013-10-04 20:53:02mpbcreate