Ignore:
Timestamp:
Jan 12, 2016, 8:58:54 PM (4 years ago)
Author:
cito
Message:

Use query parameters instead of inline values

The single row methods of the DB wrapper class created queries with inline values
instead of passing them separately as parameters, even though our query method
does have this capability. Using query parameters also spares us a lot of quoting
and escaping that is necessary when passing values inline.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/test_classic.py

    r729 r730  
    193193
    194194        r = db.get('_test_schema', 1234)
     195        self.assertIn('dvar', r)
    195196        db.update('_test_schema', _test=1234, dvar=456)
    196197        r = db.get('_test_schema', 1234)
     
    201202        r = db.get('_test_schema', 1234)
    202203        self.assertEqual(r['dvar'], 456)
    203 
    204     def test_quote(self):
    205         db = opendb()
    206         q = db._quote
    207         self.assertEqual(q(0, 'int'), "0")
    208         self.assertEqual(q(0, 'num'), "0")
    209         self.assertEqual(q('0', 'int'), "0")
    210         self.assertEqual(q('0', 'num'), "0")
    211         self.assertEqual(q(1, 'int'), "1")
    212         self.assertEqual(q(1, 'text'), "'1'")
    213         self.assertEqual(q(1, 'num'), "1")
    214         self.assertEqual(q('1', 'int'), "1")
    215         self.assertEqual(q('1', 'text'), "'1'")
    216         self.assertEqual(q('1', 'num'), "1")
    217         self.assertEqual(q(None, 'int'), "NULL")
    218         self.assertEqual(q(1, 'money'), "1")
    219         self.assertEqual(q('1', 'money'), "1")
    220         self.assertEqual(q(1.234, 'money'), "1.234")
    221         self.assertEqual(q('1.234', 'money'), "1.234")
    222         self.assertEqual(q(0, 'money'), "0")
    223         self.assertEqual(q(0.00, 'money'), "0.0")
    224         self.assertEqual(q(Decimal('0.00'), 'money'), "0.00")
    225         self.assertEqual(q(None, 'money'), "NULL")
    226         self.assertEqual(q('', 'money'), "NULL")
    227         self.assertEqual(q(0, 'bool'), "'f'")
    228         self.assertEqual(q('', 'bool'), "NULL")
    229         self.assertEqual(q('f', 'bool'), "'f'")
    230         self.assertEqual(q('off', 'bool'), "'f'")
    231         self.assertEqual(q('no', 'bool'), "'f'")
    232         self.assertEqual(q(1, 'bool'), "'t'")
    233         self.assertEqual(q(9999, 'bool'), "'t'")
    234         self.assertEqual(q(-9999, 'bool'), "'t'")
    235         self.assertEqual(q('1', 'bool'), "'t'")
    236         self.assertEqual(q('t', 'bool'), "'t'")
    237         self.assertEqual(q('on', 'bool'), "'t'")
    238         self.assertEqual(q('yes', 'bool'), "'t'")
    239         self.assertEqual(q('true', 'bool'), "'t'")
    240         self.assertEqual(q('y', 'bool'), "'t'")
    241         self.assertEqual(q('', 'date'), "NULL")
    242         self.assertEqual(q(False, 'date'), "NULL")
    243         self.assertEqual(q(0, 'date'), "NULL")
    244         self.assertEqual(q('some_date', 'date'), "'some_date'")
    245         self.assertEqual(q('current_timestamp', 'date'), "current_timestamp")
    246         self.assertEqual(q('', 'text'), "''")
    247         self.assertEqual(q("'", 'text'), "''''")
    248         self.assertEqual(q("\\", 'text'), "'\\\\'")
    249204
    250205    def notify_callback(self, arg_dict):
Note: See TracChangeset for help on using the changeset viewer.