Subject [fdb] ValueError: Value of parameter (0) is too long
Author Maximiliano Robaina
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?