session.py 文件源码

python
阅读 36 收藏 0 点赞 0 评论 0

项目:asyncqlio 作者: SunDwarf 项目源码 文件源码
def run_delete_query(self, query: 'md_query.RowDeleteQuery'):
        """
        Executes a delete query.

        :param query: The :class:`.RowDeleteQuery` or :class:`.BulkDeleteQuery` to execute.
        """
        if isinstance(query, md_query.RowDeleteQuery):
            for row, (sql, params) in zip(query.rows_to_delete, query.generate_sql()):
                if md_inspection._get_mangled(row, "deleted"):
                    raise RuntimeError("Row '{}' is already marked as deleted".format(row))

                if sql is None and params is None:
                    continue

                await self.execute(sql, params)
                md_inspection._set_mangled(row, "deleted", True)
        elif isinstance(query, md_query.BulkDeleteQuery):
            sql, params = query.generate_sql()
            await self.execute(sql, params)
        else:
            raise TypeError("Type {0.__class__.__name__} is not a delete query".format(query))

        return query
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号