本章节介绍structure()函数的用法。
描述:
获取组表的结构信息。
f.structure()
备注:
获取组表f的结构信息,其中包含以下信息内容:
结构 |
含义 |
[field] |
字段序列 |
name |
名字 |
dim |
是否维字段 |
type |
数据类型,如果该列不纯则填空 |
key |
维字段是否构成主键 |
del |
是否有删除标识 |
row |
是否行存 |
zip |
是否压缩 |
seg |
是否按第一字段分段 |
zonex |
分表表达式 |
索引 |
|
hash |
HASH索引长度,=0为排序索引,null为全文索引 |
[keys] |
索引字段序列 |
[field] |
带值字段序列 |
where |
过滤条件 |
预汇总信息 |
|
[keys] |
分组键 |
[aggr] |
汇总 |
name |
字段名 |
exp |
汇总表达式 |
[attach] |
附表,无附表此字段填空 |
name |
名称 |
… |
其它信息递归组表的结构 |
block |
区块大小 |
f |
组表/复组表/索引文件/预汇总文件。 |
选项:
@i |
f是索引文件。 |
@c |
f是预汇总文件。 |
返回值:
序表
示例:
f为组表:
|
A |
|
1 |
=demo.query("select EID,NAME from employee") |
|
2 |
=demo.cursor("select EID,SALARY from employee") |
|
3 |
=file("str.ctx") |
|
4 |
=A3.create@y(#EID,NAME) |
创建键为EID的组表,默认为列存且压缩,区块大小使用系统缺省值。 |
5 |
=A4.append(A1) |
|
6 |
=A4.attach(salary,SALARY) |
组表中添加名为salary的附表。 |
7 |
=A6.append(A2) |
|
8 |
>A5.close() |
|
9 |
=A3.structure() |
|
f为索引文件:
|
A |
|
1 |
=file("emp1.ctx") |
|
2 |
=A1.create@y(#EID,NAME,GENDER,DEPT,SALARY) |
创建组表。 |
3 |
=demo.cursor("select EID,NAME,GENDER,DEPT,SALARY from employee ") |
返回游标。 |
4 |
=A2.append(A3) |
将A3游标中的数据追加到组表中。 |
5 |
=file("index1") |
返回文件对象。 |
6 |
=A2.index(A5:10,GENDER=="F";EID) |
为组表建立索引文件,索引为长度为10的哈希索引,索引字段为EID。 |
7 |
=A5.structure@i() |
返回索引文件index1的结构:
|
f为预汇总文件:
|
A |
|
1 |
=file("emp1.ctx") |
|
2 |
=A1.create@y(#EID,NAME,GENDER,DEPT,SALARY) |
创建组表。 |
3 |
=demo.cursor("select EID,NAME,GENDER,DEPT,SALARY from employee ") |
返回游标。 |
4 |
=A2.append(A3) |
将A3游标中的数据追加到组表中。 |
5 |
=file("cub1") |
返回文件对象。 |
6 |
=A2.cuboid(A5,DEPT;avg(SALARY)) |
为组表建立预汇总文件。 |
7 |
=A5.structure@c() |
返回预汇总文件cub1的结构。 |