Django

Code

Ticket #6433: postgres_version_fix.diff

File postgres_version_fix.diff, 1.3 kB (added by brettp, 10 months ago)

Patch for postgres version that keeps with previous behaviour on "regular" version numbers and works with beta/RC versions

  • a/django/db/backends/postgresql/operations.py

    old new  
    1212            from django.db import connection 
    1313            cursor = connection.cursor() 
    1414            cursor.execute("SELECT version()") 
    15             self._postgres_version = [int(val) for val in cursor.fetchone()[0].split()[1].split('.')] 
     15            version_parts = cursor.fetchone()[0].split()[1].split('.') 
     16            postgres_version = [] 
     17            for part in version_parts: 
     18                if part.isdigit(): 
     19                    postgres_version.append(int(part)) 
     20                else: 
     21                    digit = "" 
     22                    for c in part: 
     23                        if c.isdigit(): 
     24                            digit += c 
     25                        else: 
     26                            break 
     27                    if digit != "": 
     28                        postgres_version.append(int(digit)) 
     29                    break 
     30            self._postgres_version = postgres_version 
    1631        return self._postgres_version 
    1732    postgres_version = property(_get_postgres_version)