Chapter 38. 扩展 SQL

Table of Contents

38.1. 扩展性如何工作
38.2. LightDB类型系统
38.2.1. 基础类型
38.2.2. 容器类型
38.2.3. 域
38.2.4. 伪类型
38.2.5. 多态类型
38.3. 用户定义的函数
38.4. 用户定义的过程
38.5. 查询语言(SQL)函数
38.5.1. SQL函数的参数
38.5.2. 基本类型上的SQL
38.5.3. 组合类型上的SQL函数
38.5.4. 带有输出参数的SQL函数
38.5.5. 带有可变数量参数的SQL函数
38.5.6. 带有参数默认值的SQL函数
38.5.7. SQL 函数作为表来源
38.5.8. 返回集合的SQL函数
38.5.9. 返回TABLESQL函数
38.5.10. 多态SQL函数
38.5.11. 带有排序规则的SQL函数
38.6. 函数重载
38.7. 函数易变性分类
38.8. 过程语言函数
38.9. 内部函数
38.10. C 语言函数
38.10.1. 动态载入
38.10.2. C 语言函数中的基本类型
38.10.3. 版本 1 的调用约定
38.10.4. 编写代码
38.10.5. 编译和链接动态载入的函数
38.10.6. 组合类型参数
38.10.7. 返回行(组合类型)
38.10.8. 返回集合
38.10.9. 多态参数和返回类型
38.10.10. 共享内存和 LWLock
38.10.11. 把 C++ 用于可扩展性
38.11. 函数优化信息
38.12. 用户定义的聚集
38.12.1. 移动聚集模式
38.12.2. 多态和可变聚集
38.12.3. 有序集聚集
38.12.4. 部分聚集
38.12.5. 聚集的支持函数
38.13. 用户定义的类型
38.13.1. TOAST 考量
38.14. 用户定义的操作符
38.15. 操作符优化信息
38.15.1. COMMUTATOR
38.15.2. NEGATOR
38.15.3. RESTRICT
38.15.4. JOIN
38.15.5. HASHES
38.15.6. MERGES
38.16. 索引的接口扩展
38.16.1. 索引方法和操作符类
38.16.2. 索引方法策略
38.16.3. 索引方法支持例程
38.16.4. 一个例子
38.16.5. 操作符类和操作符族
38.16.6. 操作符类上的系统依赖
38.16.7. 操作符类的特性
38.17. 打包相关对象到一个扩展中
38.17.1. 扩展文件
38.17.2. 扩展可再定位性
38.17.3. 扩展配置表
38.17.4. 扩展更新
38.17.5. 用更新脚本安装扩展
38.17.6. Security Considerations for Extensions
38.17.7. 扩展实例
38.18. 扩展的构建基础设施

在下面的小节中,我们将讨论如何通过增加各种元素来扩展LightDB SQL 查询语言: