@@ -618,11 +618,14 @@ def format_sql(self, sql, params):
618618 return sql
619619
620620 def format_group_by_params (self , query , params ):
621+ # Prepare query for string formatting
622+ query = re .sub (r'%\w+' , '{}' , query )
623+
621624 if params :
622625 # Insert None params directly into the query
623626 if None in params :
624- null_params = ['NULL' if param is None else '%s ' for param in params ]
625- query = query % tuple ( null_params )
627+ null_params = ['NULL' if param is None else '{} ' for param in params ]
628+ query = query . format ( * null_params )
626629 params = tuple (p for p in params if p is not None )
627630 params = [(param , type (param )) for param in params ]
628631 params_dict = {param : '@var%d' % i for i , param in enumerate (set (params ))}
@@ -634,8 +637,7 @@ def format_group_by_params(self, query, params):
634637 datatype = self ._as_sql_type (key [1 ], key [0 ])
635638 variables .append ("%s %s = %%s " % (value , datatype ))
636639 params .append (key [0 ])
637- query = ('DECLARE %s \n ' % ',' .join (variables )) + (query % tuple (args ))
638-
640+ query = ('DECLARE %s \n ' % ',' .join (variables )) + (query .format (* args ))
639641 return query , params
640642
641643 def format_params (self , params ):
0 commit comments