Here’s how to use attach() functions.
Description:
Retrieve an attached table from a cluster composite table.
Syntax:
T.attach(T’)
Note:
The function retrieves attached table T’, which should already exist, from cluster composite table T.
Parameter:
T |
A cluster composite table |
T’ |
An attached table |
Return value:
An attached table
Example:
Add an attached table to composite table emp1.ctx:
|
A |
|
1 |
=file("D:\\emp1.ctx") |
|
2 |
=A1.create(#EID,NAME) |
Create the composite table’s base table |
3 |
=demo.cursor("select EID,NAME from employee ") |
|
4 |
=A2.append(A3) |
Append records to the base table |
5 |
=A2.attach(t1, SURNAME,DEPT ) |
Add attached table t1 to the base table |
6 |
=demo.cursor("select EID,SURNAME,DEPT from employee") |
|
7 |
=A5.append(A6) |
Append records to attached table t1 |
8 |
=A2.attach(t2,GENDER,SALARY) |
Add attached table t2 to the base table |
9 |
=demo.cursor("select EID,GENDER,SALARY from employee ") |
|
10 |
=A8.append(A9) |
Append records to attached table t2 |
Put emp1.ctx in node 192.168.0.116:8281:
|
A |
|
1 |
=file("emp1.ctx",["192.168.0.116:8281"]) |
Open a cluster file |
2 |
=A1.open() |
Return a cluster composite table |
3 |
=A2.attach(t1) |
Retrieve attached table t1 |
Description:
Add an attached table to the base table of a composite table.
Synatx:
T.attach(T’,C…)
Note:
The function adds attached table T’ to a composite table’s base table T. A composite table can have one or multiple attached tables. The attached table’s dimensions include dimensions of its base table; its column names should be different from the base table’s column names.
Return entity table T’s attached table and can update and modify the attached table when parameter C is absent.
When primary key value of an attached table record does not have a match among primary key values of the base table records, the function cannot read a record from the base table; the correspondence between attached table key values and base table key values won’t be checked for update or modification of the attached table.
Parameter:
T |
A base table |
T’ |
An attached table |
C |
Attached table column, can be omitted; return an attached table named T’ if it is absent; a C preceded by # is a dimension |
Return value:
An attached table
Example:
Add an attached table to the base table:
|
A |
|
1 |
=file("D:/ctb.ctx") |
|
2 |
=A1.create(#k1,v1) |
Create the composite table’s base table, where k1 is the dimension and v1 is the base table’s column |
3 |
=A2.attach(table2,#k2,v2) |
Add an attached table named table2 to the base table returned by A2; the attached table’s dimension fields are k1 and k2 and its column is v2 |
4 |
=create(k1,v1).record([1,10,2,20,3,30,4,40,10,100]) |
Create a table sequence |
5 |
=create(k1,k2,v2).record([1,1,"a",3,1,"c"]) |
Create a table sequence |
6 |
=A2.append(A4.cursor()) |
Append cursor’s records to A2’s base table |
7 |
=A3.append(A5.cursor()) |
Append cursor’s records to A3’s attached table |
8 |
>A2.close() |
Close the composite table |
Open an attached table:
|
A |
|
1 |
=file("D:/ctb.ctx").open() |
|
2 |
=A1.attach(table2) |
Open the entity table’s attached table table2 |
3 |
=A2.cursor().fetch() |
Fetch data from the attached table |
Update an attached table:
|
A |
|
1 |
=file("D:/ctb.ctx").open() |
|
2 |
=A1.attach(table2) |
Open the entity table’s attached table table2 |
3 |
=create(k1,k2,v2).record([4,2,"d"]) |
|
4 |
=A2.update(A3) |
Update table sequence A3’s data to the attached table |
5 |
=A2.cursor().fetch() |
Fetch data from the updated attached table |