[FIX] orm: allow negative varchar size (meaning no limit) as used in some addons.
authorVo Minh Thu <vmt@openerp.com>
Wed, 5 Oct 2011 10:14:01 +0000 (12:14 +0200)
committerVo Minh Thu <vmt@openerp.com>
Wed, 5 Oct 2011 10:14:01 +0000 (12:14 +0200)
bzr revid: vmt@openerp.com-20111005101401-7jweikyl9ztibe4q

openerp/osv/orm.py

index 3f1bb60..f00e931 100644 (file)
@@ -504,7 +504,8 @@ class browse_record(object):
 def pg_varchar(size=0):
     """ Returns the VARCHAR declaration for the provided size:
 
-    * If no size (or an empty size is provided) return an 'infinite' VARCHAR
+    * If no size (or an empty or negative size is provided) return an
+      'infinite' VARCHAR
     * Otherwise return a VARCHAR(n)
 
     :type int size: varchar size, optional
@@ -514,10 +515,8 @@ def pg_varchar(size=0):
         if not isinstance(size, int):
             raise TypeError("VARCHAR parameter should be an int, got %s"
                             % type(size))
-        if size < 0:
-            raise ValueError("VARCHAR parameter can not be negative, got %d"
-                             % size)
-        return 'VARCHAR(%d)' % size
+        if size > 0:
+            return 'VARCHAR(%d)' % size
     return 'VARCHAR'
 
 FIELDS_TO_PGTYPES = {