Skip to content

Commit 9fc91c7

Browse files
authored
Merge pull request #95 from luss/luss-patch-2
Luss patch 2
2 parents 0624051 + 8fa7309 commit 9fc91c7

File tree

7 files changed

+28
-28
lines changed

7 files changed

+28
-28
lines changed

EN/modules/ROOT/pages/v4.0/23.adoc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@
99

1010
=== Illustration
1111

12-
IvorySQL is maintained by a core development team, which has commit access to the main repository of IvorySQL on GitHub.Meanwhile,we are eager to get contributions from members of the wider IvorySQL community. If you want to see your changes to code or documents added to IvorySQL and appear in future versions, you need to know the content of this section.
12+
IvorySQL is maintained by a core development team, which has commit access to the main repository of IvorySQL on GitHub. We are eager to get contributions from members of the wider IvorySQL community. If you want to see your changes to code or documents added to IvorySQL and appear in future versions, you need to understand the content of this section.
1313

14-
​IvorySQL community welcomes and appreciates all types of contributions, looking forward to your participation!
14+
​IvorySQL community welcomes and appreciates all types of contributions and we are looking forward to your participation!
1515

1616
=== Principles of Conduct
1717

18-
For each member, contributor and leader, everyone should read our *principles of conduct* . We promise that everyone can participate in community and pay equal attention to everyone, no matter who.
18+
Every member, contributor and leader should read our *principles of conduct*. We promise that everyone can participate in community and pay equal attention to everyone, no matter who.
1919

2020
We are committed to acting and interacting in a way that contributes to the establishment of an open, enthusiastic, diverse, inclusive and healthy community.
2121

2222
=== Description of Community Governance
2323

24-
Our team is a continuously open team, focusing on a part of the IvorySQL.In our team, there are reviewers, submitters and maintainers, and we have one or more repositories. The decision of the team is made by the maintainer. The typical promotion path for IvorySQL developers is from user to reviewer, then submitter and maintainer. But getting more roles doesn't mean you have any privileges to other community members. Everyone in the IvorySQL community is equal and has the responsibility to cooperate constructively with other contributors to build a friendly community. These roles are natural rewards for your significant contributions to the development of IvorySQL, and provide you with more rights in the development workflow to improve your efficiency. At the same time,this requires you to undertake some additional duty:
24+
Our team is a continuously open team, focusing on parts of IvorySQL. In our team, there are reviewers, submitters and maintainers, and we have one or more repositories. The decision for the team is made by the maintainer. The typical promotion path for IvorySQL developers is from user to reviewer, then submitter and maintainer. But getting more roles doesn't mean you have any privileges to other community members. Everyone in the IvorySQL community is equal and has the responsibility to cooperate constructively with other contributors to build a friendly community. These roles are natural rewards for your significant contributions to the development of IvorySQL, and provide you with more rights in the development workflow to improve your efficiency. At the same time,this requires you to undertake some additional duty:
2525

2626
​Team honor: now you are already one of the team reviewers/submitters/maintainers, it means that you represent the project and your team members. So, please be Mr.Nice Guy to defend the reputation of the team.
2727

@@ -36,7 +36,7 @@ Before contributing, we need to know the current version of IvorySQL and the ver
3636

3737
==== Getting started
3838

39-
IvorySQL is developed on GtiHub. Anyone who wishes to contribute to it must have a Github account and be familiar with Git tools and workflow. It is also recommended that you follow the developer's mailing list since some of the contributions may generate more detailed discussions there.
39+
IvorySQL is developed on GitHub. Anyone who wishes to contribute to it must have a Github account and be familiar with Git tools and workflow. It is also recommended that you follow the developer's mailing list since some of the contributions may generate more detailed discussions there.
4040

4141
Once you have your GitHub account, fork this repository so that you can have your private copy to start hacking on and to use as a source of pull requests.
4242

@@ -49,7 +49,7 @@ If the contribution you're submitting is NOT original work you have to indicate
4949
Finally, keep in mind that it is NEVER a good idea to remove licensing headers from the work that is not your original one. Even if you are using parts of the file that originally had a licensing header at the top you should err on the side of preserving it. As always, if you are not quite sure about the licensing implications of your contributions, feel free to reach out to us on the developer mailing list.
5050

5151

52-
=== What Contribution can You Make
52+
=== What Contribution Can You Make
5353

5454
==== Code Contribution
5555

@@ -84,7 +84,7 @@ You can submit your article to the blog in the IvorySQL-WWW code warehouse, or s
8484

8585
Your chances of getting feedback and seeing your code merged into the project greatly depend on how granular your changes are. If you happen to have a bigger change in mind, we highly recommend engaging on the developer's mailing list first and sharing your proposal with us before you spend a lot of time writing code. Even when your proposal gets validated by the community, we still recommend doing the actual work as a series of small, self-contained commits. This makes the reviewer's job much easier and increases the timeliness of feedback.
8686

87-
When it comes to C and C++ parts of IvorySQL, we try to follow PostgreSQL Coding Conventions. In addition to that:
87+
When it comes to C and C++ parts of IvorySQL, we follow PostgreSQL Coding Conventions. In addition to that:
8888

8989
For C and Perl code, please run pgindent if necessary. We recommend using git diff --color when reviewing your changes so that you don't have any spurious whitespace issues in the code that you submit.
9090

EN/modules/ROOT/pages/v4.0/24.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
== List of tools
99

10-
This part contains reference information for IvorySQL client applications and utilities. Not all of these commands are of general utility; some might require special privileges. The common feature of these applications is that they can be run on any host, independent of where the database server resides.
10+
This part contains reference information for IvorySQL client applications and utilities. Not all of these commands are of general utility; some might require special privileges. The common feature of Client Applications is that they can be run on any host, independent of where the database server resides.
1111

1212
When specified on the command line, user and database names have their case preserved — the presence of spaces or special characters might require quoting. Table names and other identifiers do not have their case preserved, except where documented, and might require quoting.
1313

EN/modules/ROOT/pages/v4.0/26.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ XML (eXtended Markup Language) is a text-based format language used to structure
1414
====
1515

1616
== Implementation Principle
17-
When IvorySQL achieves compatibility with 11 commonly used XML SQL functions in Oracle 12c, it maintains consistency with PostgreSQL by utilizing the same underlying processing functions, which are provided by the libxml2 library interface. These XML functions are provided as a sub-plugin of the ivorysql_ora plugin, ensuring compatibility and consistency with PostgreSQL databases in terms of XML processing.
17+
IvorySQL achieves compatibility with commonly used XML SQL functions. It maintains consistency with PostgreSQL by utilizing the same underlying processing functions, which are provided by the libxml2 library interface. These XML functions are provided as a sub-plugin of the ivorysql_ora plugin, ensuring compatibility and consistency with PostgreSQL databases in terms of XML processing.
1818

1919
Due to Oracle's XML functions requiring certain parameter types to be XMLType, such as the existsnode() function below:
2020

@@ -28,7 +28,7 @@ Therefore, for compatibility purposes, an XMLType data type has been added. Its
2828

2929
Additionally, to avoid confusion with the existing keyword "extract" in PostgreSQL, IvorySQL has renamed the original keyword to "PGEXTRACT" to ensure clarity and accuracy in function calls.
3030

31-
When implementing these 11 Oracle-compatible XML functions, IvorySQL adopted two different approaches. Among them, besides the UPDATEXML function, the other 10 functions are implemented using SQL functions. Since the number of parameters for the UPDATEXML function is uncertain, an expression-based approach was used for its implementation. This required writing specialized syntax parsing and executor code to ensure the correctness and flexibility of its functionality.
31+
When implementing these Oracle-compatible XML functions, IvorySQL adopted two different approaches. Among them, besides the UPDATEXML function, the other functions are implemented using SQL functions. Since the number of parameters for the UPDATEXML function is uncertain, an expression-based approach was used for its implementation. This required writing specialized syntax parsing and executor code to ensure the correctness and flexibility of its functionality.
3232

3333
== Compatible Function
3434
|====

EN/modules/ROOT/pages/v4.0/28.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77

88
== Objective
99

10-
IvorySQL provides compatibility for Oracle custom packages.A package is an encapsulated collection of related program objects stored together in the database. Program objects are procedures, functions, variables, constants, cursors, and exceptions.
10+
IvorySQL provides compatibility for Oracle packages. A package is an encapsulated collection of related program objects stored together in the database. Program objects are procedures, functions, variables, constants, cursors, and exceptions.
1111

12-
This document aims to provide a comprehensive understanding of the process of implementing custom packages for the users.
12+
This document aims to provide a comprehensive understanding of the process of implementing custom packages.
1313

1414
== Function descriptions
1515

16-
IvorySQL provides compatibility for Oracle custom packages,including creation,alteration,and description of packages and package bodies,adds support for package-related commands in the PostgreSQL interactive terminal (psql) with the new \dk command.
16+
IvorySQL provides compatibility for Oracle custom packages, including creation, alteration, and deletion of packages and package bodies. We also add support for package-related commands in the PostgreSQL interactive terminal (psql) with the new \dk command.
1717

1818
=== Create the specification of a package
1919

@@ -23,7 +23,7 @@ To create or replace the specification of a package in your own schema, you must
2323

2424
=== Create package body
2525

26-
The CREATE OR REPLACE PACKAGE BODY statement is used to create or replace a package body.To create a package body requires the same privileges as creating the specification of a package, and it is required that the package body and package specification be in the same schema, with the package specification already existing. This statement defines the objects declared in the package specification.
26+
The CREATE OR REPLACE PACKAGE BODY statement is used to create or replace a package body. To create a package body requires the same privileges as creating the specification of a package, and it is required that the package body and package specification be in the same schema, with the package specification already existing. This statement defines the objects declared in the package specification.
2727

2828
When the package specification contains cursors or subprograms, a package body must be present to define them. Otherwise, the package body is optional.
2929

@@ -33,7 +33,7 @@ The ALTER PACKAGE statement is used to modify the properties of a package.The pr
3333

3434
=== Drop package and package body
3535

36-
The DROP PACKAGE statement deletes a stored package in the database. This statement will remove both the package body and the package specification.The DROP PACKAGE BODY statement only deletes the package body.
36+
The DROP PACKAGE statement deletes a package in the database. This statement will remove both the package body and the package specification.The DROP PACKAGE BODY statement only deletes the package body.
3737

3838
It is not possible to delete a single object within the package using this statement. The privileges required:the package must be in the user's schema, or the user must have the DROP ANY PROCEDURE system privilege.
3939

@@ -160,4 +160,4 @@ est_f');+
160160
+
161161
| | | | | | | end
162162
(2 rows)
163-
```
163+
```

EN/modules/ROOT/pages/v4.0/29.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ Invisible columns are also useful during application migration. Making new colum
1313

1414
== Function descriptions
1515

16-
The invisible columns allowing users to conceal specific columns during operations like SELECT *. You can use invisible column to make changes to a table without disrupting applications that use the table.Any generic access of a table does not show the invisible columns in the table.Invisible columns must be explicitly referenced by column names in order to be accessed in queries and other operations.
16+
Invisible columns allow users to conceal specific columns during operations like SELECT *. You can use invisible column to make changes to a table without disrupting applications that use the table. Any generic access of a table does not show the invisible columns in the table. Invisible columns must be explicitly referenced by column names in order to be accessed in queries and other operations.
1717

18-
Support for invisible columns in psql extended describe (\d+) is added,in oracle mode only.
18+
Support for invisible columns in psql extended describe (\d+) is added, in oracle mode only.
1919

2020
== Test cases
2121

@@ -26,7 +26,7 @@ CREATE TABLE
2626
```
2727
=== Insert values into invisible columns
2828

29-
You can insert a value into an invisible column only if you explicitly specify the invisible column in the column list for the INSERT statement. Omitting the column list in the INSERT statement is not allowed if you insert values into a table with invisible columns. Errors will be reported.
29+
You can insert a value into an invisible column only if you explicitly specify the invisible column in the column list for the INSERT statement. Omitting the column list in the INSERT statement is not allowed. Errors will be reported.
3030
```
3131
ivorysql=# INSERT INTO mytable (a, b, c) VALUES (1,2,3);
3232
INSERT 0 1
@@ -65,5 +65,5 @@ Access method: heap
6565
6666
== Limitations
6767
68-
- Modify column is not supported currently.Will be enhanced in later version;
69-
- In Oracle, there are special considerations for invisible columns and column ordering. When a table contains one or more invisible columns, the invisible columns are not included in the column order for the table.We have not yet addressed this part.
68+
- Modify column is not supported currently. Will be enhanced in later version;
69+
- In Oracle, there are special considerations for invisible columns and column ordering. When a table contains one or more invisible columns, the invisible columns are not included in the column order for the table. We have not yet addressed this part.

EN/modules/ROOT/pages/v4.0/9.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Since IvorySQL is based on PostgreSQL, it is recommended that when reading and u
1313

1414
The IvorySQL version number consists of a major version and a minor version. For example, 3 in IvorySQL 3.2 is the major version and 2 is the minor version.
1515

16-
Releasing a minor version is not going to change the in-memory storage format, so it is always compatible with the same major version. For example, IvorySQL 3.4 is compatible with Ivory SQL 3.0 and the subsequent Ivory SQL 3.x. Upgrading for these compatible versions is as simple as shutting down the database service, installing a replacement binary executable, and restarting the service.
16+
Releasing a minor version is not going to change the internal storage format, so it is always compatible with the same major version. For example, IvorySQL 3.4 is compatible with Ivory SQL 3.0 and the subsequent Ivory SQL 3.x. Upgrading for these compatible versions is as simple as shutting down the database service, installing a replacement binary executable, and restarting the service.
1717

1818
​ Next, we focus on cross-version upgrades of IvorySQL, for example, from IvorySQL 2.3 to IvorySQL 3.2. Major version upgrades may modify the internal data storage format and therefore require additional operations to be performed. The common cross-version upgrade methods and applicable scenarios are as follows.
1919

@@ -29,9 +29,9 @@ Releasing a minor version is not going to change the in-memory storage format, s
2929

3030
=== Upgrade data via pg_dumpall
3131

32-
The traditional cross-version upgrade method uses pg_dump/pg_dumpall to logically backup the database everywhere and then restore it in the new version via pg_restore. It is recommended to use the new version of pg_dump/pg_dumpall tool when exporting the old version of the database.You can take advantage of its latest parallel export and restore features, while reducing database bloat problems.
32+
The traditional cross-version upgrade method uses pg_dump/pg_dumpall to logically backup the database and then restore it in the new version via pg_restore. It is recommended to use the new version of pg_dump/pg_dumpall tool when exporting the old version of the database. You can take advantage of its latest parallel export and restore features, while reducing database bloat problems.
3333

34-
Logical backup and restore is very simple but slow, downtime depends on the size of the database, so it is suitable for small to medium sized database upgrades.
34+
Logical backup and restore is very simple but slow. Downtime depends on the size of the database, so it is suitable for small to medium sized database upgrades.
3535

3636
​The following describes how this upgrade method works. If the current IvorySQL software installation directory is located in /usr/local/pgsql and the data directory is located in /usr/local/pgsql/data, we do the upgrade on the same server.
3737

@@ -197,7 +197,7 @@ The idea behind this dump method is to generate a file with SQL commands that, w
197197
198198
As you see, pg_dump writes its result to the standard output. We will see below how this can be useful. While the above command creates a text file, pg_dump can create files in other formats that allow for parallelism and more fine-grained control of object restoration.
199199
200-
pg_dump is a regular IvorySQL client application (albeit a particularly clever one). This means that you can perform this backup procedure from any remote host that has access to the database. But remember that pg_dump does not operate with special permissions. In particular, it must have read access to all tables that you want to back up, so in order to back up the entire database you almost always have to run it as a database superuser. (If you do not have sufficient privileges to back up the entire database, you can still back up portions of the database to which you do have access using options such as `-n *`schema`*` or `-t *`table`*`.)
200+
pg_dump is a regular IvorySQL client application (albeit a particularly clever one). This means that you can perform this backup procedure from any remote host that has access to the database. pg_dump must have read access to all tables that you want to back up, so in order to back up the entire database you almost always have to run it as a database superuser. (If you do not have sufficient privileges to back up the entire database, you can still back up portions of the database to which you do have access using options such as `-n *`schema`*` or `-t *`table`*`.)
201201
202202
​To specify which database server pg_dump should contact, use the command line options `-h *`host`*` and `-p *`port`*`. The default host is the local host or whatever your `HOST` environment variable specifies. Similarly, the default port is indicated by the `PORT` environment variable or, failing that, by the compiled-in default. (Conveniently, the server will normally have the same compiled-in default.)
203203

0 commit comments

Comments
 (0)