'>>> from lib.core.common import Backend
>>> Backend.setVersion(\'2\')
[\'2\']
>>> Syntax.escape("SELECT \'abcdefgh\' FROM foobar")
"SELECT \'abcdefgh\' FROM foobar"
>>> Backend.setVersion(\'3\')
[\'3\']
>>> Syntax.escape("SELECT \'abcdefgh\' FROM foobar")
"SELECT CAST(X\'6162636465666768\' AS TEXT) FROM foobar"'

@staticmethod
def escape(expression, quote=True):

    def escaper(value):
        return ("CAST(X'%s'    AS    TEXT)" % binascii.hexlify((value.encode(UNICODE_ENCODING) if isinstance(value, unicode) else value)))
    retVal = expression
    if isDBMSVersionAtLeast('3'):
        retVal = Syntax._escape(expression, quote, escaper)
    return retVal
