Commits

Mike Bayer  committed eb58107

- Fixed bug where index reflection would mis-interpret indkey values
when using the pypostgresql adapter, which returns these values
as lists vs. psycopg2's return type of string.
[ticket:2855]

Conflicts:
doc/build/changelog/changelog_09.rst
lib/sqlalchemy/__init__.py

  • Participants
  • Parent commits 64e32bd
  • Branches rel_0_8

Comments (0)

Files changed (3)

File doc/build/changelog/changelog_08.rst

     .. include:: changelog_07.rst
 
 .. changelog::
+    :version: 0.8.4
+
+    .. change::
+        :tags: bug, postgresql
+        :tickets: 2855
+        :versions: 0.9.0b2
+
+        Fixed bug where index reflection would mis-interpret indkey values
+        when using the pypostgresql adapter, which returns these values
+        as lists vs. psycopg2's return type of string.
+
+.. changelog::
     :version: 0.8.3
     :released: October 26, 2013
 

File lib/sqlalchemy/__init__.py

 __all__ = sorted(name for name, obj in locals().items()
                  if not (name.startswith('_') or _inspect.ismodule(obj)))
 
-__version__ = '0.8.3'
+__version__ = '0.8.4'
 
 del _inspect, sys
 

File lib/sqlalchemy/dialects/postgresql/base.py

         table_oid = self.get_table_oid(connection, table_name, schema,
                                        info_cache=kw.get('info_cache'))
 
+        # cast indkey as varchar since it's an int2vector,
+        # returned as a list by some drivers such as pypostgresql
+
         IDX_SQL = """
           SELECT
               i.relname as relname,
               ix.indisunique, ix.indexprs, ix.indpred,
-              a.attname, a.attnum, ix.indkey
+              a.attname, a.attnum, ix.indkey::varchar
           FROM
               pg_class t
                     join pg_index ix on t.oid = ix.indrelid