Skip to content

Commit 472fa9b

Browse files
committed
Merge pull request #2696 from mdouchin/debug_dbmanager_sqlite_layer_info
[bugfix][DbManager] Fix indexes fetch with sqlite >= v3.8.9 (fix #14110)
2 parents 670ded3 + bae8651 commit 472fa9b

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

python/plugins/db_manager/db_plugins/spatialite/connector.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,14 @@ def getTableIndexes(self, table):
368368
indexes = c.fetchall()
369369

370370
for i, idx in enumerate(indexes):
371-
num, name, unique = idx
371+
# sqlite has changed the number of columns returned by index_list since 3.8.9
372+
# I am not using self.getInfo() here because this behaviour
373+
# can be changed back without notice as done for index_info, see:
374+
# http://repo.or.cz/sqlite.git/commit/53555d6da78e52a430b1884b5971fef33e9ccca4
375+
if len(idx) == 3:
376+
num, name, unique = idx
377+
if len(idx) == 5:
378+
num, name, unique, createdby, partial = idx
372379
sql = u"PRAGMA index_info(%s)" % (self.quoteId(name))
373380
self._execute(c, sql)
374381

0 commit comments

Comments
 (0)