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

Skip to content

Commit 55a552d

Browse files
committed
Update for an Issue #24
1 parent 614f465 commit 55a552d

3 files changed

Lines changed: 23 additions & 22 deletions

File tree

lib/core/agent.py

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -444,19 +444,9 @@ def getFields(self, query):
444444

445445
return fieldsSelectFrom, fieldsSelect, fieldsNoSelect, fieldsSelectTop, fieldsSelectCase, fieldsToCastList, fieldsToCastStr, fieldsExists
446446

447-
def simpleConcatQuery(self, query1, query2):
448-
concatenatedQuery = ""
449-
450-
if Backend.isDbms(DBMS.MYSQL):
451-
concatenatedQuery = "CONCAT(%s,%s)" % (query1, query2)
452-
453-
elif Backend.getIdentifiedDbms() in (DBMS.PGSQL, DBMS.ORACLE, DBMS.SQLITE, DBMS.DB2):
454-
concatenatedQuery = "%s||%s" % (query1, query2)
455-
456-
elif Backend.getIdentifiedDbms() in (DBMS.MSSQL, DBMS.SYBASE):
457-
concatenatedQuery = "%s+%s" % (query1, query2)
458-
459-
return concatenatedQuery
447+
def simpleConcatenate(self, first, second):
448+
rootQuery = queries[Backend.getIdentifiedDbms()]
449+
return rootQuery.concatenate.query % (first, second)
460450

461451
def concatQuery(self, query, unpack=True):
462452
"""

plugins/generic/filesystem.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def fileToSqlQueries(self, fcEncodedList):
9797
if counter == 0:
9898
sqlQueries.append("INSERT INTO %s(%s) VALUES (%s)" % (self.fileTblName, self.tblField, fcEncodedLine))
9999
else:
100-
updatedField = agent.simpleConcatQuery(self.tblField, fcEncodedLine)
100+
updatedField = agent.simpleConcatenate(self.tblField, fcEncodedLine)
101101
sqlQueries.append("UPDATE %s SET %s=%s" % (self.fileTblName, self.tblField, updatedField))
102102

103103
counter += 1

xml/queries.xml

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
* http://dev.mysql.com/doc/refman/5.1/en/miscellaneous-functions.html#function_sleep
2323
-->
2424
<substring query="MID((%s),%d,%d)"/>
25+
<concatenate query="CONCAT(%s,%s)"/>
2526
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
2627
<hex query="HEX(%s)"/>
2728
<inference query="ORD(MID((%s),%d,1)) > %d"/>
@@ -95,6 +96,7 @@
9596
* http://www.postgresql.org/docs/8.3/interactive/functions-datetime.html#FUNCTIONS-DATETIME-DELAY
9697
-->
9798
<substring query="SUBSTR((%s)::text,%d,%d)"/>
99+
<concatenate query="%s||%s"/>
98100
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
99101
<hex query="ENCODE(CONVERT_TO((%s),'UTF8'),'HEX')"/>
100102
<inference query="ASCII(SUBSTR((%s)::text,%d,1)) > %d"/>
@@ -162,6 +164,7 @@
162164
<count query="COUNT(%s)"/>
163165
<comment query="--" query2="/*"/>
164166
<substring query="SUBSTRING((%s),%d,%d)"/>
167+
<concatenate query="%s+%s"/>
165168
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
166169
<hex query="master.sys.fn_varbintohexstr(CAST(%s AS VARBINARY(MAX)))"/>
167170
<inference query="UNICODE(SUBSTRING((%s),%d,1)) > %d"/>
@@ -227,6 +230,7 @@
227230
<count query="COUNT(%s)"/>
228231
<comment query="--"/>
229232
<substring query="SUBSTRC((%s),%d,%d)"/>
233+
<concatenate query="%s||%s"/>
230234
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
231235
<hex query="RAWTOHEX(%s)"/>
232236
<inference query="ASCII(SUBSTRC((%s),%d,1)) > %d"/>
@@ -315,6 +319,7 @@
315319
<count query="COUNT(%s)"/>
316320
<comment query="--" query2="/*"/>
317321
<substring query="SUBSTR((%s),%d,%d)"/>
322+
<concatenate query="%s||%s"/>
318323
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
319324
<hex query="HEX(%s)"/>
320325
<inference query="SUBSTR((%s),%d,1) > '%c'"/>
@@ -361,6 +366,7 @@
361366
<count query="COUNT(%s)"/>
362367
<comment query="%00"/>
363368
<substring query="MID((%s),%d,%d)"/>
369+
<concatenate query="%s&amp;%s"/>
364370
<case query="SELECT (IIF(%s,1,0))"/>
365371
<banner/>
366372
<!--CURRENTUSER() is not available outside the MS Access query tool itself-->
@@ -403,6 +409,7 @@
403409
<comment query="--"/>
404410
<count query="COUNT(%s)"/>
405411
<substring query="SUBSTRING((%s) FROM %d FOR %d)"/>
412+
<concatenate query="%s||%s"/>
406413
<case query="SELECT IIF(%s,1,0)"/>
407414
<banner query="SELECT RDB$GET_CONTEXT('SYSTEM','ENGINE_VERSION') FROM RDB$DATABASE" dbms_version="&gt;=2.1"/>
408415
<current_user query="SELECT CURRENT_USER FROM RDB$DATABASE"/>
@@ -447,21 +454,23 @@
447454
<!-- SAP MaxDB -->
448455
<dbms value="SAP MaxDB">
449456
<length query="LENGTH(%s)"/>
450-
<banner query="SELECT ID FROM SYSINFO.VERSION"/>
451457
<isnull query="VALUE(%s,' ')" query2="IFNULL(%s,' ')"/>
452-
<comment query="--" query2="#"/>
453-
<count query="COUNT(%s)"/>
458+
<delimiter query=","/>
454459
<!-- No real cast on SAP MaxDB -->
455460
<cast query="REPLACE(CHR(%s),' ','_')"/>
456-
<current_user query="SELECT USER() FROM DUAL"/>
457-
<current_db query="SELECT DATABASE() FROM DUAL"/>
458-
<hostname/>
459461
<order query="ORDER BY %s ASC"/>
462+
<count query="COUNT(%s)"/>
463+
<comment query="--" query2="#"/>
464+
<substring query="SUBSTR((%s),%d,%d)"/>
465+
<concatenate query="CONCAT(%s,%s)"/>
460466
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
461467
<hex query="HEX(%s)"/>
462468
<inference query="SUBSTR((%s),%d,1) > '%c'"/>
463-
<delimiter query=","/>
464-
<substring query="SUBSTR((%s),%d,%d)"/>
469+
<banner query="SELECT ID FROM SYSINFO.VERSION"/>
470+
<current_user query="SELECT USER() FROM DUAL"/>
471+
<current_db query="SELECT DATABASE() FROM DUAL"/>
472+
<hostname/>
473+
<is_dba/>
465474
<users>
466475
<inband query="SELECT username FROM domain.users"/>
467476
<blind query="SELECT MIN(username) FROM domain.users WHERE username>'%s'" count="SELECT CHR(COUNT(*)) FROM domain.users"/>
@@ -503,6 +512,7 @@
503512
<count query="COUNT(%s)"/>
504513
<comment query="--" query2="/*"/>
505514
<substring query="SUBSTRING((%s),%d,%d)"/>
515+
<concatenate query="%s+%s"/>
506516
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
507517
<hex query="BINTOSTR(CONVERT(VARBINARY,%s))"/>
508518
<inference query="ASCII(SUBSTRING((%s),%d,1)) > %d"/>
@@ -571,6 +581,7 @@
571581
<comment query="--"/>
572582
<!-- TODO -->
573583
<substring query="SUBSTR((%s),%d,%d)"/>
584+
<concatenate query="%s||%s"/>
574585
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END) FROM SYSIBM.SYSDUMMY1"/>
575586
<hex query="HEX(%s)"/>
576587
<inference query="SUBSTR((%s),%d,1) > '%c'"/>

0 commit comments

Comments
 (0)