当前位置: 首页>>代码示例>>Python>>正文


Python extensions.ISQLQuote方法代码示例

本文整理汇总了Python中psycopg2.extensions.ISQLQuote方法的典型用法代码示例。如果您正苦于以下问题:Python extensions.ISQLQuote方法的具体用法?Python extensions.ISQLQuote怎么用?Python extensions.ISQLQuote使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在psycopg2.extensions的用法示例。


在下文中一共展示了extensions.ISQLQuote方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_none_fast_path

# 需要导入模块: from psycopg2 import extensions [as 别名]
# 或者: from psycopg2.extensions import ISQLQuote [as 别名]
def test_none_fast_path(self):
        # the None adapter is not actually invoked in regular adaptation

        class WonkyAdapter(object):
            def __init__(self, obj): pass
            def getquoted(self): return "NOPE!"

        curs = self.conn.cursor()

        orig_adapter = ext.adapters[type(None), ext.ISQLQuote]
        try:
            ext.register_adapter(type(None), WonkyAdapter)
            self.assertEqual(ext.adapt(None).getquoted(), "NOPE!")

            s = curs.mogrify("SELECT %s;", (None,))
            self.assertEqual(b("SELECT NULL;"), s)

        finally:
            ext.register_adapter(type(None), orig_adapter) 
开发者ID:synthetichealth,项目名称:syntheticmass,代码行数:21,代码来源:test_types_extras.py

示例2: __conform__

# 需要导入模块: from psycopg2 import extensions [as 别名]
# 或者: from psycopg2.extensions import ISQLQuote [as 别名]
def __conform__(self, proto):
        # Does the given protocol conform to what Psycopg2 expects?
        if proto == ISQLQuote:
            return self
        else:
            raise Exception('Error implementing psycopg2 protocol. Is psycopg2 installed?') 
开发者ID:lanbing510,项目名称:GTDWeb,代码行数:8,代码来源:adapter.py

示例3: __conform__

# 需要导入模块: from psycopg2 import extensions [as 别名]
# 或者: from psycopg2.extensions import ISQLQuote [as 别名]
def __conform__(self, proto):
        if proto is _ext.ISQLQuote:
            return self 
开发者ID:tryolabs,项目名称:aws-workshop,代码行数:5,代码来源:extras.py

示例4: __conform__

# 需要导入模块: from psycopg2 import extensions [as 别名]
# 或者: from psycopg2.extensions import ISQLQuote [as 别名]
def __conform__(self, proto):
        if self._proto is ISQLQuote:
            return self 
开发者ID:tryolabs,项目名称:aws-workshop,代码行数:5,代码来源:_range.py

示例5: test_adapt_fail

# 需要导入模块: from psycopg2 import extensions [as 别名]
# 或者: from psycopg2.extensions import ISQLQuote [as 别名]
def test_adapt_fail(self):
        class Foo(object): pass
        self.assertRaises(psycopg2.ProgrammingError,
            psycopg2.extensions.adapt, Foo(), ext.ISQLQuote, None)
        try:
            psycopg2.extensions.adapt(Foo(), ext.ISQLQuote, None)
        except psycopg2.ProgrammingError, err:
            self.failUnless(str(err) == "can't adapt type 'Foo'") 
开发者ID:synthetichealth,项目名称:syntheticmass,代码行数:10,代码来源:test_types_extras.py

示例6: test_register_on_dict

# 需要导入模块: from psycopg2 import extensions [as 别名]
# 或者: from psycopg2.extensions import ISQLQuote [as 别名]
def test_register_on_dict(self):
        from psycopg2.extras import Json
        psycopg2.extensions.register_adapter(dict, Json)

        try:
            curs = self.conn.cursor()
            obj = {'a': 123}
            self.assertEqual(curs.mogrify("%s", (obj,)),
                b("""'{"a": 123}'"""))
        finally:
           del psycopg2.extensions.adapters[dict, ext.ISQLQuote] 
开发者ID:synthetichealth,项目名称:syntheticmass,代码行数:13,代码来源:test_types_extras.py

示例7: test_register_range_adapter

# 需要导入模块: from psycopg2 import extensions [as 别名]
# 或者: from psycopg2.extensions import ISQLQuote [as 别名]
def test_register_range_adapter(self):
        from psycopg2.extras import Range, register_range
        cur = self.conn.cursor()
        cur.execute("create type textrange as range (subtype=text)")
        rc = register_range('textrange', 'TextRange', cur)

        TextRange = rc.range
        self.assert_(issubclass(TextRange, Range))
        self.assertEqual(TextRange.__name__, 'TextRange')

        r = TextRange('a', 'b', '(]')
        cur.execute("select %s", (r,))
        r1 = cur.fetchone()[0]
        self.assertEqual(r1.lower, 'a')
        self.assertEqual(r1.upper, 'b')
        self.assert_(not r1.lower_inc)
        self.assert_(r1.upper_inc)

        cur.execute("select %s", ([r,r,r],))
        rs = cur.fetchone()[0]
        self.assertEqual(len(rs), 3)
        for r1 in rs:
            self.assertEqual(r1.lower, 'a')
            self.assertEqual(r1.upper, 'b')
            self.assert_(not r1.lower_inc)
            self.assert_(r1.upper_inc)

        # clear the adapters to allow precise count by scripts/refcounter.py
        del ext.adapters[rc.range, ext.ISQLQuote] 
开发者ID:synthetichealth,项目名称:syntheticmass,代码行数:31,代码来源:test_types_extras.py

示例8: test_conform_accepts_ISQLQuote

# 需要导入模块: from psycopg2 import extensions [as 别名]
# 或者: from psycopg2.extensions import ISQLQuote [as 别名]
def test_conform_accepts_ISQLQuote(self):
        mac = MAC(factory.make_mac_address())
        self.assertEqual(mac, mac.__conform__(ISQLQuote)) 
开发者ID:maas,项目名称:maas,代码行数:5,代码来源:test_fields.py

示例9: test_range_escaping

# 需要导入模块: from psycopg2 import extensions [as 别名]
# 或者: from psycopg2.extensions import ISQLQuote [as 别名]
def test_range_escaping(self):
        from psycopg2.extras import register_range
        cur = self.conn.cursor()
        cur.execute("create type textrange as range (subtype=text)")
        rc = register_range('textrange', 'TextRange', cur)

        TextRange = rc.range
        cur.execute("""
            create table rangetest (
                id integer primary key,
                range textrange)""")

        bounds = [ '[)', '(]', '()', '[]' ]
        ranges = [ TextRange(low, up, bounds[i % 4])
            for i, (low, up) in enumerate(zip(
                [None] + map(chr, range(1, 128)),
                map(chr, range(1,128)) + [None],
                ))]
        ranges.append(TextRange())
        ranges.append(TextRange(empty=True))

        errs = 0
        for i, r in enumerate(ranges):
            # not all the ranges make sense:
            # fun fact: select ascii('#') < ascii('$'), '#' < '$'
            # yelds... t, f! At least in en_GB.UTF-8 collation.
            # which seems suggesting a supremacy of the pound on the dollar.
            # So some of these ranges will fail to insert. Be prepared but...
            try:
                cur.execute("""
                    savepoint x;
                    insert into rangetest (id, range) values (%s, %s);
                    """, (i, r))
            except psycopg2.DataError:
                errs += 1
                cur.execute("rollback to savepoint x;")

        # ...not too many errors! in the above collate there are 17 errors:
        # assume in other collates we won't find more than 30
        self.assert_(errs < 30,
            "too many collate errors. Is the test working?")

        cur.execute("select id, range from rangetest order by id")
        for i, r in cur:
            self.assertEqual(ranges[i].lower, r.lower)
            self.assertEqual(ranges[i].upper, r.upper)
            self.assertEqual(ranges[i].lower_inc, r.lower_inc)
            self.assertEqual(ranges[i].upper_inc, r.upper_inc)
            self.assertEqual(ranges[i].lower_inf, r.lower_inf)
            self.assertEqual(ranges[i].upper_inf, r.upper_inf)

        # clear the adapters to allow precise count by scripts/refcounter.py
        del ext.adapters[TextRange, ext.ISQLQuote] 
开发者ID:synthetichealth,项目名称:syntheticmass,代码行数:55,代码来源:test_types_extras.py


注:本文中的psycopg2.extensions.ISQLQuote方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。