[SqueakDBX] Re: [Pharo-users] DBXTypeNotSupoorted with Glorp

Mariano Martinez Peck marianopeck at gmail.com
Mon Aug 15 21:17:55 UTC 2011


And here: http://www.linuxnetworks.de/doc/index.php/OpenDBX/C_API/Usage

 I can read:

" Processing results

After fetching a row, all values of this row are available for further
processing, as well as their name, length and type - but the name and the
type of a column won't change. Also the number of columns returned by
odbx_column_count<http://www.linuxnetworks.de/doc/index.php/OpenDBX/API/odbx_column_count>()
is fixed for the whole result.

int i;

for( i = 0; i < odbx_column_count( result ); i++ )
{
    fprintf( stdout, "Name: %s\n", odbx_column_name( result, i ) );
    fprintf( stdout, "Type: %d\n", odbx_column_type( result, i ) );
    fprintf( stdout, "Length: %d\n", odbx_field_length( result, i ) );
    fprintf( stdout, "Value: %s\n", odbx_field_value( result, i ) );
}


Besides odbx_column_type<http://www.linuxnetworks.de/doc/index.php/OpenDBX/API/odbx_column_type>()
these functions don't return error codes. Instead, they return zero (
odbx_field_length<http://www.linuxnetworks.de/doc/index.php/OpenDBX/API/odbx_field_length>())
or NULL (odbx_column_name<http://www.linuxnetworks.de/doc/index.php/OpenDBX/API/odbx_column_name>()
and odbx_field_length<http://www.linuxnetworks.de/doc/index.php/OpenDBX/API/odbx_field_length>()),
but you shouldn't check for those because these values are also valid return
values.

All numbers are returned as strings from the database regardless if they are
integers or floats. If you want to do arithmetic operations, you have to
convert them to their machine dependent binary representation first.
"

On Mon, Aug 15, 2011 at 11:11 PM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:

>
>
> On Mon, Aug 15, 2011 at 9:59 PM, Alain Rastoul <alr.dev at free.fr> wrote:
>
>> **
>> Hi,
>> I finally found that when called in C with the same api calls that those
>> made by opendbx, sqlite correctly returns datatype of columns when fetching
>> rows, the problem is clearly that the data type is stored in SQueakDBX
>> column description for the resultset  the first time it fetches the first
>> row.
>> For sqlite, squeakdbx should call the sqlite api to retrieve column
>> datatype for each row and each colum while fetching data.
>>
>
> Hi Alain. I am reading this:
> http://www.linuxnetworks.de/doc/index.php/OpenDBX/C_API/odbx_column_type
>
> From SqueakDBX, we send odbx_column_type ONCE PER RESULTSET.
> You can see this in #processNextResultSet:querySettings:  that for every
> resultset it sends  #processResultWithRows:resultHandle:querySettings:
>
> Now.... should we send odbx_column_type and friends ONCE PER RAW? As far as
> I can see, in other databases we don't need to do that. But maybe we are
> wrong and you are right.
> Norbert?
>
> Anyway, if you want to give it a try to Sqlite, what about overwrite
> #moveNext:  in SqlitePlatform and do something to set the new type for every
> raw.
>
> From what I can see, if the type depends on each raw and it should be asked
> for every raw, then a design change is needed so that we can move the
> description from the REsultSet to the Raw :)
>
>
> But it may have implications I don't know.  Perhaps squeakDbx could get
>> only true object values (are rawValues really needed) ?.
>>
>
> Well, it depends on the user needs. Now, a key point is what GLORP should
> use.
>
>
>>  Or perhaps another solution would be to call the sqlite api if the
>> stored datatype is UNKNOWN in column description ... (only for sqlite,
>> but sounds like a bad trick)
>>
>
> sounds like a hask, but if it works it is at least a valid workaround.
>
>
>>  I am perplexed ...
>>
>> Any idea is welcome
>>
>> Cheers
>> Alain
>>
>> "Mariano Martinez Peck" <marianopeck at gmail.com> a écrit dans le message
>> de news:
>> CAA+-=mW69g-MP3fQutJ9vVhAjRoP9eZdv5Z0Zkv9junYZeTyKw at mail.gmail.com...
>>
>>
>> On Sat, Aug 13, 2011 at 12:06 AM, Alain Rastoul <alr.dev at free.fr> wrote:
>>
>>> **
>>> It doen't work.
>>> Howerver googling for opendbx msg00483, I found
>>>
>>> http://www.mail-archive.com/libopendbx-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org/msg00483.html<http://www.mail-archive.com/libopendbx-devel-5NWGOfrQmnetEtDZOKyKiw@public.gmane.orgrge.net/msg00483.html>
>>>
>>
>> yes, that one :)
>>
>>
>>>  it seems to be the problem of the issue 10, and I think the same
>>> problem I have..
>>>
>>
>> yes
>> Sorry, I cannot do more....  :(
>>
>>
>>>  Strange that it doesn't work with MSSQL too..
>>>
>>>
>>> "Mariano Martinez Peck" <marianopeck at gmail.com> a écrit dans le message
>>> de news:
>>> CAA+-=mW4rwrLMhMAzsLhQ5zEWZBG_Jg=BF2dKu3wsxw0=io=iQ at mail.gmail.com...
>>>
>>>
>>> On Fri, Aug 12, 2011 at 11:14 PM, Alain Rastoul <alr.dev at free.fr> wrote:
>>>
>>>> **
>>>> I used the following script (about  2 months ago I think ) in Pharo 1.3
>>>> "SqueakDBX"
>>>> Gofer new squeaksource: 'MetacelloRepository';
>>>> package: 'ConfigurationOfSqueakDBX';
>>>> load.
>>>> ConfigurationOfSqueakDBX project latestVersion load.
>>>>
>>>> "GLORP"
>>>> Gofer new squeaksource: 'MetacelloRepository';
>>>> package: 'ConfigurationOfGlorpDBX';
>>>> load.
>>>> ConfigurationOfGlorpDBX project latestVersion load.
>>>>
>>>>
>>> Yes, you are using SqueakDBX ;)  you will move soon to DBXTalk :)
>>>
>>>
>>>>  II use DBXTestCase for my  test with the code I send in my email (is
>>>> it ok for you?), but I will have alook at DBXQueryTest too.
>>>> No problem to put it in the test suite - it makes me remember that I
>>>> still didn't send my license agreement to Stephane but I will do it
>>>> asap... I hate papers ;-)
>>>>
>>>
>>> in our case we don't need that ;)
>>>
>>>
>>>>
>>>> http://www.mail-archive.com/libopendbx-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org/msg00483.html
>>>> The link is broken
>>>>
>>>
>>>
>>> http://www.mail-archive.com/libopendbx-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org/msg00483.html
>>>
>>> this one works?
>>>
>>>
>>> --
>>> Mariano
>>> http://marianopeck.wordpress.com
>>>
>>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>


-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeakdbx/attachments/20110815/7b4f7672/attachment.htm


More information about the SqueakDBX mailing list