diff options
| author | Federico Caselli <cfederico87@gmail.com> | 2020-04-13 12:16:21 +0200 |
|---|---|---|
| committer | Federico Caselli <cfederico87@gmail.com> | 2020-06-03 20:53:47 +0200 |
| commit | 8dcf876fe9a06f3360b8d260459cdff050b2aa00 (patch) | |
| tree | ab6a0493ef1c1b7b9d869df3e3b36d9ee557c318 /lib/sqlalchemy/dialects/oracle | |
| parent | 7f0cb933f2b1979a8d781855618b7fd3bf280037 (diff) | |
| download | sqlalchemy-8dcf876fe9a06f3360b8d260459cdff050b2aa00.tar.gz | |
Added reflection method :meth:`.Inspector.get_sequence_names`
Added new reflection method :meth:`.Inspector.get_sequence_names` which
returns all the sequences defined. Support for this method has been added
to the backend that support :class:`.Sequence`: PostgreSql, Oracle,
MSSQL and MariaDB >= 10.3.
Fixes: #2056
Change-Id: I0949696a39aa28c849edf2504779241f7443778a
Diffstat (limited to 'lib/sqlalchemy/dialects/oracle')
| -rw-r--r-- | lib/sqlalchemy/dialects/oracle/base.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py index 481ea7263..5e912a0c2 100644 --- a/lib/sqlalchemy/dialects/oracle/base.py +++ b/lib/sqlalchemy/dialects/oracle/base.py @@ -1635,6 +1635,19 @@ class OracleDialect(default.DefaultDialect): return [self.normalize_name(row[0]) for row in cursor] @reflection.cache + def get_sequence_names(self, connection, schema=None, **kw): + if not schema: + schema = self.default_schema_name + cursor = connection.execute( + sql.text( + "SELECT sequence_name FROM all_sequences " + "WHERE sequence_owner = :schema_name" + ), + schema_name=self.denormalize_name(schema), + ) + return [self.normalize_name(row[0]) for row in cursor] + + @reflection.cache def get_table_options(self, connection, table_name, schema=None, **kw): options = {} |
