diff options
Diffstat (limited to 'lib/sqlalchemy/sql.py')
-rw-r--r-- | lib/sqlalchemy/sql.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql.py b/lib/sqlalchemy/sql.py index 293880bf3..03c94c5e3 100644 --- a/lib/sqlalchemy/sql.py +++ b/lib/sqlalchemy/sql.py @@ -1430,4 +1430,25 @@ class Delete(UpdateBase): self.whereclause.accept_visitor(visitor) visitor.visit_delete(self) +class IndexImpl(ClauseElement): + + def __init__(self, index): + self.index = index + self.name = index.name + self._engine = self.index.table.engine + + table = property(lambda s: s.index.table) + columns = property(lambda s: s.index.columns) + def hash_key(self): + return self.index.hash_key() + def accept_visitor(self, visitor): + visitor.visit_index(self.index) + def compare(self, other): + return self.index is other + def create(self): + self._engine.create(self.index) + def drop(self): + self._engine.drop(self.index) + def execute(self): + self.create() |