diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-07-08 02:00:53 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-07-08 02:00:53 +0000 |
commit | dc77f6230460ee9947685fb67add3e4e29d6b933 (patch) | |
tree | b3d0d09da399a0de88b668abe62a6d67d32766e3 /lib/sqlalchemy/sql.py | |
parent | d9870575fdf8732fbe38b58fb5740d4f2a48d57c (diff) | |
download | sqlalchemy-dc77f6230460ee9947685fb67add3e4e29d6b933.tar.gz |
Diffstat (limited to 'lib/sqlalchemy/sql.py')
-rw-r--r-- | lib/sqlalchemy/sql.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql.py b/lib/sqlalchemy/sql.py index 7bd934064..5a5a92225 100644 --- a/lib/sqlalchemy/sql.py +++ b/lib/sqlalchemy/sql.py @@ -46,6 +46,9 @@ def insert(table, values = None, **params): def update(table, whereclause = None, values = None, **params): return Update(table, whereclause, values, **params) +def delete(table, whereclause = None, **params): + return Delete(table, whereclause, **params) + def and_(*clauses): return _compound_clause('AND', *clauses) @@ -377,6 +380,9 @@ class TableImpl(Selectable): def update(self, whereclause = None, parameters = None): return update(self.table, whereclause, parameters) + + def delete(self, whereclause = None): + return delete(self.table, whereclause) columns = property(lambda self: self.table.columns) @@ -592,4 +598,17 @@ class Update(UpdateBase): visitor.visit_update(self) +class Delete(UpdateBase): + def __init__(self, table, whereclause, **params): + self.table = table + self.whereclause = whereclause + + self.engine = self.table._engine() + + + def accept_visitor(self, visitor): + if self.whereclause is not None: + self.whereclause.accept_visitor(visitor) + + visitor.visit_delete(self) |