第1章 IDS 2000的业务优势 1
逻辑演变 1
关系式演变 1
自定义演变 2
IDS 2000特性 2
更多的特性 6
何谓DataBlade模块 7
性能 7
硬件组件 7
操作系统 9
IDS 2000 11
查询的执行 12
性能优势 12
性能优势小结 14
其他优势 15
IDS 2000的前景 15
第2章 用户定义过程 16
进程 16
线程 17
线程实现 18
IDS 2000的多线程处理 20
动态库 21
符号的可视性 22
UDR限制 22
违法的操作函数 24
Create Function语句 24
函数解析 25
操作符重载 26
内部函数重载 26
库的装载与卸载 27
简单例子 27
MI_FPARAM变元 29
内存分配 30
DataBlade开发工具库(DBDK) 30
第3章 SQL语句 32
语法示意图说明 32
AGGREGATE 32
CAST 34
DISTINCT类型 35
FUNCTION 36
GRANT 39
OPAQUE类型 41
OPCLASS 42
PROCEDURE 43
ROW类型 45
共享库重新装入 46
第4章 处理数据类型 48
环境说明 48
MI_DATUM 49
BLOB 50
BOOLEAN 50
BYTE 50
CHAR(n)(CHARACTER(n)) 50
CLOB 51
DATE 51
DATETIME 51
DECIMAL(DEC) 52
DISTINCT(独特类型) 53
DOUBLE PRECISION 53
FLOAT(n) 53
INTEGER或INT 53
INT8 54
INTERVAL 54
LIST 55
LVARCHAR 56
MONEY 56
MULTISET 56
NCHAR(n) 57
NUMERIC 57
NVARCHAR 57
Opaque(非透明) 57
REAL 58
ROW 58
SERIAL 59
SERIAL8 59
SET 59
SMALLINT 59
SMALLFLOAT 60
TEXT 60
VARCHAR 60
第5章 计算函数 62
函数应用程序 62
函数并行性 62
Quarter函数 63
函数重载 65
处理Null值 66
返回NULL结果 67
发出异常 67
SQLSTATE 70
mi_lvarchar API函数 71
内存分配 71
mi_get_vardata() 71
mi_get_vardata_align() 72
mi_get_varlen() 72
mi_lvarchar_to_string() 72
mi_new_var() 72
mi_set_vardata() 72
mi_set_vardata_align() 73
mi_set_varlen() 73
mi_set_varptr() 73
mi_string_to_lvarchar() 73
mi_var_copy() 74
mi_var_free() 74
mi_var_to_buffer() 74
mi_lvarchar缓冲区长度 74
第6章 用户定义类型 76
复杂类型 76
行类型 76
插入行类型 77
行类型限制 78
行类型索引 79
行类型处理 79
取得行类型名 79
取得其他信息 80
访问行字段 81
返回行 82
执行SQL语句 83
集合类型 86
集合类型限制 87
集合类型索引 87
集合类型处理 87
光标操作与编移量 89
返回集合类型 90
生成复杂类型 90
MI_CONNECTION的使用 91
独特类型 92
第7章 非透明型 94
非透明型的作用 94
非透明型的元素 94
定长与变长非透明型 95
输入函数与输出函数 97
导入函数与导出函数 99
发送函数与接收函数 99
Importbinary和Exportbinary函数 102
Compare函数 102
比较函数 103
Assign与Destroy函数 103
数学函数 104
B型树函数 105
R型树函数 105
Like和Matches函数 107
其他函数 108
Null值 108
第8章 迭代函数 109
DataBlade API元素 109
递减计数函数 109
项目读取函数 111
SET_INIT部分 113
SET_RETONE部分 114
SET_END部分 115
迭代的局限性 116
局限性解决办法 117
SPL解决方案 117
C语言方案 118
SET_INIT部分 119
SET_RETONE部分 121
SET_END部分 122
使用迭代函数进行连接 123
第9章 快捷路径接口 124
为什么使用快捷路径接口 124
快捷路径函数 124
使用系统校正功能 125
校正举例 126
调用Informix函数 128
调用另一用户函数 129
寻找函数信息 132
查看$INFORMIXDIR 133
查看系统目录 134
使用用户定义过程 137
第10章 智能块传输与多重表示 141
智能大型对象 141
智能大型对象的存放 141
定义智能大型对象空间 142
如何寻找sbspace 142
生成表格 143
插入智能大型对象 144
大型对象的API函数 144
大型对象结构 145
处理大型对象 145
大型对象统计信息 147
大型对象规范 149
生成大型对象 150
取得行规范 152
非透明型与大型对象 153
行上下文检索 156
lohandles()函数 157
多重表示非透明型 158
大型对象存储规范注意事项 165
第11章 累计函数 166
IDS 2000累计函数 166
累计函数的用法 167
扩展内部累计函数 169
累计函数如何工作 170
用户定义累计模型 170
<STATE>类型 172
用户自定义累计 172
简单例子:MYAVG() 172
处理<STATE>变元 175
前N个市场份额举例 175
其他累计功能的使用 179
第12章 跟踪与调试 180
常见问题 180
旧库 180
找不到符号 181
数值或引用 182
使用缓冲区 182
使用mi_lvarchar和mi_bitvarying 183
使用SPL 183
测试脚本 184
跟踪 185
调试 187
Unix中的调试 187
在Windows NT中调试 188
共享内存转储 189
附录 函数参考资料 190
函数类别 190
函数参考资料 195