summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine
diff options
context:
space:
mode:
authorDiana Clarke <diana.joan.clarke@gmail.com>2012-04-02 21:07:37 -0400
committerDiana Clarke <diana.joan.clarke@gmail.com>2012-04-02 21:07:37 -0400
commit3cbe90efbebd38c570a137d2801753e3aa55823b (patch)
treeffdde3e783fc511d9f71c24afa69038b9177413d /lib/sqlalchemy/engine
parent47a799ecd5d03b78e5d67918302c0da2950d27b8 (diff)
downloadsqlalchemy-3cbe90efbebd38c570a137d2801753e3aa55823b.tar.gz
deprecate inspector.get_primary_keys() in favor of inspector.get_pk_constraint()
- see #2422
Diffstat (limited to 'lib/sqlalchemy/engine')
-rw-r--r--lib/sqlalchemy/engine/base.py17
-rw-r--r--lib/sqlalchemy/engine/default.py11
-rw-r--r--lib/sqlalchemy/engine/reflection.py14
3 files changed, 12 insertions, 30 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py
index 1f28501f7..10ce6d819 100644
--- a/lib/sqlalchemy/engine/base.py
+++ b/lib/sqlalchemy/engine/base.py
@@ -259,22 +259,13 @@ class Dialect(object):
raise NotImplementedError()
- def get_primary_keys(self, connection, table_name, schema=None, **kw):
- """Return information about primary keys in `table_name`.
-
- Given a :class:`.Connection`, a string
- `table_name`, and an optional string `schema`, return primary
- key information as a list of column names.
-
- """
- raise NotImplementedError()
-
- def get_pk_constraint(self, table_name, schema=None, **kw):
+ def get_pk_constraint(self, connection, table_name, schema=None, **kw):
"""Return information about the primary key constraint on
table_name`.
- Given a string `table_name`, and an optional string `schema`, return
- primary key information as a dictionary with these keys:
+ Given a :class:`.Connection`, a string
+ `table_name`, and an optional string `schema`, return primary
+ key information as a dictionary with these keys:
constrained_columns
a list of column names that make up the primary key
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py
index d0cbe871f..cbf33dcaf 100644
--- a/lib/sqlalchemy/engine/default.py
+++ b/lib/sqlalchemy/engine/default.py
@@ -263,17 +263,6 @@ class DefaultDialect(base.Dialect):
insp = reflection.Inspector.from_engine(connection)
return insp.reflecttable(table, include_columns, exclude_columns)
- def get_pk_constraint(self, conn, table_name, schema=None, **kw):
- """Compatibility method, adapts the result of get_primary_keys()
- for those dialects which don't implement get_pk_constraint().
-
- """
- return {
- 'constrained_columns':
- self.get_primary_keys(conn, table_name,
- schema=schema, **kw)
- }
-
def validate_identifier(self, ident):
if len(ident) > self.max_identifier_length:
raise exc.IdentifierError(
diff --git a/lib/sqlalchemy/engine/reflection.py b/lib/sqlalchemy/engine/reflection.py
index 71d97e65f..f94e9ee16 100644
--- a/lib/sqlalchemy/engine/reflection.py
+++ b/lib/sqlalchemy/engine/reflection.py
@@ -26,10 +26,11 @@ methods such as get_table_names, get_columns, etc.
import sqlalchemy
from sqlalchemy import exc, sql
+from sqlalchemy import schema as sa_schema
from sqlalchemy import util
-from sqlalchemy.util import topological
from sqlalchemy.types import TypeEngine
-from sqlalchemy import schema as sa_schema
+from sqlalchemy.util import deprecated
+from sqlalchemy.util import topological
@util.decorator
@@ -228,6 +229,8 @@ class Inspector(object):
col_def['type'] = coltype()
return col_defs
+ @deprecated('0.7', 'Call to deprecated method get_primary_keys.'
+ ' Use get_pk_constraint instead.')
def get_primary_keys(self, table_name, schema=None, **kw):
"""Return information about primary keys in `table_name`.
@@ -235,10 +238,9 @@ class Inspector(object):
primary key information as a list of column names.
"""
- pkeys = self.dialect.get_primary_keys(self.bind, table_name, schema,
- info_cache=self.info_cache,
- **kw)
-
+ pkeys = self.dialect.get_pk_constraint(self.bind, table_name, schema,
+ info_cache=self.info_cache,
+ **kw)['constrained_columns']
return pkeys
def get_pk_constraint(self, table_name, schema=None, **kw):