@@ -622,7 +622,13 @@ def getColumns(self, onlyColNames=False, colTuple=None, bruteForce=None, dumpMod
622622 index += 1
623623
624624 if Backend .isDbms (DBMS .SQLITE ):
625- parseSqliteTableSchema (unArrayizeValue (values ))
625+ if dumpMode and colList :
626+ if conf .db not in kb .data .cachedColumns :
627+ kb .data .cachedColumns [conf .db ] = {}
628+ kb .data .cachedColumns [conf .db ][safeSQLIdentificatorNaming (conf .tbl , True )] = dict ((_ ,None ) for _ in colList )
629+ else :
630+ parseSqliteTableSchema (unArrayizeValue (values ))
631+
626632 elif not isNoneValue (values ):
627633 table = {}
628634 columns = {}
@@ -718,9 +724,15 @@ def getColumns(self, onlyColNames=False, colTuple=None, bruteForce=None, dumpMod
718724 query += condQuery
719725
720726 elif Backend .isDbms (DBMS .SQLITE ):
721- query = rootQuery .blind .query % unsafeSQLIdentificatorNaming (tbl )
722- value = unArrayizeValue (inject .getValue (query , union = False , error = False ))
723- parseSqliteTableSchema (value )
727+ if dumpMode and colList :
728+ if conf .db not in kb .data .cachedColumns :
729+ kb .data .cachedColumns [conf .db ] = {}
730+ kb .data .cachedColumns [conf .db ][safeSQLIdentificatorNaming (conf .tbl , True )] = dict ((_ ,None ) for _ in colList )
731+ else :
732+ query = rootQuery .blind .query % unsafeSQLIdentificatorNaming (tbl )
733+ value = unArrayizeValue (inject .getValue (query , union = False , error = False ))
734+ parseSqliteTableSchema (unArrayizeValue (value ))
735+
724736 return kb .data .cachedColumns
725737
726738 table = {}
0 commit comments