Skip to content

Commit e8988f5

Browse files
committed
fixed date column table error and cleaned up filter statements
1 parent 6d3a280 commit e8988f5

4 files changed

Lines changed: 14 additions & 8 deletions

File tree

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 0.1.2
2+
current_version = 0.1.3
33
commit = True
44
tag = True
55

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
test_suite='tests',
4444
tests_require=test_requirements,
4545
url='https://github.com/joyhe208/pkg_sqltranslate',
46-
version='0.1.2',
46+
version='0.1.3',
4747
zip_safe=False,
4848
license='MIT',
49-
download_url='https://github.com/joyhe208/pkg_sqltranslate/archive/refs/tags/0.1.2.tar.gz'
49+
download_url='https://github.com/joyhe208/pkg_sqltranslate/archive/refs/tags/0.1.3.tar.gz'
5050
)

sqltranslate/DatabaseInfo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,6 @@ def getRowClassifierColumns(self,tables):
7878
return list(map(lambda table: table+"."+ self.tables[table].getRowClassifier().upper(),tables))
7979

8080
def getDateTimeColumns(self,tables):
81-
return list(map(lambda table: table+ "."+ self.tables[table].getDateCol().upper(),[t for t in self.tables if t in self.temporalDataTables]))
81+
return list(map(lambda table: table+ "."+ self.tables[table].getDateCol().upper(),[t for t in self.tables if t in self.temporalDataTables and t in tables]))
8282

8383

sqltranslate/sqltranslate.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,12 @@ def __init__(self,databaseInfo,params):
2525
if(currFilt['type']=='range'):
2626
self.filters.append(("(" + self.selectedColumns[i] + " BETWEEN " + "\"" + currFilt['values'][0] + "\" AND " + "\"" + currFilt['values'][1] + "\")") if isinstance(currFilt['values'][0],str) else self.filters.append("(" + self.selectedColumns[i] + " BETWEEN " + str(currFilt['values'][0]) + " AND " + str(currFilt['values'][1]) + ")"))
2727
else:
28-
self.filters.extend(list(map(lambda filt: "(" + selectedColumns[i] + "=" + "\"" + filt + "\")", currFilt['values']))) if isinstance(currFilt['values'][0],str) else self.filters.extend(list(map(lambda filt: "(" + self.selectedColumns[i] + "=" + str(filt) + ")", currFilt['values'])))
29-
28+
#self.filters.extend(list(map(lambda filt: "(" + selectedColumns[i] + "=" + "\"" + filt + "\")", currFilt['values']))) if isinstance(currFilt['values'][0],str) else self.filters.extend(list(map(lambda filt: "(" + self.selectedColumns[i] + "=" + str(filt) + ")", currFilt['values'])))
29+
if(isinstance(currFilt['values'][0],str)):
30+
self.filters.append("(" + self.selectedColumns[i] + " IN (" + ', '.join(list(map(lambda filt: '\"' + filt + '\"',currFilt['values']))) + "))")
31+
else:
32+
self.filters.append("(" + self.selectedColumns[i] + " IN (" + ', '.join(str(val) for val in currFilt['values']) + "))")
33+
3034
def select(self):
3135
return "SELECT " + ', '.join(list(set(self.selectedColumns)))
3236

@@ -71,7 +75,9 @@ def __init__(self,databaseInfo,params):
7175
self.selectedColumns = list(map(lambda i: self.aggregate[i].upper() + "(" + self.selectedColumns[i] + ")" if self.aggregate[i]!=None else self.selectedColumns[i],[i for i in range(len(self.selectedColumns))]))
7276

7377
def groupBy(self):
74-
return "GROUP BY " + ", ".join(list(set(self.groupByCols) ))
78+
if(len(self.params['aggregate'])):
79+
return "GROUP BY " + ", ".join(list(set(self.groupByCols)))
80+
return ""
7581

7682
def command(self):
7783
return '\n'.join(string for string in [super().command(), self.groupBy()] if len(string))
@@ -110,7 +116,7 @@ def groupBy(self):
110116
self.groupByCols.extend(["MONTH("+dateCol+")","YEAR("+dateCol+")"])
111117
elif(self.aggregateBy=='year'):
112118
self.groupByCols.append("YEAR("+dateCol+")")
113-
else:
119+
elif(len(self.params['aggregate'])):
114120
self.groupByCols.append(dateCol)
115121
return super().groupBy()
116122

0 commit comments

Comments
 (0)