Skip to content

Commit c396c6b

Browse files
committed
add v3.4 release notes & docs
1 parent 1dbb2c1 commit c396c6b

33 files changed

+502
-228
lines changed

CN/antora.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: ivorysql-doc
22
title: IvorySQL
3-
version: v3.3
4-
start_page: v3.3/welcome.adoc
3+
version: v3.4
4+
start_page: v3.4/welcome.adoc
55
asciidoc:
66
attributes:
77
source-language: asciidoc@

CN/modules/ROOT/nav.adoc

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
1-
* xref:v3.3/welcome.adoc[欢迎]
2-
* xref:v3.3/1.adoc[发行说明]
3-
* xref:v3.3/2.adoc[关于IvorySQL]
1+
* xref:v3.4/welcome.adoc[欢迎]
2+
* xref:v3.4/1.adoc[发行说明]
3+
* xref:v3.4/2.adoc[关于IvorySQL]
44
* IvorySQL入门
5-
** xref:v3.3/3.adoc[快速开始]
6-
** xref:v3.3/4.adoc[日常监控]
7-
** xref:v3.3/5.adoc[日常维护]
5+
** xref:v3.4/3.adoc[快速开始]
6+
** xref:v3.4/4.adoc[日常监控]
7+
** xref:v3.4/5.adoc[日常维护]
88
* IvorySQL高级
9-
** xref:v3.3/6.adoc[安装指南]
10-
** xref:v3.3/7.adoc[集群搭建]
11-
** xref:v3.3/8.adoc[开发者指南]
12-
** xref:v3.3/9.adoc[运维管理指南]
13-
** xref:v3.3/10.adoc[迁移指南]
9+
** xref:v3.4/6.adoc[安装指南]
10+
** xref:v3.4/7.adoc[集群搭建]
11+
** xref:v3.4/8.adoc[开发者指南]
12+
** xref:v3.4/9.adoc[运维管理指南]
13+
** xref:v3.4/10.adoc[迁移指南]
1414
* IvorySQL生态
15-
** xref:v3.3/11.adoc[PostGIS]
16-
** xref:v3.3/12.adoc[pgvector]
17-
* 功能列表
18-
** xref:v3.3/14.adoc[1、框架设计]
19-
** xref:v3.3/15.adoc[2、GUC框架]
20-
** xref:v3.3/16.adoc[3、大小写转换]
21-
** xref:v3.3/17.adoc[4、双模式设计]
22-
** xref:v3.3/18.adoc[5、兼容Oracle like]
23-
** xref:v3.3/19.adoc[6、兼容Oracle匿名块]
24-
** xref:v3.3/20.adoc[7、兼容Oracle函数与存储过程]
25-
** xref:v3.3/21.adoc[8、内置数据类型与内置函数]
26-
** xref:v3.3/22.adoc[9、新增Oracle兼容模式的端口与IP]
27-
** xref:v3.3/26.adoc[10、XML函数]
28-
* xref:v3.3/23.adoc[社区贡献指南]
29-
* xref:v3.3/24.adoc[工具参考]
30-
* xref:v3.3/25.adoc[FAQ]
15+
** xref:v3.4/11.adoc[PostGIS]
16+
** xref:v3.4/12.adoc[pgvector]
17+
* Oracle兼容功能列表
18+
** xref:v3.4/14.adoc[1、框架设计]
19+
** xref:v3.4/15.adoc[2、GUC框架]
20+
** xref:v3.4/16.adoc[3、大小写转换]
21+
** xref:v3.4/17.adoc[4、双模式设计]
22+
** xref:v3.4/18.adoc[5、兼容Oracle like]
23+
** xref:v3.4/19.adoc[6、兼容Oracle匿名块]
24+
** xref:v3.4/20.adoc[7、兼容Oracle函数与存储过程]
25+
** xref:v3.4/21.adoc[8、内置数据类型与内置函数]
26+
** xref:v3.4/22.adoc[9、新增Oracle兼容模式的端口与IP]
27+
** xref:v3.4/26.adoc[10、XML函数]
28+
** xref:v3.4/27.adoc[11、兼容Oracle sequence]
29+
* xref:v3.4/23.adoc[社区贡献指南]
30+
* xref:v3.4/24.adoc[工具参考]
31+
* xref:v3.4/25.adoc[FAQ]

CN/modules/ROOT/pages/v3.3/1.adoc

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,34 @@
44

55
== 版本概览
66

7-
[**发行日期:2024年7月11日**]
7+
[**发行日期:2024年9月26日**]
88

99

10-
IvorySQL 3.3基于PostgreSQL 16.3,并修复了多个问题。更多信息请参考 https://docs.ivorysql.org/[文档网站] 。
10+
IvorySQL 3.4基于PostgreSQL 16.4,并修复了多个问题。更多信息请参考 https://docs.ivorysql.org/[文档网站] 。
1111

1212
== 增强功能
1313

14-
- PostgreSQL 16.3 的增强功能
14+
- PostgreSQL 16.4 的增强功能
1515

16-
1. 将 pg_stats_ext 和 pg_stats_ext_exprs 条目的可见性限制为表所有者。
17-
2. 修复将多个 VALUES 行插入到作为数组或复合类型域的目标列中的问题。
18-
3. 对于带有 DO NOTHING 子句的 MERGE 语句,要求对目标表具有 SELECT 权限。
19-
4. 修复处理 MERGE 中自我修改元组的问题。
20-
5. 修复当表按布尔列分区且查询中包含布尔 IS NOT 子句时错误地删除 NULL 分区的问题。
16+
1. 在未经授权时防止pg_dump执行
17+
2. 避免归并右反连接计划产生错误结果
18+
3. 防止VACUUM中出现无限循环
19+
4. 修复在将表作为分区附加后失败的问题,前提是该表之前有继承子表
20+
5. 修复了 time 和 timetz 类型的 ISO-8601“扩展”时间格式的输入
2121

2222
+
2323

24-
更多细节, 请参阅 https://www.postgresql.org/docs/release/16.3/[PostgreSQL发布说明].
24+
更多细节, 请参阅 https://www.postgresql.org/docs/release/16.4/[PostgreSQL发布说明].
2525

2626

2727
== 问题修复
2828

29-
- 修复使用 SYSDATE 作为日期默认值时的问题: https://github.com/IvorySQL/IvorySQL/issues/633[#633]
30-
- 修复使用 SYSTIMESTAMP 作为日期默认值时的问题: https://github.com/IvorySQL/IvorySQL/issues/661[#661]
31-
- 修复nls mask时间戳精度问题: https://github.com/IvorySQL/IvorySQL/issues/634[#634]
32-
- 为ivorysql.datetime_ignore_nls_mask参数添加更多测试用例: https://github.com/IvorySQL/IvorySQL/issues/657[#657]
33-
- 修复兼容模式下使用timestamp(7)类型返回错误问题: https://github.com/IvorySQL/IvorySQL/issues/658[#658]
34-
- 数据类型VARCHAR2问题的支持: https://github.com/IvorySQL/IvorySQL/issues/652[#652]
35-
- 解决docker_library项目中,有关IvorySQL的相关问题: https://github.com/IvorySQL/docker_library/issues/4[#4]
29+
- 新增 Oracle sequence功能: 问题 https://github.com/IvorySQL/IvorySQL/issues/588[#588]
30+
- 支持 xmlisvalid 和 xmlelement 函数: 问题 https://github.com/IvorySQL/IvorySQL/issues/695[#695]
31+
- 在Oracle模式下为字符类型限制设置为2000: 问题 https://github.com/IvorySQL/IvorySQL/issues/561[#561]
32+
- 支持使用SQL命令ALTER TABLE ADD (CONSTRAINT ...)向现有表添加约束。: 问题 https://github.com/IvorySQL/IvorySQL/issues/612[#612]
33+
- 支持以下函数 TO_MULTI_BYTE(), TO_SINGLE_BYTE(), ASCIISTR(), COMPOSE(), DECOMPOSE(): 问题 https://github.com/IvorySQL/IvorySQL/issues/609[#609]
34+
- docker_library项目现已支持Debian的X86和ARM架构: https://github.com/IvorySQL/docker_library/issues/16[#16]
3635

3736
== 源代码
3837

@@ -46,23 +45,23 @@ IvorySQL主要包含2个代码仓库:
4645

4746
- Cary Huang
4847
- Chase Wu
49-
- David Zhang
5048
- Grant Zhou
5149
- Håkan Arpfors
5250
- Imran Zaheer
5351
- Leo X.M. Zeng
54-
- shanInfo
52+
- ShanInfo
53+
- 冯磊
5554
- 高雪玉
5655
- 郭新源
57-
- 贾楠
5856
- 矫顺田
5957
- 梁翔宇
6058
- 吕新杰
6159
- 牛世继
60+
- 彭冲
6261
- 任娇
63-
- 阮秀华
6462
- 尚雷
65-
- 孙锐克
6663
- 王丽
6764
- 王守波
68-
- 严少安
65+
- 文一
66+
- 严少安
67+
- 周家杰

CN/modules/ROOT/pages/v3.3/10.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ Ora2Pg 由一个 Perl 脚本(ora2pg)以及一个 Perl 模块( https://gith
4545

4646
|===
4747
| linux环境 | Oracle版本 | IvorySQL版本
48-
| Centos 7.X | 19.0.0.0 | 3.2
48+
| Centos Stream 9 | 19.0.0.0 | 3.4
4949
|===
5050

5151
=== 依赖环境安装
5252

5353
==== 安装Perl
5454

5555
```bash
56-
[root@localhost /]# yum install -y perl perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
56+
[root@localhost /]# dnf install -y perl perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
5757
[root@localhost /]# perl -v
5858

5959

CN/modules/ROOT/pages/v3.3/11.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ IvorySQL原生100%兼容PostgreSQL,因此,PostGIS可以完美适配IvorySQL。
1111
根据开发环境,用户可从 https://postgis.net/documentation/getting_started/#installing-postgis[PostGIS安装] 页面选择适合自己的方式进行安装PostGIS安装。
1212

1313
=== 源码安装
14-
除PostGIS社区提供的安装方式以外,IvorySQL社区也提供了源码安装方式,源码安装环境为 CentOS 7.9(x86_64)。
14+
除PostGIS社区提供的安装方式以外,IvorySQL社区也提供了源码安装方式,源码安装环境为 CentOS Stream 9(x86_64)。
1515

1616
[NOTE]
1717
请确保环境中已安装了**IvorySQL3.0及以上版本**
1818

1919
** 安装依赖
2020
```
21-
yum install -y gcc gcc-c++ libtiff libtiff-devel.x86_64 libcurl-devel.x86_64 libtool libxml2-devel redhat-rpm-config clang llvm geos311 automake protobuf-c-devel
21+
dnf install -y gcc gcc-c++ libtiff libtiff-devel.x86_64 libcurl-devel.x86_64 libtool libxml2-devel redhat-rpm-config clang llvm geos311 automake protobuf-c-devel
2222
```
2323

2424
** 安装SQLITE

CN/modules/ROOT/pages/v3.3/12.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ sudo --preserve-env=PG_CONFIG make install
4949
** 创建pgvector扩展
5050
```
5151
[ivorysql@localhost ivorysql-3]$ psql
52-
psql (16.3)
52+
psql (16.4)
5353
Type "help" for help.
5454

5555
ivorysql=# create extension vector;

CN/modules/ROOT/pages/v3.3/19.adoc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,9 @@ declare
2121
i integer := 10;
2222
begin
2323
raise notice '%', i;
24-
raise notice '%', main.i;
2524
end;
2625
/
2726
NOTICE: 10
28-
NOTICE: 10
2927

3028
```
3129

CN/modules/ROOT/pages/v3.3/2.adoc

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,13 @@ IvorySQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS)
6969

7070
== 与Oracle的兼容性
7171

72-
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.3/v3.3/14[ivorysql框架设计]
73-
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.3/v3.3/15[GUC框架]
74-
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.3/v3.3/16[大小写转换]
75-
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.3/v3.3/17[双模式设计]
76-
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.3/v3.3/18[兼容Oracle like]
77-
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.3/v3.3/19[兼容Oracle匿名块]
78-
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.3/v3.3/20[兼容Oracle函数与存储过程]
79-
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.3/v3.3/21[内置数据类型与内置函数]
80-
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.3/v3.3/22[新增Oracle兼容模式的端口与IP]
81-
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.3/v3.3/26[XML函数]
72+
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.4/v3.4/14[ivorysql框架设计]
73+
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.4/v3.4/15[GUC框架]
74+
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.4/v3.4/16[大小写转换]
75+
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.4/v3.4/17[双模式设计]
76+
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.4/v3.4/18[兼容Oracle like]
77+
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.4/v3.4/19[兼容Oracle匿名块]
78+
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.4/v3.4/20[兼容Oracle函数与存储过程]
79+
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.4/v3.4/21[内置数据类型与内置函数]
80+
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.4/v3.4/22[新增Oracle兼容模式的端口与IP]
81+
* https://docs.ivorysql.org/cn/ivorysql-doc/v3.4/v3.4/26[XML函数]

CN/modules/ROOT/pages/v3.3/21.adoc

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@
6868
|hextoraw
6969
|uid
7070
|USERENV
71+
|asciistr
72+
|to_multi_byte
73+
|to_single_byte
74+
|compose
75+
|decompose
7176
|====
7277

7378
== 内置函数说明
@@ -963,3 +968,67 @@ select userenv('sessionid')from dual;
963968
(1 row)
964969
```
965970
971+
41、兼容ASCIISTR函数,功能:传入字符串,返回对应的ASCII字符,测试用例如下:
972+
只有ASCII字符:
973+
```
974+
select asciistr('Hello, World!') from dual;
975+
asciistr
976+
---------------
977+
Hello, World!
978+
(1 row)
979+
```
980+
981+
非ASCII字符:
982+
```
983+
select asciistr('你好') from dual;
984+
asciistr
985+
------------
986+
\4F60\597D
987+
```
988+
989+
同时包含ASCII字符和非ASCII字符:
990+
```
991+
select asciistr('ABÄCDE') from dual;
992+
asciistr
993+
------------
994+
AB\00C4CDE
995+
(1 row)
996+
```
997+
998+
42、兼容TO_MULTI_BYTE函数, 功能:将字符串中的半角字符转换为全角字符:
999+
输入半角字符,转换为全角字符:
1000+
```
1001+
select to_multi_byte('1.2'::text) ;
1002+
to_multi_byte
1003+
---------------
1004+
1.2
1005+
```
1006+
1007+
43、兼容TO_SINGLE_BYTE函数, 功能:将字符串中的半角字符转换为全角字符
1008+
输入全角字符,转换为半角字符:
1009+
```
1010+
select to_single_byte('1.2');
1011+
to_single_byte
1012+
----------------
1013+
1.2
1014+
```
1015+
1016+
44、兼容COMPOSE函数,功能:将基本字符和组合标记组合一个复合Unicode字符:
1017+
输入基本字符a和组合标记768, 返回法语à
1018+
```
1019+
select compose('a'||chr(768)) from dual;
1020+
compose
1021+
---------
1022+
à
1023+
(1 row)
1024+
```
1025+
1026+
1027+
45、兼容DECOMPOSE函数,功能:将复合Unicode字符(如带有重音或特殊符号的字符)分解为其基本字符和组合标记
1028+
输入法语é,返回基本字符e和组合标记301:
1029+
```
1030+
select asciistr(decompose('é')) from dual;
1031+
asciistr
1032+
----------
1033+
e\0301
1034+
```

CN/modules/ROOT/pages/v3.3/26.adoc

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ SELECT existsnode(XMLType('<a><b>d</b></a>'), '/a') from dual;
4141
| 9 | <<insertchildxml>> | 该函数用于向指定的XML路径中插入子节点
4242
| 10 | <<insertchildxmlbefore>> | 该函数用于向指定的XML路径之前插入子节点
4343
| 11 | <<insertchildxmlafter>> | 该函数用于向指定的XML路径之后插入子节点
44+
| 12 | <<xmlisvalid>> | 该函数用于检查XML格式是否正确
45+
| 13 | <<xmlelement>> | 该函数用于生成XML格式的数据结构
4446
|====
4547

4648

@@ -204,4 +206,37 @@ ivorysql=# SELECT insertchildxmlafter(XMLType('<a><b>100</b></a>'), '/a', 'b', X
204206
<c>88</c> +
205207
</a>
206208
(1 row)
209+
```
210+
211+
[[xmlisvalid]]
212+
=== xmlisvalid
213+
```
214+
ivorysql=# SELECT xmlisvalid(XMLTYPE('<a>'));
215+
xmlisvalid
216+
------------
217+
f
218+
(1 row)
219+
220+
ivorysql=# SELECT xmlisvalid(XMLTYPE('<a/>'));
221+
xmlisvalid
222+
------------
223+
t
224+
(1 row)
225+
```
226+
227+
[[xmlelement]]
228+
=== xmlelement
229+
```
230+
ivorysql=# create table xmltest(id int, data XMLType);
231+
CREATE TABLE
232+
ivorysql=# insert into xmltest values(1,'<value>one</value>');
233+
INSERT 0 1
234+
ivorysql=# insert into xmltest values(2,'<value>two</value>');
235+
INSERT 0 1
236+
ivorysql=# SELECT XMLELEMENT("Employee"), XMLELEMENT("Id", x.id), XMLELEMENT("Data", x.data) AS "Result" FROM xmltest x;
237+
xmlelement | xmlelement | Result
238+
------------+------------+-------------
239+
<Employee/> | <Id>1</Id> | <Data>&lt;value&gt;one&lt;/value&gt;</Data>
240+
<Employee/> | <Id>2</Id> | <Data>&lt;value&gt;two&lt;/value&gt;</Data>
241+
(2 rows)
207242
```

0 commit comments

Comments
 (0)