def query(self, sql_string, *args, **kwargs):
commit = None<EOL>columns = None<EOL>if kwargs.get('<STR_LIT>') is not None:<EOL><INDENT>commit = kwargs.pop('<STR_LIT>')<EOL><DEDENT>if kwargs.get('<STR_LIT>') is not None:<EOL><INDENT>columns = kwargs.pop('<STR_LIT>')<EOL><DEDENT>query = self._assemble_simple(sql_string, *args, **kwargs)<EOL>return self._execute(query, commit=commit, working_columns=columns)<EOL>
Execute a DML query 

:sql_string:    An SQL string template
:*args:         Arguments to be passed for query parameters.
:commit:        Whether or not to commit the transaction after the query
:returns:       Psycopg2 result