def executeSQL(self, cursor, qStr, params=None, paramList=False):
        """
        This takes the query string and parameters and (depending on the
        SQL implementation) either fill in the parameter in-place or pass
        it on to the Python DB impl (if it supports this). The default
        (here) is to fill the parameters in-place surrounding each param
        with quote characters
        """
        # print("SQLGenerator", qStr,params)
        if not params:
            cursor.execute(unicode(qStr))
        elif paramList:
            raise Exception("Not supported!")
        else:
            params = tuple([not isinstance(item,int) and u"'%s'" % item or item
                                for item in params])
            querystr = unicode(qStr).replace('"',"'")
            cursor.execute(params%querystr)

    # FIXME:  This *may* prove to be a performance bottleneck and should
    # perhaps be implemented in C (as it was in 4Suite RDF)
dataset/ETHPy150Open RDFLib/rdfextras/rdfextras/store/AbstractSQLStore.py/SQLGenerator.executeSQL/swapped operands of `%`