コード例 #1
0
    def test_execute_commit_false(self):
        with TRN:
            sql = """INSERT INTO labcontrol.test_table (str_column, int_column)
                     VALUES (%s, %s) RETURNING str_column, int_column"""
            args = [['insert1', 1], ['insert2', 2], ['insert3', 3]]
            TRN.add(sql, args, many=True)

            obs = TRN.execute()
            exp = [[['insert1', 1]], [['insert2', 2]], [['insert3', 3]]]
            self.assertEqual(obs, exp)

            self._assert_sql_equal([])

            TRN.commit()

            self._assert_sql_equal([('insert1', True, 1), ('insert2', True, 2),
                                    ('insert3', True, 3)])
コード例 #2
0
    def test_context_manager_checker(self):
        with self.assertRaises(RuntimeError):
            TRN.add("SELECT 42")

        with self.assertRaises(RuntimeError):
            TRN.execute()

        with self.assertRaises(RuntimeError):
            TRN.commit()

        with self.assertRaises(RuntimeError):
            TRN.rollback()

        with TRN:
            TRN.add("SELECT 42")

        with self.assertRaises(RuntimeError):
            TRN.execute()
コード例 #3
0
ファイル: 2.py プロジェクト: unique-identifier/labman
        msg = ('labcontrol.library_prep_shotgun_process contains the '
               'constraint name fk_shotgun_library_prep_process_kapa. '
               'Skipping...')
        logging.debug(msg)

    #
    # rename index idx_shotgun_library_prep_process_kappa
    #
    sql = """ALTER INDEX IF EXISTS idx_shotgun_library_prep_process_kappa
             RENAME TO idx_shotgun_library_prep_process_kapa;"""

    logging.debug(sql)
    statements.append(sql)

    #
    # update description string
    #
    sql = """UPDATE labcontrol.reagent_composition_type SET description =
             'KAPA HyperPlus kit' where description =
             'kappa hyper plus kit';"""

    statements.append(sql)

    # slightly inefficient, but TRN.add() does perform checking in addition to
    # appending each SQL statement to its queue.
    for statement in statements:
        TRN.add(statement)

    TRN.execute()
    TRN.commit()