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

Skip to content

Commit c25b49e

Browse files
committed
Major bugfix to avoid "IFNULL and CAST" on CASE
1 parent 96db179 commit c25b49e

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

lib/core/agent.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,11 @@ def nullAndCastField(self, field):
184184
@rtype: C{str}
185185
"""
186186

187-
nulledCastedField = queries[kb.dbms].cast % field
188-
nulledCastedField = queries[kb.dbms].isnull % nulledCastedField
187+
if field.startswith("(CASE"):
188+
nulledCastedField = field
189+
else:
190+
nulledCastedField = queries[kb.dbms].cast % field
191+
nulledCastedField = queries[kb.dbms].isnull % nulledCastedField
189192

190193
return nulledCastedField
191194

lib/core/settings.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@
8383
" limit ",
8484
" offset ",
8585
" union all ",
86-
" rownum as ", ),
86+
" rownum as ",
87+
"(case ", ),
8788

8889
"SQL data definition": (
8990
"create ",

0 commit comments

Comments
 (0)