From 60df7421f6ebc9f309ba05cbc20ca13b60411e22 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Thu, 29 Apr 2010 01:22:50 +0000 Subject: [PATCH] Fixed #13441 -- Enforced a maximum identifier length of 63 for PostgreSQL. Thanks to aball for the report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13044 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/backends/postgresql/operations.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/django/db/backends/postgresql/operations.py b/django/db/backends/postgresql/operations.py index f51743646d..2951c33db9 100644 --- a/django/db/backends/postgresql/operations.py +++ b/django/db/backends/postgresql/operations.py @@ -163,3 +163,17 @@ class DatabaseOperations(BaseDatabaseOperations): if self.postgres_version[0:2] == (8,2): if self.postgres_version[2] is None or self.postgres_version[2] <= 4: raise NotImplementedError('PostgreSQL 8.2 to 8.2.4 is known to have a faulty implementation of %s. Please upgrade your version of PostgreSQL.' % aggregate.sql_function) + + def max_name_length(self): + """ + Returns the maximum length of an identifier. + + Note that the maximum length of an identifier is 63 by default, but can + be changed by recompiling PostgreSQL after editing the NAMEDATALEN + macro in src/include/pg_config_manual.h . + + This implementation simply returns 63, but can easily be overridden by a + custom database backend that inherits most of its behavior from this one. + """ + + return 63