[V4MD] link types

Peter Salomon peter.salomon at gmx.net
Sun May 29 20:04:59 CDT 2005


hi ruslan

yes - this is described also in the docs. I have understood  
theoretical part of linkTypes. What i have not understood is how to  
use the three different kinds of link.

Class VLink offers a lot of tools to work with Links. Can i use every  
call:

getIsBetween object me, integer table1Ref, integer table2Ref  -- .
table object me, integer index -- .
findLinked object me, integer recID, object table1, object table2, *  
-- symbol recursionDirection = #kFromParentToChild -- .
findExclusivelyLinked object me, integer recID, object table1,  
integer table2, * -- symbol recursionDirection = #kFromParentToChild  
-- .
findAllLinked object me, object table1, object table2, * -- symbol  
recursionDirection = #kFromParentToChild -- .
countLinked object me, integer recID, object table1, object table2, *  
-- symbol recursionDirection = #kFromParentToChild --  .
linkRecords object me, integer recIDA, integer recIDB, * -- [more  
recID parameters] .
unlinkRecords object me, integer recIDA, integer recIDB, * -- .
deleteLinkedRecords object me -- .
deleteAllLinkedRecords object me -- .

on each of the three link types?

e.g.:
i´m working with ObjectPtr Type, i know this from Valentina 1.x. Val  
2.x creates automaticly a link.

I wanted to set the values of objectPtr field "manually" by setting  
the value of TableB´s RecID into ObjectPointer field of TableA using  
a cursor.
In my debugwindow i can see that all valentinaRefernces are built  
correct, all values are found, but when i call cursor.updaterecord()  
after setting the ptr Value i get a crash on MacOS.

Now i was wondering, if the link prevents me to uptate a record and  
if i´m forced to use linkRecords() also with a objectPtr field?

peter



Am 29.05.2005 um 19:36 schrieb Ruslan Zasukhin:

> On 5/29/05 8:07 PM, "Peter Salomon" <peter.salomon at gmx.net> wrote:
>
> Hi Peter,
>
>
>> i have not understood well the function of automatically generated
>> link when i create an objectPtr field.
>>
>
>
>> Are there differences between a link created by e.g. binary link and
>> this link type?
>>
>
> Yes this is not the same.
>
> In Valentina 2.0 exists 3 kinds of links between table:
>
> 1) Foreign Key -- come to us from Relational model
>         people used to RDBMS as mySQL, Oracle, MS
>         know this good
>
>     it works as LINK BY VALUE.
>
>
> 2) ObjectPtr -- come to us from Valentina 1.x
>         this is a field in the MANY table.
>
>     it works as DIRECT POINTER.
>
>
> 3) BinaryLink -- totally new kind of link.
>         any DBMS do not have it.
>
>     it works as ... Additional third M : M table.
>     but without that table.
>
> BinaryLink can handle M : M links,
> FK and ObjectPtr only M : 1
>
>
> -- 
> Best regards,
>
> Ruslan Zasukhin
> VP Engineering and New Technology
> Paradigma Software, Inc
>
> Valentina - Joining Worlds of Information
> http://www.paradigmasoft.com
>
> [I feel the need: the need for speed]
>
>
> _______________________________________________
> Valentina mailing list
> Valentina at lists.macserve.net
> http://lists.macserve.net/mailman/listinfo/valentina
>
>



More information about the Valentina mailing list