Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4188df0

Browse files
committed
fixes for Sybase
1 parent 4d51fa8 commit 4188df0

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

plugins/dbms/sybase/enumeration.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,14 @@ def getColumns(self, onlyColNames=False):
167167

168168
conf.db = safeSQLIdentificatorNaming(conf.db)
169169

170+
if conf.col:
171+
colList = conf.col.split(",")
172+
else:
173+
colList = []
174+
175+
for col in colList:
176+
colList[colList.index(col)] = safeSQLIdentificatorNaming(col)
177+
170178
if conf.tbl:
171179
tblList = conf.tbl.split(",")
172180
else:
@@ -202,6 +210,12 @@ def getColumns(self, onlyColNames=False):
202210

203211
return { conf.db: kb.data.cachedColumns[conf.db]}
204212

213+
if colList:
214+
table = {}
215+
table[unsafeSQLIdentificatorNaming(tbl)] = dict(map(lambda x: (x, None), colList))
216+
kb.data.cachedColumns[unsafeSQLIdentificatorNaming(conf.db)] = table
217+
continue
218+
205219
infoMsg = "fetching columns "
206220
infoMsg += "for table '%s' " % tbl
207221
infoMsg += "on database '%s'" % conf.db
@@ -219,8 +233,8 @@ def getColumns(self, onlyColNames=False):
219233
for name, type_ in zip(retVal[0]["%s.name" % randStr], retVal[0]["%s.usertype" % randStr]):
220234
columns[name] = sybaseTypes.get(type_, type_)
221235

222-
table[tbl] = columns
223-
kb.data.cachedColumns[conf.db] = table
236+
table[unsafeSQLIdentificatorNaming(tbl)] = columns
237+
kb.data.cachedColumns[unsafeSQLIdentificatorNaming(conf.db)] = table
224238

225239
break
226240

xml/queries.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@
524524
<blind/>
525525
</columns>
526526
<dump_table>
527-
<inband query="SELECT %s FROM %s..%s"/>
527+
<inband query="SELECT %s FROM %s.%s"/>
528528
<blind query="SELECT MIN(%s) FROM %s WHERE CONVERT(NVARCHAR(4000),%s)>'%s'" query2="SELECT MAX(%s) FROM %s WHERE CONVERT(NVARCHAR(4000),%s) LIKE '%s'" count="SELECT COUNT(*) FROM %s" count2="SELECT COUNT(*) FROM (SELECT DISTINCT %s FROM %s) AS value_table"/>
529529
</dump_table>
530530
<search_db>

0 commit comments

Comments
 (0)