Hey guys,
That error has indeed been fixed in the dev branch so thank you.
However I've uncovered more problems.
1) the tuple example does not create the specified index in the database.
2) How do you use the +unique+ and other singletons for indexes? I don't
get it...
3) There is no >multi word for updating more than one row at once - which I
think is of high importance.
I tried adding the >multi word myself based on >upsert but encountered
"Invalid object size" error.
The exact changes I made are attached.
Cheers.
On Fri, Jul 30, 2010 at 9:30 PM, Sascha Matzke <[email protected]>wrote:
> Hi,
>
> ok some more background info... The mongodb guys changed the way the
> last_error command works and now return a value that wasn't handled
> correctly in the bson.reader vocab.
>
> Sascha
>
>
> On Fri, Jul 30, 2010 at 00:30, Vladimir Darmanian <
> [email protected]> wrote:
>
>> Hey guys sorry about that, I completely forgot about the existence of the
>> dev branch.
>>
>> I'll try it out soon as I can. In the meantime I've tracked down where
>> exactly the error occurs but have no idea why none-the-less.
>>
>> Even if it is already fixed it feels like a waste to throw away my info so
>> I'll just list it here in case it is of any use.
>>
>> I got the exact same error while using the low level driver - details
>> follow:
>>
>> Executing any commands which modify the database triggers the same error.
>>
>> It occurs when executing the word send-message-check-error - it traces as
>> follows:
>>
>> send-message-check-error -> lasterror -> find-one -> send-query-plain ->
>> with-stream ->
>> with-streams* -> with-scope -> bind -> call
>>
>> That's where it throws an exception.
>>
>> If you execute the same command but use the -unsafe alternative word it
>> works without a problem.
>>
>> In fact even when the exception is throw the database is actually modified
>> appropriately and it seems like the error is phantom.
>>
>> The only difference as I could tell between, say, update and update-unsafe
>> is the latter does not call the lasterror word.
>>
>> If you execute update and then lasterror in two seperate with-db
>> statements there is no error, the error only occurs if lasterror follows
>> update (or any other modifying word) within the same with-db quotation.
>>
>> Using the -unsafe words ultimately fixed the problem and the low level
>> driver seems to work properly though I haven't tested everything.
>>
>> However, when using the high level tuple vocab even with a custom
>> update-tuple-unsafe word it has no effect on the database at all even though
>> it completes without error.
>>
>> That's all.
>>
>> Thanks guys.
>>
>> On Thu, Jul 29, 2010 at 11:55 PM, Sascha Matzke <[email protected]
>> > wrote:
>>
>>> Hi,
>>>
>>> please try the latest mongodb driver changes in the Factor git
>>> repository.
>>>
>>> The typo in the docs is fixed now and the error you received should be
>>> gone too.
>>>
>>> Sascha
>>> --
>>> Through the darkness of future past
>>> the magician longs to see
>>> One chants out between two worlds
>>> Fire walk with me.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> The Palm PDK Hot Apps Program offers developers who use the
>>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>>> of $1 Million in cash or HP Products. Visit us here for more details:
>>> http://p.sf.net/sfu/dev2dev-palm
>>> _______________________________________________
>>> Factor-talk mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> The Palm PDK Hot Apps Program offers developers who use the
>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>> of $1 Million in cash or HP Products. Visit us here for more details:
>> http://p.sf.net/sfu/dev2dev-palm
>> _______________________________________________
>> Factor-talk mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>>
>>
>
>
> --
> Through the darkness of future past
> the magician longs to see
> One chants out between two worlds
> Fire walk with me.
>
>
> ------------------------------------------------------------------------------
> The Palm PDK Hot Apps Program offers developers who use the
> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
> of $1 Million in cash or HP Products. Visit us here for more details:
> http://p.sf.net/sfu/dev2dev-palm
> _______________________________________________
> Factor-talk mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
- operations.factor
: write-update-message ( message -- )
[
{
[ flags>> write-int32 ]
[ collection>> write-cstring ]
[ upsert?>> write-int32 ]
[ multi?>> write-int32 ]
[ selector>> assoc>stream ]
[ object>> assoc>stream ]
} cleave
] (write-message) ; inline
- msg.factor
TUPLE: mdb-update-msg < mdb-msg
{ collection string }
{ upsert? integer initial: 0 }
{ multi? integer initial: 0 }
{ selector assoc }
{ object assoc } ;
- driver.factor
: >multi ( mdb-update-msg -- mdb-update-msg )
1 >>multi? ;------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk