Subject | [fdb] ValueError: Value of parameter (0) is too long |
---|---|
Author | Maximiliano Robaina |
Post date | 2012-09-27T15:57:40Z |
Hi,
Running the next sql, I get an ValueError exception:
cur.execute('SELECT "DJANGO_SESSION"."SESSION_KEY", "DJANGO_SESSION"."SESSION_DATA", "DJANGO_SESSION"."EXPIRE_DATE" FROM "DJANGO_SESSION" WHERE "DJANGO_SESSION"."SESSION_KEY" = ?', ('1234567890123456789012345678901234567890',))
The "DJANGO_SESSION"."SESSION_KEY" is defined as VARCHAR(40), then if I try to execute a sql with a value for
SESSION_KEY bigger than 40, fdb raise an exception
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/fdb/fbcore.py", line 2233, in execute
self._ps._execute(parameters)
File "/usr/local/lib/python2.7/dist-packages/fdb/fbcore.py", line 2070, in _execute
self.__Tuple2XSQLDA(self.in_sqlda, parameters)
File "/usr/local/lib/python2.7/dist-packages/fdb/fbcore.py", line 1887, in __Tuple2XSQLDA
len(value)))
ValueError: Value of parameter (0) is too long, expected 40, found 1240
If I execute the same sql in FlameRobin it works fine, without error. Of course it returns a empty record because there isn't one record with this value.
How fdb work in this sense?
Running the next sql, I get an ValueError exception:
cur.execute('SELECT "DJANGO_SESSION"."SESSION_KEY", "DJANGO_SESSION"."SESSION_DATA", "DJANGO_SESSION"."EXPIRE_DATE" FROM "DJANGO_SESSION" WHERE "DJANGO_SESSION"."SESSION_KEY" = ?', ('1234567890123456789012345678901234567890',))
The "DJANGO_SESSION"."SESSION_KEY" is defined as VARCHAR(40), then if I try to execute a sql with a value for
SESSION_KEY bigger than 40, fdb raise an exception
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/fdb/fbcore.py", line 2233, in execute
self._ps._execute(parameters)
File "/usr/local/lib/python2.7/dist-packages/fdb/fbcore.py", line 2070, in _execute
self.__Tuple2XSQLDA(self.in_sqlda, parameters)
File "/usr/local/lib/python2.7/dist-packages/fdb/fbcore.py", line 1887, in __Tuple2XSQLDA
len(value)))
ValueError: Value of parameter (0) is too long, expected 40, found 1240
If I execute the same sql in FlameRobin it works fine, without error. Of course it returns a empty record because there isn't one record with this value.
How fdb work in this sense?