[issue32083] sqlite3 Cursor.description can't return column types

Katsuhiko YOSHIDA report at bugs.python.org
Mon Nov 20 08:08:43 EST 2017


New submission from Katsuhiko YOSHIDA <claddvd at gmail.com>:

My schema of sqlite3 table is the following.

--- schema check start ---
% sqlite3 sample.db
SQLite version 3.16.0 2016-11-04 19:09:39
Enter ".help" for usage hints.
sqlite> PRAGMA table_info(Employees);
0|EmployeeID|int|1||1
1|LastName|varchar(20)|1||0
2|FirstName|varchar(10)|1||0

(ommiting)

sqlite>
--- schema check end ---

Then, I tried to output column types by calling Cursor.description. Like this.

--- sample code start ---
import sqlite3

con = sqlite3.connect("sample.db", detect_types=sqlite3.PARSE_DECLTYPES)
cursor = con.cursor()
cursor.execute("select LastName, FirstName from Employees limit 1;")
print cursor.description
cursor.close()
con.close()
--- sample code end ---

The output is the following.

(('LastName', None, None, None, None, None, None), ('FirstName', None, None, None, None, None, None))

When changing detect_types parameter to

detect_types=sqlite3.PARSE_DECLTYPES|sqlite3.PARSE_COLNAMES

the result is same.

I expect to output a column type in second element. Could you tell me why?

----------
components: Library (Lib)
messages: 306539
nosy: kyoshidajp
priority: normal
severity: normal
status: open
title: sqlite3 Cursor.description can't return column types
type: behavior
versions: Python 2.7, Python 3.6

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue32083>
_______________________________________


More information about the Python-bugs-list mailing list