Merge pull request #2696 from mdouchin/debug_dbmanager_sqlite_layer_info

[bugfix][DbManager] Fix indexes fetch with sqlite >= v3.8.9 (fix #14110)
This commit is contained in:
Giuseppe Sucameli 2016-01-19 11:33:38 +01:00
commit 472fa9bb08

View File

@ -368,7 +368,14 @@ class SpatiaLiteDBConnector(DBConnector):
indexes = c.fetchall()
for i, idx in enumerate(indexes):
num, name, unique = idx
# sqlite has changed the number of columns returned by index_list since 3.8.9
# I am not using self.getInfo() here because this behaviour
# can be changed back without notice as done for index_info, see:
# http://repo.or.cz/sqlite.git/commit/53555d6da78e52a430b1884b5971fef33e9ccca4
if len(idx) == 3:
num, name, unique = idx
if len(idx) == 5:
num, name, unique, createdby, partial = idx
sql = u"PRAGMA index_info(%s)" % (self.quoteId(name))
self._execute(c, sql)