44
55== 版本介绍
66
7- [**发行日期:2023年11月17日 **]
7+ [**发行日期:2024年11月20日 **]
88
9- IvorySQL 3.0 基于 PostgreSQL 16.0 ,包含来自 PostgreSQL 16.0 的各种修复。有关 PostgreSQL 16.0 中更详细的更新和错误修复,请参阅官方 https://www.postgresql.org/docs/release/16.0/[PostgreSQL 16.0 发行说明] 。
10-
11-
12- == 版本差异
13- IvorySQL 3.0 版本在架构上发生了很大的变化,其使用方式与 2.3 版本不同。还有一些以前在 2.3 版本中可用的功能尚不受支持,以下是两个版本的功能差异。
14-
15- |====
16- | 功能模块 | 功能|IvorySQL-2.3|IvorySQL-3.0
17- .14+|内置数据类型|char|不支持|支持
18- |varchar|支持|支持
19- |varchar2|支持|支持
20- |number|不支持|支持
21- |binary_float|不支持|支持
22- |binary_double|不支持|支持
23- |date|支持|支持
24- |timestamp|不支持|支持
25- |timestamp with time zone|不支持|支持
26- |timestamp with local time zone|不支持|支持
27- |interval year to month|不支持|支持
28- |interval day to second|不支持|支持
29- |raw|不支持|支持
30- |long|不支持|支持
31- .44+|内置函数|char|不支持|支持
32- |sysdate|支持|支持
33- |systimestamp|支持|支持
34- |add_months|支持|支持
35- |last_day|支持|支持
36- |next_day| 不支持|支持
37- |months_between|支持 | 支持
38- |current_date | 不支持 | 支持
39- |current_timestamp | 不支持 | 支持
40- |new_time | 支持 | 支持
41- |tz_offset | 不支持 | 支持
42- |trunc | 支持 | 支持
43- |instr | 不支持 | 支持
44- |instrb | 不支持 | 支持
45- |substr | 不支持 | 支持
46- |substrb | 支持 | 支持
47- |trim | 不支持 | 支持
48- |ltrim | 不支持 | 支持
49- |rtrim | 不支持 | 支持
50- |length | 不支持 | 支持
51- |lengthb | 不支持 | 支持
52- |rawtohex | 不支持 | 支持
53- |replace | 不支持 | 支持
54- |regexp_replace | 不支持 | 支持
55- |regexp_substr | 不支持 | 支持
56- |regexp_instr | 不支持 | 支持
57- |regexp_like | 不支持 | 支持
58- |to_number | 支持 | 支持
59- |to_char | 支持 | 支持
60- |to_date | 支持 | 支持
61- |to_timestamp | 支持 | 支持
62- |to_timestamp_tz | 支持 | 支持
63- |to_yminterval | 不支持 | 支持
64- |to_dsinterval | 支持 | 支持
65- |numtodsinterval | 支持 | 支持
66- |numtoyminterval | 支持 | 支持
67- |localtimestamp | 不支持 | 支持
68- |new_time | 不支持 | 支持
69- |from_tz | 支持 | 支持
70- |sys_extract_utc | 支持 | 支持
71- |sessiontimezone | 支持 | 支持
72- |hextoraw | 不支持 | 支持
73- |uid | 不支持 | 支持
74- |USERENV | 不支持 | 支持
75- .4+|NLS参数|NLS_LENGTH_SEMANTICS|不支持|支持
76- |NLS_DATE_FORMAT|不支持|支持
77- |NLS_TIMESTAMP_FORMAT|不支持|支持
78- |NLS_TIMESTAMP_TZ_FORMAT|不支持|支持
79- |Function(函数)|支持语法兼容,并支持OUT参数|支持 | 支持
80- |Procedure(存储过程|支持语法兼容,并支持OUT参数|支持 | 支持
81- |Anonymous block(匿名块)|支持语法兼容,并支持OUT参数|不支持 | 支持
82- |嵌套子过程|支持嵌套存储过程、函数等|不支持 | 支持
83- |Merge|支持PG的Merge功能以及兼容Oralce语法的Merge功能|不支持 | 支持
84- |q`|支持兼容的转义符|支持 | 支持
85- |关键字处理|支持数据库中关键字的处理|不支持 | 支持
86- .4+|对象大小写转换|全部大写加双引号转换为小写|不支持 | 支持
87- |全部小写加双引号转换为大写|不支持 | 支持
88- |大小写混合加双引号保持不变|不支持 | 支持
89- |不加双引号(默认)全部转为小写|不支持 | 支持
90- |Search Path|支持兼容模式下,默认搜索为sys模式,再搜索pg_catalog模式|不支持 | 支持
91- |空串|支持Oracle兼容将空串转为NULL|不支持 | 支持
92- |词法解析器分离|3.0框架的一部分|不支持 | 支持
93- |包||支持|不支持
94- |全局唯一索引||支持 | 支持
95- |GUC切换oracle或pg||支持 | 支持
96- |层级查询||支持 | 不支持
97- |NANVL ||支持 | 不支持
98- |GREATEST||支持 | 不支持
99- |LEAST||支持 | 不支持
100- |ADD_DAYS_TO_TIMESTAMP||支持 | 不支持
101- |DAYS_BETWEEN ||支持 | 不支持
102- |DAYS_BETWEEN_TMTZ ||支持 | 不支持
103- |DBTIMEZONE||支持 | 不支持
104- |TO_MULTI_BYTE||支持 | 不支持
105- |TO_SINGLE_BYTE||支持 | 不支持
106- |INTERVAL_TO_SECONDS||支持 |不支持
107- |HEX_TO_DECIMAL||支持 | 不支持
108- |TO_BINARY_DOUBLE||支持 | 不支持
109- |TO_BINARY_FLOAT||支持 | 不支持
110- |BIN_TO_NUM||支持 | 不支持
111- |====
9+ IvorySQL 1.8 基于 PostgreSQL 14.8 ,包含来自 PostgreSQL 14.8 的各种修复。有关 PostgreSQL 14.8 中更详细的更新和错误修复,请参阅官方 https://www.postgresql.org/docs/release/14.8/[PostgreSQL 14.8 发行说明] 。
11210
11311== 已知问题
11412
11513* 暂无
11614
11715== 增强功能
11816
119- === IvorySQL 框架
120-
121-
122- * 添加双Parser支持不同的数据库parser https://github.com/IvorySQL/IvorySQL/issues/208[问题细节]
123- * 添加双端口支持不同的数据库端口号 https://github.com/IvorySQL/IvorySQL/issues/200[问题细节]
124- * 添加 initdb -m,支持postgres模式或 Oracle模式 https://github.com/IvorySQL/IvorySQL/issues/212[问题细节]
125-
126-
127- === SQL兼容
128-
129- * 兼容oracle merge command https://github.com/IvorySQL/IvorySQL/issues/262[问题细节]
130- * 兼容oracle q转义 https://github.com/IvorySQL/IvorySQL/issues/293[问题细节]
131- * 兼容oracle like https://github.com/IvorySQL/IvorySQL/issues/291[问题细节]
132-
133- === PL/SQL兼容
134-
135- * 解决PL/SQL 创建函数/存储过程存在问题 https://github.com/IvorySQL/IvorySQL/issues/477[问题细节]
136- * 兼容Oracle匿名块 https://github.com/IvorySQL/IvorySQL/issues/304[问题细节]
137- * 在 SQL parser中创建函数或过程支持嵌套子过程 https://github.com/IvorySQL/IvorySQL/issues/312[问题细节]
138- * 嵌套的子进程和函数 is/as 不需要声明 https://github.com/IvorySQL/IvorySQL/issues/303[问题细节]
139-
140- === 其它
141- * 在action中增加meson编译 https://github.com/IvorySQL/IvorySQL/issues/512[问题细节]
142- * 支持meson编译 https://github.com/IvorySQL/IvorySQL/issues/325[问题细节]
143- * 添加兼容的测试用例 https://github.com/IvorySQL/IvorySQL/issues/479[问题细节]
144- * 添加contrib回归 https://github.com/IvorySQL/IvorySQL/issues/452[问题细节]
145- * 兼容btree_gist索引 https://github.com/IvorySQL/IvorySQL/issues/354[问题细节]
146- * 兼容btree_gin索引 https://github.com/IvorySQL/IvorySQL/issues/353[问题细节]
147- * 添加Oracle数据类型 GIN索引操作 https://github.com/IvorySQL/IvorySQL/issues/347[问题细节]
148- * 添加Oracle数据类型 Gist索引操作 https://github.com/IvorySQL/IvorySQL/issues/341[问题细节]
149- * 兼容Oracle内置数据类型与内置函数 https://github.com/IvorySQL/IvorySQL/issues/239[问题细节]
150- * 添加plisql扩展 https://github.com/IvorySQL/IvorySQL/issues/211[问题细节]
151-
152- > 说明:关于新增功能更多介绍请参考本文档中心功能列表
153-
154-
155- == 问题修复
156-
157- * 使用meson编译后,initdb执行失败 https://github.com/IvorySQL/IvorySQL/issues/520[问题细节]
158- * 字符类型 null 值的运算符结果不正确 https://github.com/IvorySQL/IvorySQL/issues/499[问题细节]
159- * 还原备份时出错 https://github.com/IvorySQL/IvorySQL/issues/483[问题细节]
160- * ivorysql_ora部分测试用例失败 https://github.com/IvorySQL/IvorySQL/issues/461[问题细节]
161- * nls参数指定ff精度与表指定精度的三种关系下,对超出长度的数据处理不一致 https://github.com/IvorySQL/IvorySQL/issues/436[问题细节]
162- * 日期格式中的DD HH.MI,SS AM中数据出现特殊符号后的数据处理与Oracle不一致 https://github.com/IvorySQL/IvorySQL/issues/435[问题细节]
163- * 对日期格式,各部分 位数校验均存在问题 https://github.com/IvorySQL/IvorySQL/issues/434[问题细节]
164- * NLS相关参数校验问题 https://github.com/IvorySQL/IvorySQL/issues/433[问题细节]
165- * 解决NLS参数设置为12小时制,默认完成AM/PM关键字的规则与Oracle不一致问题 https://github.com/IvorySQL/IvorySQL/issues/405[问题细节]
166- * 带默认值创建的函数/存储过程xx_arguments视图中DEFAULTED字段值为N 问题 https://github.com/IvorySQL/IvorySQL/issues/379[问题细节]
167- * 无权限的函数/存储过程 可以被all_procedures/all_arguments/all_source视图查看 https://github.com/IvorySQL/IvorySQL/issues/378[问题细节]
168- * 当自增列类型为numer类型,且指定了精度时,by default on null插入null值时,不是插入的具体序列值,而是插入的null值 https://github.com/IvorySQL/IvorySQL/issues/386[问题细节]
17+ * PostgreSQL 14.8
18+ 1. 防止 CREATE SCHEMA 操作破坏 search_path 中的更改。
19+ 2. 在内联集合返回函数后,正确执行行级安全策略。
20+ 3. 修复在 CREATE SCHEMA 中省略新架构名称时可能导致的崩溃问题。
21+ 4. 修复分区表中克隆触发器的启用/禁用问题。
22+ 5. 禁止修改存储在索引中的复合类型。
16923
24+ * IvorySQL 1.8
25+ 1. 添加默认数据库 "ivorysql"。
26+ 2. 支持 X86 和 ARM 架构。
27+ 3. 兼容国产操作系统,例如麒麟 V10。
28+ 4. 更新部分 IvorySQL 回归测试。
29+ 5. 支持更多开源插件,例如 ddlx 0.20、pgvector v0.8.0 和 PGroonga 3.0.0。
17030
17131== 源代码
17232
@@ -178,26 +38,12 @@ IvorySQL主要包含2个代码仓库,数据库IvorySQL代码仓、IvorySQL网
17838== 贡献人员
17939以下个人作为补丁作者、提交者、审阅者、测试者或问题报告者为本版本做出了贡献。
18040
181- - IvorySQL Pro开发及测试团队
182- - 谭洋
183- - 王杰
184- - 穆帅楠
185- - 张洪源
186- - Cary Huang
18741- Grant Zhou
188- - David Zhang
189- - 王守波
190- - 任娇
191- - 刘政
192- - 肖哲凯
193- - 金华建
194- - 王丽
195- - 宋金周
196- - Leo X.M. Zeng
197- - 严少安
198- - M.Imran Zaheer
199- - Yunhe Xu
200- - 王皓
201- - 董小姐
202- - 韩伟博
203-
42+ - 高雪玉
43+ - 矫顺田
44+ - 梁翔宇
45+ - 吕新杰
46+ - 马继超
47+ - 牛世继
48+ - 仇振超
49+ - 王颖泽
0 commit comments