Subject Re: [firebird-support] Kinterbasdb or Firebird problem, Kinterbasdb state
Author Helen Borrie
At 09:08 AM 16/08/2009, you wrote:
>I've had a difficult time getting kinterbasdb 3.3-2 working with Kubuntu
>9.04 Jaunty, python 2.6 and firebird 2.1. The problem is with inserting
>data into an array field. I have done this in the past with older versions
>of kinterbasdb. With the current kinterbasdb not all the system functions
>work so this may be more of same. Here is the error.
>
>(0, "Error while attempting to convert object of type <type 'list'> to
>float for storage in field [name not known at this stage of query
>execution]. The invalid input object is: [0.99984769515639127,
>0.7193398003
>3865108, 0.3987490689252462]")
>
>The field is defined as follows 'col[0:2] float'
>
>Is this a firebird error?

Indirectly, yes. You can't insert "fields" directly into array elements. The API has a special implementation that enables you to update a "slice" of an array (not insert) that requires certain machinations in client code to work. Some API drivers/program interfaces implement it, others don't.

The array type doesn't resonate with the relational model and exists in Firebird only because it was a custom implementation for some customer of Borland in the distant past. There's never been any attempt to improve it and it's not in any plan I know of to do so.

>Non array fields seem to insert okay.

As they should. ;-)

>Also, can anyone point me towards information regarding kinterbasdb and
>what its status is. I've found very little information on its status.

You've picked the wrong list - you want the firebird-python list.

^ heLen ^