From eaa5d5306308784c10d7508ebb01f0a13a09aab1 Mon Sep 17 00:00:00 2001 From: nidhibhammar <59045594+nidhibhammar@users.noreply.github.com> Date: Mon, 15 Apr 2024 11:34:59 +0530 Subject: [PATCH 01/14] begin fork of epas 17 docs --- .../docs/epas/17/images/download_complete_confirmation.png | 3 +++ .../docs/epas/17/images/selected_packages_summary_window.png | 3 +++ .../stackBuilder_plus_confirms_the_completed_installation.png | 3 +++ .../17/images/summary_window_displaying_selected_packages.png | 3 +++ product_docs/docs/epas/17/images/the_proxy_servers_dialog.png | 3 +++ .../images/the_stackBuilder_plus_module_selection_window.png | 3 +++ .../docs/epas/17/images/the_stackBuilder_plus_welcome.png | 3 +++ 7 files changed, 21 insertions(+) create mode 100644 product_docs/docs/epas/17/images/download_complete_confirmation.png create mode 100644 product_docs/docs/epas/17/images/selected_packages_summary_window.png create mode 100644 product_docs/docs/epas/17/images/stackBuilder_plus_confirms_the_completed_installation.png create mode 100644 product_docs/docs/epas/17/images/summary_window_displaying_selected_packages.png create mode 100755 product_docs/docs/epas/17/images/the_proxy_servers_dialog.png create mode 100644 product_docs/docs/epas/17/images/the_stackBuilder_plus_module_selection_window.png create mode 100644 product_docs/docs/epas/17/images/the_stackBuilder_plus_welcome.png diff --git a/product_docs/docs/epas/17/images/download_complete_confirmation.png b/product_docs/docs/epas/17/images/download_complete_confirmation.png new file mode 100644 index 00000000000..311a2f19d49 --- /dev/null +++ b/product_docs/docs/epas/17/images/download_complete_confirmation.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53af024b51dfd46c7d6f26d057f6e133bee7d020bf2ce480b2e23c7dd49d81fb +size 69545 diff --git a/product_docs/docs/epas/17/images/selected_packages_summary_window.png b/product_docs/docs/epas/17/images/selected_packages_summary_window.png new file mode 100644 index 00000000000..8325bc25697 --- /dev/null +++ b/product_docs/docs/epas/17/images/selected_packages_summary_window.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38a61b6f6e238697dab8da790f979ddf77409a495e637e2ee3d11403715311dc +size 68659 diff --git a/product_docs/docs/epas/17/images/stackBuilder_plus_confirms_the_completed_installation.png b/product_docs/docs/epas/17/images/stackBuilder_plus_confirms_the_completed_installation.png new file mode 100644 index 00000000000..f7eacf0d2ef --- /dev/null +++ b/product_docs/docs/epas/17/images/stackBuilder_plus_confirms_the_completed_installation.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68b4b6d4e811d511ba9406fb0374ea0c1bbcf76947545d75d0d4bfdd42167608 +size 74362 diff --git a/product_docs/docs/epas/17/images/summary_window_displaying_selected_packages.png b/product_docs/docs/epas/17/images/summary_window_displaying_selected_packages.png new file mode 100644 index 00000000000..459bd0a99ca --- /dev/null +++ b/product_docs/docs/epas/17/images/summary_window_displaying_selected_packages.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4823d7dcb6cd69945edf5ce074748e61683539e6d06d5cb91c403f517daa36b7 +size 107084 diff --git a/product_docs/docs/epas/17/images/the_proxy_servers_dialog.png b/product_docs/docs/epas/17/images/the_proxy_servers_dialog.png new file mode 100755 index 00000000000..3b5c76bd9c9 --- /dev/null +++ b/product_docs/docs/epas/17/images/the_proxy_servers_dialog.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f26ab5caf958119b8c6843262de4e2d33f6f966aca556dda8f6b11a855f19739 +size 5612 diff --git a/product_docs/docs/epas/17/images/the_stackBuilder_plus_module_selection_window.png b/product_docs/docs/epas/17/images/the_stackBuilder_plus_module_selection_window.png new file mode 100644 index 00000000000..b0a60a603bc --- /dev/null +++ b/product_docs/docs/epas/17/images/the_stackBuilder_plus_module_selection_window.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b082d664e93feae50bc4eda4e88ac7fe815d81783ba0aba177414e70a6c56db1 +size 74214 diff --git a/product_docs/docs/epas/17/images/the_stackBuilder_plus_welcome.png b/product_docs/docs/epas/17/images/the_stackBuilder_plus_welcome.png new file mode 100644 index 00000000000..15ab6e100bf --- /dev/null +++ b/product_docs/docs/epas/17/images/the_stackBuilder_plus_welcome.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ba62871fdf8d225a2d03c0d85598e9e119e6901f42f3a74ed7ec6a6b14f4d45 +size 73197 From 3918d972938d0b6c7bcd032a5f124311224b88bd Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 6 Aug 2024 12:53:39 -0400 Subject: [PATCH 02/14] First content for DBMS_ASSERT --- .../01a_dbms_assert/01_enquote_literal | 21 +++++++++++++++++++ .../01a_dbms_assert/01_enquote_name | 21 +++++++++++++++++++ .../01a_dbms_assert/index | 17 +++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_literal create mode 100644 product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_name create mode 100644 product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_literal b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_literal new file mode 100644 index 00000000000..1b47a15e31a --- /dev/null +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_literal @@ -0,0 +1,21 @@ +--- +title: "ENQUOTE_LITERAL" +--- + +The `ENQUOTE_LITERAL` procedure procedure wraps single quotes around a string literal unless it is already enclosed in single quotes. + +Only an even number of single quotes are allowed in the string, excluding the enclosing quotes. + +```sql +ENQUOTE_LITERAL( + VARCHAR2,) +RETURN VARCHAR2; +``` + +## Parameters + +`str` + + The string to be wrapped in single quotes. + + diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_name new file mode 100644 index 00000000000..644970ef568 --- /dev/null +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_name @@ -0,0 +1,21 @@ +--- +title: "ENQUOTE_NAME" +--- + +The `ENQUOTE_NAME` procedure procedure wraps quotation marks around a string literal unless it is already enclosed in quotation marks. + + +```sql +ENQUOTE_NAME( + VARCHAR2, + BOOLEAN DEFAULT TRUE) +RETURN VARCHAR2; +``` + +## Parameters + +`str` + + The string to be wrapped in single quotes. + + diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index new file mode 100644 index 00000000000..d17c88d449d --- /dev/null +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index @@ -0,0 +1,17 @@ +--- +title: "DBMS_ASSERT" +legacyRedirectsGenerated: + # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. +--- + +The `DBMS_ASSERT` package helps you sanitize user input to help prevent SQL injections into applications. The following table lists the supported procedures: + +| Function/procedure | Return type | Description | +| ---------------------| ----------- | --------------------------------------------------- | +| `ENQUOTE_LITERAL` | n/a | Wraps a string in single quotes | +| `ENQUOTE_NAME` | n/a | . | +| `NOOP` | n/a | . | +| `QUALIFIED_SQL_NAME` | n/a | `. | +| `SCHEMA_NAME` | n/a | . | +| `SIMPLE_SQL_NAME` | n/a | | +| `SQL_OBJECT_NAME` | n/a | . | From d663e858b7c339cafe8fecb6b0c23197f95d2a70 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Mon, 12 Aug 2024 11:27:07 -0400 Subject: [PATCH 03/14] Another draft of dbms.assert --- .../01a_dbms_assert/01_enquote_name | 21 ----------- .../{01_enquote_literal => enquote_literal} | 0 .../01a_dbms_assert/enquote_name | 37 +++++++++++++++++++ .../01a_dbms_assert/index | 20 ++++++---- .../01a_dbms_assert/noop | 23 ++++++++++++ .../01a_dbms_assert/qualified_sql_name | 19 ++++++++++ .../01a_dbms_assert/schema_name | 19 ++++++++++ 7 files changed, 111 insertions(+), 28 deletions(-) delete mode 100644 product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_name rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/{01_enquote_literal => enquote_literal} (100%) create mode 100644 product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_name create mode 100644 product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/noop create mode 100644 product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/qualified_sql_name create mode 100644 product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/schema_name diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_name deleted file mode 100644 index 644970ef568..00000000000 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_name +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "ENQUOTE_NAME" ---- - -The `ENQUOTE_NAME` procedure procedure wraps quotation marks around a string literal unless it is already enclosed in quotation marks. - - -```sql -ENQUOTE_NAME( - VARCHAR2, - BOOLEAN DEFAULT TRUE) -RETURN VARCHAR2; -``` - -## Parameters - -`str` - - The string to be wrapped in single quotes. - - diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_literal b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_literal similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/01_enquote_literal rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_literal diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_name new file mode 100644 index 00000000000..1f5a1e8033c --- /dev/null +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_name @@ -0,0 +1,37 @@ +--- +title: "ENQUOTE_NAME" +--- + +The `ENQUOTE_NAME` procedure procedure wraps quotation marks around a string literal, even if the input is already enclosed in quotataion marks. The string can include a quotation mark but output for the string is puts quotation marks around the input quotation mark. By default output not included in quotation marks is converted to lower case, but setting a parameter to false means the input string is not converted. + +The following table shows examples of how quotes are handled. + +| Input | `capitalize` parameter | Output | +| ------ | ---------------------- | ----------- | +| ab"c | TRUE | "ab""c" | +| "abc" | TRUE | """abc""" | +| "a"bc" | TRUE | """a""bc""" | +| ABC | TRUE | "abc" | +| ABC | FALSE | "ABC" | +| abc | TRUE | "abc" | +| abc | FALSE | "abc" | + + +```sql +ENQUOTE_NAME( + VARCHAR2, + BOOLEAN DEFAULT TRUE) +RETURN VARCHAR2; +``` + +## Parameters + +`str` + + The string to be wrapped in quotation marks. + +`capitalize` + + If TRUE, alphabetic characters that are not wrapped in quotation marks are converted to lower case. If FALSE, input strings are not converted to lower case. + + diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index index d17c88d449d..5e5d0a8c92b 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index @@ -2,16 +2,22 @@ title: "DBMS_ASSERT" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. +navigation: +- enquote_literal +- enquote_name +- noop +- qualified_sql_name + --- The `DBMS_ASSERT` package helps you sanitize user input to help prevent SQL injections into applications. The following table lists the supported procedures: -| Function/procedure | Return type | Description | -| ---------------------| ----------- | --------------------------------------------------- | -| `ENQUOTE_LITERAL` | n/a | Wraps a string in single quotes | -| `ENQUOTE_NAME` | n/a | . | -| `NOOP` | n/a | . | -| `QUALIFIED_SQL_NAME` | n/a | `. | -| `SCHEMA_NAME` | n/a | . | +| Function/procedure | Return type | Description | +| ---------------------| --------------- | --------------------------------------------------- | +| `ENQUOTE_LITERAL` | n/a | Wraps a string in single quotes | +| `ENQUOTE_NAME` | n/a | Wraps quotation marks around a string | +| `NOOP` | `VARCHAR2, CLOB` | Returns a string without any checking | +| `QUALIFIED_SQL_NAME` | `VARCHAR2 | Checks if a string is a qualified SQL name | +| `SCHEMA_NAME` | `VARCHAR2 | Checks if a string is an existing schema name | | `SIMPLE_SQL_NAME` | n/a | | | `SQL_OBJECT_NAME` | n/a | . | diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/noop b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/noop new file mode 100644 index 00000000000..e140cf57518 --- /dev/null +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/noop @@ -0,0 +1,23 @@ +--- +title: "NOOP" +--- + +The `NOOP` procedure returns a string without any checking. + +```sql +NOOP( + VARCHAR2 CHARACTER SET ANY_CS) +RETURN VARCHAR2 CHARACTER SET str%CHARSET; + +NOOP( + CLOB CHARACTER SET ANY_CS) +RETURN CLOB CHARACTER SET str%CHARSET; +``` + +## Parameters + +`str` + + The input string. + + diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/qualified_sql_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/qualified_sql_name new file mode 100644 index 00000000000..e12b0c1650a --- /dev/null +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/qualified_sql_name @@ -0,0 +1,19 @@ +--- +title: "QUALIFIED_SQL_NAME" +--- + +The `QUALIFIED_SQL_NAME` procedure checks to determine if the input string is a qualified SQL name. A quotation mark is allows within the input string. + + +```sql +QUALIFIED_SQL_NAME( + VARCHAR2 CHARACTER SET ANY_CS) +RETURN VARCHAR2 CHARACTER SET str%CHARSET; +``` + +## Parameters + +`str` + + The input string. + diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/schema_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/schema_name new file mode 100644 index 00000000000..bf06b073a33 --- /dev/null +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/schema_name @@ -0,0 +1,19 @@ +--- +title: "SCHEMA_NAME" +--- + +The `SCHEMA_NAME` procedure checks to determine if the input string is an existing schema name. An error is generated if the name is not a valid schema name. + + +```sql +SCHEMA_NAME( + VARCHAR2 CHARACTER SET ANY_CS) +RETURN VARCHAR2 CHARACTER SET str%CHARSET; +``` + +## Parameters + +`str` + + The input string. White space is trimmed from the string. Mixed case is allowed. + From 63eb9173685c377a27999a8b92748034d8eae18a Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 13 Aug 2024 11:30:22 -0400 Subject: [PATCH 04/14] Another draft of DBMS_ASSERT --- .../01a_dbms_assert/enquote_name | 5 ++- .../01a_dbms_assert/index | 21 ++++++------ .../01a_dbms_assert/qualified_sql_name | 4 +-- .../01a_dbms_assert/schema_name | 2 +- .../01a_dbms_assert/simple_sql_name | 19 +++++++++++ .../01a_dbms_assert/sql_object_name | 32 +++++++++++++++++++ 6 files changed, 70 insertions(+), 13 deletions(-) create mode 100644 product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/simple_sql_name create mode 100644 product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/sql_object_name diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_name index 1f5a1e8033c..2bc5fcf97b2 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_name +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_name @@ -12,7 +12,10 @@ The following table shows examples of how quotes are handled. | "abc" | TRUE | """abc""" | | "a"bc" | TRUE | """a""bc""" | | ABC | TRUE | "abc" | -| ABC | FALSE | "ABC" | +| A | | | +| | | | +| | | | +| BC | FALSE | "ABC" | | abc | TRUE | "abc" | | abc | FALSE | "abc" | diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index index 5e5d0a8c92b..c8396a6409c 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index @@ -7,17 +7,20 @@ navigation: - enquote_name - noop - qualified_sql_name +- schema_name +- simple_sql_name +- sql_object_name --- The `DBMS_ASSERT` package helps you sanitize user input to help prevent SQL injections into applications. The following table lists the supported procedures: -| Function/procedure | Return type | Description | -| ---------------------| --------------- | --------------------------------------------------- | -| `ENQUOTE_LITERAL` | n/a | Wraps a string in single quotes | -| `ENQUOTE_NAME` | n/a | Wraps quotation marks around a string | -| `NOOP` | `VARCHAR2, CLOB` | Returns a string without any checking | -| `QUALIFIED_SQL_NAME` | `VARCHAR2 | Checks if a string is a qualified SQL name | -| `SCHEMA_NAME` | `VARCHAR2 | Checks if a string is an existing schema name | -| `SIMPLE_SQL_NAME` | n/a | | -| `SQL_OBJECT_NAME` | n/a | . | +| Function/procedure | Return type | Description | +| ---------------------| ---------------- | --------------------------------------------- | +| `ENQUOTE_LITERAL` | n/a | Wraps a string in single quotes | +| `ENQUOTE_NAME` | n/a | Wraps quotation marks around a string | +| `NOOP` | `VARCHAR2, CLOB` | Returns a string without any checking | +| `QUALIFIED_SQL_NAME` | `VARCHAR2 | Checks if a string is a qualified SQL name | +| `SCHEMA_NAME` | `VARCHAR2 | Checks if a string is an existing schema name | +| `SIMPLE_SQL_NAME` | `VARCHAR2` | Checks if a string is a simple SQL name | +| `SQL_OBJECT_NAME` | `VARCHAR2` | Checks if a string is a valid SQL identifier | diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/qualified_sql_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/qualified_sql_name index e12b0c1650a..5bb0b9bfaca 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/qualified_sql_name +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/qualified_sql_name @@ -2,7 +2,7 @@ title: "QUALIFIED_SQL_NAME" --- -The `QUALIFIED_SQL_NAME` procedure checks to determine if the input string is a qualified SQL name. A quotation mark is allows within the input string. +The `QUALIFIED_SQL_NAME` procedure checks to determine if the input string is a valid qualified name. ```sql @@ -15,5 +15,5 @@ RETURN VARCHAR2 CHARACTER SET str%CHARSET; `str` - The input string. + The input string. A quotation mark is allowed within the input string. diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/schema_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/schema_name index bf06b073a33..ede206e27f2 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/schema_name +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/schema_name @@ -2,7 +2,7 @@ title: "SCHEMA_NAME" --- -The `SCHEMA_NAME` procedure checks to determine if the input string is an existing schema name. An error is generated if the name is not a valid schema name. +The `SCHEMA_NAME` procedure checks to determine if the input string is an existing schema name. An error occurs if the name is not a valid schema name. ```sql diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/simple_sql_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/simple_sql_name new file mode 100644 index 00000000000..cb7331dee00 --- /dev/null +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/simple_sql_name @@ -0,0 +1,19 @@ +--- +title: "SIMPLE_SQL_NAME" +--- + +The `SIMPLE_SQL_NAME` procedure determines whether the input is a simple SQL name. + + +```sql +SIMPLE_SQL_NAME( + VARCHAR2 CHARACTER SET ANY_CS) +RETURN VARCHAR2 CHARACTER SET str%CHARSET; +``` + +## Parameters + +`str` + + The input string. White space is trimmed from the string. Mixed case is allowed. A quotation mark is allowed within the string. + diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/sql_object_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/sql_object_name new file mode 100644 index 00000000000..8e9513037aa --- /dev/null +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/sql_object_name @@ -0,0 +1,32 @@ +--- +title: "SQL_OBJECT_NAME" +--- + +The `SQL_OBJECT_NAME` procedure determines whether a string is a valid SQL identifier for a SQL object. An error occurs if a SQL object does not exist. + +The object can be a partition or subpartition or a database name. Here is the sequence used to validate an object: + +1. Table, view, materialized view, index, sequence, foreign table, partition-table, type, object type +1. Function, procedure, aggregate, routine +1. Packages +1. Synonym +1. Trigger +1. Queue, queue table +1. Event trigger + +The procedure does not validate sub-objects such as columns or package members. + +For example, if the name is `table_name.column_name`, the procedure validates the `table_name` by searching through table names in the search path. After finding the table name, the procedure validates the basic syntax of `column_name`. Similarly, in the case of `package_name.member_name`, after the procedure finds the package name in the search path, it only validates the basic syntax of `member_name`. + +```sql +SQL_OBJECT_NAME( + VARCHAR2 CHARACTER SET ANY_CS) +RETURN VARCHAR2 CHARACTER SET str%CHARSET; +``` + +## Parameters + +`str` + + The input string. + From 57cedca96382dabb213644d3e12041154a819fc2 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 13 Aug 2024 11:48:01 -0400 Subject: [PATCH 05/14] Repositioned files to correct location in hierarchy --- .../{ => 03_built-in_packages}/01a_dbms_assert/enquote_literal | 0 .../{ => 03_built-in_packages}/01a_dbms_assert/enquote_name | 0 .../{ => 03_built-in_packages}/01a_dbms_assert/index | 0 .../{ => 03_built-in_packages}/01a_dbms_assert/noop | 0 .../{ => 03_built-in_packages}/01a_dbms_assert/qualified_sql_name | 0 .../{ => 03_built-in_packages}/01a_dbms_assert/schema_name | 0 .../{ => 03_built-in_packages}/01a_dbms_assert/simple_sql_name | 0 .../{ => 03_built-in_packages}/01a_dbms_assert/sql_object_name | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/{ => 03_built-in_packages}/01a_dbms_assert/enquote_literal (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/{ => 03_built-in_packages}/01a_dbms_assert/enquote_name (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/{ => 03_built-in_packages}/01a_dbms_assert/index (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/{ => 03_built-in_packages}/01a_dbms_assert/noop (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/{ => 03_built-in_packages}/01a_dbms_assert/qualified_sql_name (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/{ => 03_built-in_packages}/01a_dbms_assert/schema_name (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/{ => 03_built-in_packages}/01a_dbms_assert/simple_sql_name (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/{ => 03_built-in_packages}/01a_dbms_assert/sql_object_name (100%) diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_literal b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_literal rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/enquote_name rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/index rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/noop b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/noop similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/noop rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/noop diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/qualified_sql_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/qualified_sql_name rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/schema_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/schema_name rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/simple_sql_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/simple_sql_name rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/sql_object_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/01a_dbms_assert/sql_object_name rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name From 66dcedbfa29f031abba75a5c1c2c5b52190c842a Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 14 Aug 2024 08:55:35 -0400 Subject: [PATCH 06/14] Added mdx suffix to all file names --- .../01a_dbms_assert/{enquote_literal => enquote_literal.mdx} | 0 .../01a_dbms_assert/{enquote_name => enquote_name.mdx} | 0 .../03_built-in_packages/01a_dbms_assert/{index => index.mdx} | 0 .../03_built-in_packages/01a_dbms_assert/{noop => noop.mdx} | 0 .../{qualified_sql_name => qualified_sql_name.mdx} | 0 .../01a_dbms_assert/{schema_name => schema_name.mdx} | 0 .../01a_dbms_assert/{simple_sql_name => simple_sql_name.mdx} | 0 .../01a_dbms_assert/{sql_object_name => sql_object_name.mdx} | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/{enquote_literal => enquote_literal.mdx} (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/{enquote_name => enquote_name.mdx} (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/{index => index.mdx} (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/{noop => noop.mdx} (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/{qualified_sql_name => qualified_sql_name.mdx} (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/{schema_name => schema_name.mdx} (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/{simple_sql_name => simple_sql_name.mdx} (100%) rename product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/{sql_object_name => sql_object_name.mdx} (100%) diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal.mdx similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal.mdx diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/noop b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/noop.mdx similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/noop rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/noop.mdx diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name.mdx similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name.mdx diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx similarity index 100% rename from product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name rename to product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx From 07c343c4e9e84ae8093e46dd17930c988a550104 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 14 Aug 2024 09:17:37 -0400 Subject: [PATCH 07/14] Grammatical edits to DBMS_ASSERT --- .../01a_dbms_assert/enquote_literal.mdx | 2 +- .../01a_dbms_assert/enquote_name.mdx | 12 +++++------ .../01a_dbms_assert/index.mdx | 20 +++++++++---------- .../01a_dbms_assert/qualified_sql_name.mdx | 2 +- .../01a_dbms_assert/schema_name.mdx | 2 +- .../01a_dbms_assert/sql_object_name.mdx | 8 ++++---- 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal.mdx index 1b47a15e31a..8218e2aa9d8 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal.mdx @@ -2,7 +2,7 @@ title: "ENQUOTE_LITERAL" --- -The `ENQUOTE_LITERAL` procedure procedure wraps single quotes around a string literal unless it is already enclosed in single quotes. +The `ENQUOTE_LITERAL` procedure wraps single quotes around a string unless the string is already enclosed in single quotes. Only an even number of single quotes are allowed in the string, excluding the enclosing quotes. diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx index 2bc5fcf97b2..887258012c2 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx @@ -2,7 +2,7 @@ title: "ENQUOTE_NAME" --- -The `ENQUOTE_NAME` procedure procedure wraps quotation marks around a string literal, even if the input is already enclosed in quotataion marks. The string can include a quotation mark but output for the string is puts quotation marks around the input quotation mark. By default output not included in quotation marks is converted to lower case, but setting a parameter to false means the input string is not converted. +The `ENQUOTE_NAME` procedure wraps quotation marks around a string, even if the input is already enclosed in quotataion marks. The string can include a quotation mark but output for the string puts quotation marks around the input quotation mark. By default output not included in quotation marks is converted to lower case, but setting a parameter to false means the case of input string is not converted. The following table shows examples of how quotes are handled. @@ -12,10 +12,10 @@ The following table shows examples of how quotes are handled. | "abc" | TRUE | """abc""" | | "a"bc" | TRUE | """a""bc""" | | ABC | TRUE | "abc" | -| A | | | -| | | | -| | | | -| BC | FALSE | "ABC" | +| A + + +BC | FALSE | "ABC" | | abc | TRUE | "abc" | | abc | FALSE | "abc" | @@ -35,6 +35,6 @@ RETURN VARCHAR2; `capitalize` - If TRUE, alphabetic characters that are not wrapped in quotation marks are converted to lower case. If FALSE, input strings are not converted to lower case. + If TRUE, alphabetic characters in the input string that are not wrapped in quotation marks are converted to lower case. If FALSE, input strings are not converted to lower case. diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx index c8396a6409c..ca43373419f 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx @@ -13,14 +13,14 @@ navigation: --- -The `DBMS_ASSERT` package helps you sanitize user input to help prevent SQL injections into applications. The following table lists the supported procedures: +The `DBMS_ASSERT` package lets you check user input to help prevent SQL injections into applications. The following table lists the supported procedures: -| Function/procedure | Return type | Description | -| ---------------------| ---------------- | --------------------------------------------- | -| `ENQUOTE_LITERAL` | n/a | Wraps a string in single quotes | -| `ENQUOTE_NAME` | n/a | Wraps quotation marks around a string | -| `NOOP` | `VARCHAR2, CLOB` | Returns a string without any checking | -| `QUALIFIED_SQL_NAME` | `VARCHAR2 | Checks if a string is a qualified SQL name | -| `SCHEMA_NAME` | `VARCHAR2 | Checks if a string is an existing schema name | -| `SIMPLE_SQL_NAME` | `VARCHAR2` | Checks if a string is a simple SQL name | -| `SQL_OBJECT_NAME` | `VARCHAR2` | Checks if a string is a valid SQL identifier | +| Function/procedure | Return type | Description | +| ---------------------| ------------------ | --------------------------------------------- | +| `ENQUOTE_LITERAL` | n/a | Wraps a string in single quotes | +| `ENQUOTE_NAME` | n/a | Wraps quotation marks around a string | +| `NOOP` | `VARCHAR2`, `CLOB` | Returns a string without any checking | +| `QUALIFIED_SQL_NAME` | `VARCHAR2` | Checks if a string is a qualified SQL name | +| `SCHEMA_NAME` | `VARCHAR2` | Checks if a string is an existing schema name | +| `SIMPLE_SQL_NAME` | `VARCHAR2` | Checks if a string is a simple SQL name | +| `SQL_OBJECT_NAME` | `VARCHAR2` | Checks if a string is a valid SQL identifier | diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx index 5bb0b9bfaca..03970b15e84 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx @@ -2,7 +2,7 @@ title: "QUALIFIED_SQL_NAME" --- -The `QUALIFIED_SQL_NAME` procedure checks to determine if the input string is a valid qualified name. +The `QUALIFIED_SQL_NAME` procedure determines whether the input string is a valid qualified SQL name. ```sql diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx index ede206e27f2..02f628737f9 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx @@ -2,7 +2,7 @@ title: "SCHEMA_NAME" --- -The `SCHEMA_NAME` procedure checks to determine if the input string is an existing schema name. An error occurs if the name is not a valid schema name. +The `SCHEMA_NAME` procedure determines whether the input string is an existing schema name. An error occurs if the name is not a valid schema name. ```sql diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx index 8e9513037aa..d0181e04b23 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx @@ -2,9 +2,9 @@ title: "SQL_OBJECT_NAME" --- -The `SQL_OBJECT_NAME` procedure determines whether a string is a valid SQL identifier for a SQL object. An error occurs if a SQL object does not exist. +The `SQL_OBJECT_NAME` procedure determines whether a string is a valid SQL identifier for a SQL object. An error occurs if the SQL object does not exist. -The object can be a partition or subpartition or a database name. Here is the sequence used to validate an object: +The object can be a partition or subpartition or a database name. The following list describes the sequence used to validate an object: 1. Table, view, materialized view, index, sequence, foreign table, partition-table, type, object type 1. Function, procedure, aggregate, routine @@ -14,9 +14,9 @@ The object can be a partition or subpartition or a database name. Here is the se 1. Queue, queue table 1. Event trigger -The procedure does not validate sub-objects such as columns or package members. +For example, if the name is `table_name.column_name`, the procedure validates the `table_name` by searching through table names in the search path. After finding the table name, the procedure validates the basic syntax of `column_name`. Similarly, in the case of `package_name.member_name`, after the procedure finds the package name in the search path, it validates only the basic syntax of `member_name`. -For example, if the name is `table_name.column_name`, the procedure validates the `table_name` by searching through table names in the search path. After finding the table name, the procedure validates the basic syntax of `column_name`. Similarly, in the case of `package_name.member_name`, after the procedure finds the package name in the search path, it only validates the basic syntax of `member_name`. +The procedure does not validate sub-objects such as columns or package members. ```sql SQL_OBJECT_NAME( From 885e4e5b1a31f5b984eca196fdb9de2bdd380b02 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 14 Aug 2024 10:21:57 -0400 Subject: [PATCH 08/14] minor changes to adjust pagination --- .../03_built-in_packages/01a_dbms_assert/enquote_name.mdx | 7 ++----- .../01a_dbms_assert/qualified_sql_name.mdx | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx index 887258012c2..477753ddc34 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx @@ -2,7 +2,7 @@ title: "ENQUOTE_NAME" --- -The `ENQUOTE_NAME` procedure wraps quotation marks around a string, even if the input is already enclosed in quotataion marks. The string can include a quotation mark but output for the string puts quotation marks around the input quotation mark. By default output not included in quotation marks is converted to lower case, but setting a parameter to false means the case of input string is not converted. +The `ENQUOTE_NAME` procedure wraps quotation marks around a string, even if the input is already enclosed in quotataion marks. The string can include a quotation mark but output for the string puts quotation marks around the input quotation mark. By default output not included in quotation marks is converted to lower case, but setting a parameter to FALSE means no conversion is applied to the case of the input string. The following table shows examples of how quotes are handled. @@ -12,10 +12,7 @@ The following table shows examples of how quotes are handled. | "abc" | TRUE | """abc""" | | "a"bc" | TRUE | """a""bc""" | | ABC | TRUE | "abc" | -| A - - -BC | FALSE | "ABC" | +| A

BC | FALSE | "ABC" | | abc | TRUE | "abc" | | abc | FALSE | "abc" | diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx index 03970b15e84..ab0692e5547 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx @@ -2,7 +2,7 @@ title: "QUALIFIED_SQL_NAME" --- -The `QUALIFIED_SQL_NAME` procedure determines whether the input string is a valid qualified SQL name. +The `QUALIFIED_SQL_NAME` procedure determines whether the input string is a valid SQL name. ```sql From 13a8bdd3848c516d73d5c9c024364b2b00dbc460 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 27 Aug 2024 10:38:09 -0400 Subject: [PATCH 09/14] Many updates from development; added an overall example from Triveni --- .../01a_dbms_assert/enquote_literal.mdx | 20 ++++- .../01a_dbms_assert/enquote_name.mdx | 28 +++++-- .../01a_dbms_assert/examples.mdx | 80 +++++++++++++++++++ .../01a_dbms_assert/index.mdx | 24 +++--- .../01a_dbms_assert/noop.mdx | 25 ++++-- .../01a_dbms_assert/qualified_sql_name.mdx | 28 +++++-- .../01a_dbms_assert/schema_name.mdx | 22 +++-- .../01a_dbms_assert/simple_sql_name.mdx | 21 ++++- .../01a_dbms_assert/sql_object_name.mdx | 47 +++++++++-- 9 files changed, 244 insertions(+), 51 deletions(-) create mode 100644 product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/examples.mdx diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal.mdx index 8218e2aa9d8..a8b7df9d42f 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_literal.mdx @@ -2,14 +2,12 @@ title: "ENQUOTE_LITERAL" --- -The `ENQUOTE_LITERAL` procedure wraps single quotes around a string unless the string is already enclosed in single quotes. +The `ENQUOTE_LITERAL` function wraps single quotes around a string unless the string is already enclosed in single quotes. Only an even number of single quotes are allowed in the string, excluding the enclosing quotes. ```sql -ENQUOTE_LITERAL( - VARCHAR2,) -RETURN VARCHAR2; +ENQUOTE_LITERAL(str VARCHAR2) RETURN VARCHAR2; ``` ## Parameters @@ -18,4 +16,18 @@ RETURN VARCHAR2; The string to be wrapped in single quotes. +## Examples +```sql +edb=# SELECT sys.DBMS_ASSERT.ENQUOTE_LITERAL('literal without ''''quotes') FROM DUAL; + enquote_literal +---------------------------- + 'literal without ''quotes' +(1 row) + +edb=# SELECT dbms_assert.ENQUOTE_LITERAL('''ab''') FROM dual; + enquote_literal +----------------- + 'ab' +(1 row) +``` diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx index 477753ddc34..04e935b2f45 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx @@ -2,11 +2,11 @@ title: "ENQUOTE_NAME" --- -The `ENQUOTE_NAME` procedure wraps quotation marks around a string, even if the input is already enclosed in quotataion marks. The string can include a quotation mark but output for the string puts quotation marks around the input quotation mark. By default output not included in quotation marks is converted to lower case, but setting a parameter to FALSE means no conversion is applied to the case of the input string. +The `ENQUOTE_NAME` function wraps quotation marks around a string, unless the input is already enclosed in quotataIion marks. The string can include a quotation mark but output for the string puts quotation marks around the input quotation mark. By default output not included in quotation marks is converted to lower case, but setting a parameter to FALSE means no conversion is applied to the case of the input string. The following table shows examples of how quotes are handled. -| Input | `capitalize` parameter | Output | +| Input | `dolower` parameter | Output | | ------ | ---------------------- | ----------- | | ab"c | TRUE | "ab""c" | | "abc" | TRUE | """abc""" | @@ -18,10 +18,7 @@ The following table shows examples of how quotes are handled. ```sql -ENQUOTE_NAME( - VARCHAR2, - BOOLEAN DEFAULT TRUE) -RETURN VARCHAR2; +ENQUOTE_NAME(str VARCHAR2, dolower boolean := TRUE) RETURN VARCHAR2; ``` ## Parameters @@ -30,8 +27,25 @@ RETURN VARCHAR2; The string to be wrapped in quotation marks. -`capitalize` +`dolower` If TRUE, alphabetic characters in the input string that are not wrapped in quotation marks are converted to lower case. If FALSE, input strings are not converted to lower case. +## Examples +```sql +edb=# SELECT SYS.DBMS_ASSERT.ENQUOTE_NAME(' ""ObjectName ') FROM DUAL; + enquote_name +---------------------- + " """"objectname " +(1 row) + +edb=# SELECT 'test' || SYS.DBMS_ASSERT.ENQUOTE_NAME(' "ObjectName" ') || 'test' FROM dual; + ?column? +-------------------------- + test "ObjectName" test +(1 row) + +edb=# EXEC DBMS_OUTPUT.put_line(SYS.DBMS_ASSERT.ENQUOTE_NAME('"REMAIN QUOTED AND SAME CASE"')); +"REMAIN QUOTED AND SAME CASE" +``` diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/examples.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/examples.mdx new file mode 100644 index 00000000000..27a04cf1a35 --- /dev/null +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/examples.mdx @@ -0,0 +1,80 @@ +--- +title: "Examples for SQL injection" +navTitle: "Examples" +--- + +The following examples demonstrate some approaches for using `DBMS_ASSERT` to help prevent SQL injections. + +```sql +edb=# CREATE TABLE open_tab_dbassert ( + code VARCHAR2(5), + description VARCHAR2(50) +); +CREATE TABLE + +edb=# INSERT INTO open_tab_dbassert VALUES ('ONE', 'Description for ONE'); +INSERT 0 1 +edb=# INSERT INTO open_tab_dbassert VALUES ('TWO', 'Description for TWO'); +INSERT 0 1 + +edb=# CREATE TABLE secret_tab_dbassert ( + code VARCHAR2(5), + description VARCHAR2(50) +); +CREATE TABLE + +edb=# INSERT INTO secret_tab_dbassert VALUES ('CODE1', 'SECRET 1'); +INSERT 0 1 +edb=# INSERT INTO secret_tab_dbassert VALUES ('CODE2', 'SECRET 2'); +INSERT 0 1 + +edb=# CREATE OR REPLACE PROCEDURE get_open_data_dbassert(p_code IN VARCHAR2) AS + l_sql VARCHAR2(32767); + c_cursor SYS_REFCURSOR; + l_buffer VARCHAR2(32767); +BEGIN + DBMS_OUTPUT.put_line('Raw input format: (' || p_code || ')'); + l_sql := 'SELECT description FROM open_tab_dbassert WHERE code = ''' || p_code || ''''; + DBMS_OUTPUT.put_line(l_sql); + OPEN c_cursor FOR l_sql; + LOOP + FETCH c_cursor INTO l_buffer; + EXIT WHEN c_cursor%NOTFOUND; + DBMS_OUTPUT.put_line(l_buffer); + END LOOP; + close c_cursor; + l_buffer:=null; + + DBMS_OUTPUT.put_line('Input with DBMS_ASSERT : DBMS_ASSERT.ENQUOTE_LITERAL(' || p_code || ')'); + l_sql := 'SELECT description FROM open_tab_dbassert WHERE code = ' || sys.DBMS_ASSERT.ENQUOTE_LITERAL(p_code); + DBMS_OUTPUT.put_line(l_sql); + OPEN c_cursor FOR l_sql; + LOOP + FETCH c_cursor INTO l_buffer; + EXIT WHEN c_cursor%NOTFOUND; + DBMS_OUTPUT.put_line(l_buffer); + END LOOP; + close c_cursor; +END; +CREATE PROCEDURE + +--Output +edb=# EXEC get_open_data_dbassert('ONE'' OR ''1''=''1'); +Raw input format: (ONE' OR '1'='1) +SELECT description FROM open_tab_dbassert WHERE code = 'ONE' OR '1'='1' +Description for ONE +Description for TWO +Input with DBMS_ASSERT : DBMS_ASSERT.ENQUOTE_LITERAL(ONE' OR '1'='1) +ERROR: numeric or value error +CONTEXT: edb-spl function get_open_data_dbassert(character varying) line 19 at assignment + +edb=# EXEC get_open_data_dbassert('ONE'' UNION SELECT description FROM secret_tab_dbassert WHERE ''1''=''1'); +Raw input format: (ONE' UNION SELECT description FROM secret_tab_dbassert WHERE '1'='1) +SELECT description FROM open_tab_dbassert WHERE code = 'ONE' UNION SELECT description FROM secret_tab_dbassert WHERE '1'='1' +SECRET 1 +SECRET 2 +Description for ONE +Input with DBMS_ASSERT : DBMS_ASSERT.ENQUOTE_LITERAL(ONE' UNION SELECT description FROM secret_tab_dbassert WHERE '1'='1) +ERROR: numeric or value error +CONTEXT: edb-spl function get_open_data_dbassert(character varying) line 19 at assignment +``` \ No newline at end of file diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx index ca43373419f..7c4149b2c9a 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx @@ -10,17 +10,19 @@ navigation: - schema_name - simple_sql_name - sql_object_name - +- examples --- -The `DBMS_ASSERT` package lets you check user input to help prevent SQL injections into applications. The following table lists the supported procedures: +The `DBMS_ASSERT` package lets you sanitize and validate user input to help guard against SQL injections in applications. The following table lists the supported functions: + +| Function | Return type | Description | +| ---------------------| --------------- | ----------------------------------------------------- | +| `ENQUOTE_LITERAL` | `VARCHAR2` | Wraps a string in single quotes | +| `ENQUOTE_NAME` | `VARCHAR2` | Wraps quotation marks around a string | +| `NOOP` | `anycompatible` | Returns the input value without any checking | +| `QUALIFIED_SQL_NAME` | `VARCHAR2` | Checks if the input string is a qualified SQL name | +| `SCHEMA_NAME` | `VARCHAR2` | Checks if the input string is an existing schema name | +| `SIMPLE_SQL_NAME` | `VARCHAR2` | Checks if the input string is a simple SQL name | +| `SQL_OBJECT_NAME` | `VARCHAR2` | Checks if the input string is a qualified SQL identifier of an existing SQL object | -| Function/procedure | Return type | Description | -| ---------------------| ------------------ | --------------------------------------------- | -| `ENQUOTE_LITERAL` | n/a | Wraps a string in single quotes | -| `ENQUOTE_NAME` | n/a | Wraps quotation marks around a string | -| `NOOP` | `VARCHAR2`, `CLOB` | Returns a string without any checking | -| `QUALIFIED_SQL_NAME` | `VARCHAR2` | Checks if a string is a qualified SQL name | -| `SCHEMA_NAME` | `VARCHAR2` | Checks if a string is an existing schema name | -| `SIMPLE_SQL_NAME` | `VARCHAR2` | Checks if a string is a simple SQL name | -| `SQL_OBJECT_NAME` | `VARCHAR2` | Checks if a string is a valid SQL identifier | +See [Examples for SQL injection](examples) for some demonstrations of how to use `DBMS_ASSERT`. \ No newline at end of file diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/noop.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/noop.mdx index e140cf57518..1cb685a7cd4 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/noop.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/noop.mdx @@ -2,16 +2,10 @@ title: "NOOP" --- -The `NOOP` procedure returns a string without any checking. +The `NOOP` function returns a string without any checking. ```sql -NOOP( - VARCHAR2 CHARACTER SET ANY_CS) -RETURN VARCHAR2 CHARACTER SET str%CHARSET; - -NOOP( - CLOB CHARACTER SET ANY_CS) -RETURN CLOB CHARACTER SET str%CHARSET; +NOOP(str ) RETURN ; ``` ## Parameters @@ -20,4 +14,19 @@ RETURN CLOB CHARACTER SET str%CHARSET; The input string. +## Examples + +```sql +edb=# SELECT sys.DBMS_ASSERT.NOOP('Literal with ''''two single'''' quotes.') FROM DUAL; + noop +------------------------------------- + Literal with ''two single'' quotes. +(1 row) + +edb=# SELECT sys.DBMS_ASSERT.NOOP('Literal with no quotes.') FROM DUAL; + noop +------------------------- + Literal with no quotes. +(1 row) +``` diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx index ab0692e5547..7fd9b9b312e 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx @@ -2,13 +2,15 @@ title: "QUALIFIED_SQL_NAME" --- -The `QUALIFIED_SQL_NAME` procedure determines whether the input string is a valid SQL name. +The `QUALIFIED_SQL_NAME` function determines whether the input string is a qualified SQL name. +Use the following grammar to represent a qualified SQL name. -```sql -QUALIFIED_SQL_NAME( - VARCHAR2 CHARACTER SET ANY_CS) -RETURN VARCHAR2 CHARACTER SET str%CHARSET; +``` + => ['.' ] + => ['@' ] + => + => ['@' ] ``` ## Parameters @@ -17,3 +19,19 @@ RETURN VARCHAR2 CHARACTER SET str%CHARSET; The input string. A quotation mark is allowed within the input string. +## Examples + +```sql +edb=# SELECT SYS.DBMS_ASSERT.QUALIFIED_SQL_NAME('schema_name."object_name"@dblink_name') FROM DUAL; + qualified_sql_name +--------------------------------------- + schema_name."object_name"@dblink_name +(1 row) + + +edb=# SELECT SYS.DBMS_ASSERT.QUALIFIED_sql_name('こんにちは') FROM DUAL; + qualified_sql_name +-------------------- + こんにちは +(1 row) +``` \ No newline at end of file diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx index 02f628737f9..93b9e57db4c 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx @@ -2,13 +2,10 @@ title: "SCHEMA_NAME" --- -The `SCHEMA_NAME` procedure determines whether the input string is an existing schema name. An error occurs if the name is not a valid schema name. - +The `SCHEMA_NAME` function determines whether the input string is an existing schema name. An error occurs if the input value is not a valid schema name. ```sql -SCHEMA_NAME( - VARCHAR2 CHARACTER SET ANY_CS) -RETURN VARCHAR2 CHARACTER SET str%CHARSET; +SCHEMA_NAME(str VARCHAR2) RETURN VARCHAR2; ``` ## Parameters @@ -17,3 +14,18 @@ RETURN VARCHAR2 CHARACTER SET str%CHARSET; The input string. White space is trimmed from the string. Mixed case is allowed. +## Examples + +```sql +edb=# SELECT SYS.DBMS_ASSERT.SCHEMA_NAME(current_database() || '."sys"') FROM DUAL; + schema_name +------------- + edb."sys" +(1 row) + +edb=# SELECT SYS.DBMS_ASSERT.SCHEMA_NAME('SYS') FROM DUAL; + schema_name +------------- + SYS +(1 row) +``` diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name.mdx index cb7331dee00..affb150f189 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name.mdx @@ -2,13 +2,11 @@ title: "SIMPLE_SQL_NAME" --- -The `SIMPLE_SQL_NAME` procedure determines whether the input is a simple SQL name. +The `SIMPLE_SQL_NAME` function determines whether the input is a simple SQL name. ```sql -SIMPLE_SQL_NAME( - VARCHAR2 CHARACTER SET ANY_CS) -RETURN VARCHAR2 CHARACTER SET str%CHARSET; +SIMPLE_SQL_NAME(str VARCHAR2) RETURN VARCHAR2; ``` ## Parameters @@ -17,3 +15,18 @@ RETURN VARCHAR2 CHARACTER SET str%CHARSET; The input string. White space is trimmed from the string. Mixed case is allowed. A quotation mark is allowed within the string. +## Examples + +```sql +edb=# SELECT SYS.DBMS_ASSERT.SIMPLE_SQL_NAME('ABCD789$#_zxcvbnm') FROM DUAL; + simple_sql_name +------------------- + ABCD789$#_zxcvbnm +(1 row) + +edb=# SELECT SYS.DBMS_ASSERT.SIMPLE_SQL_NAME('"12 valid name"') FROM DUAL; + simple_sql_name +----------------- + "12 valid name" +(1 row) +``` diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx index d0181e04b23..56ad4b2ea19 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx @@ -2,9 +2,9 @@ title: "SQL_OBJECT_NAME" --- -The `SQL_OBJECT_NAME` procedure determines whether a string is a valid SQL identifier for a SQL object. An error occurs if the SQL object does not exist. +The `SQL_OBJECT_NAME` function determines whether an input string is a valid SQL identifier for a SQL object. An error occurs if the SQL object does not exist on the current user. -The object can be a partition or subpartition or a database name. The following list describes the sequence used to validate an object: +The following list describes the sequence used to validate an object: 1. Table, view, materialized view, index, sequence, foreign table, partition-table, type, object type 1. Function, procedure, aggregate, routine @@ -14,14 +14,14 @@ The object can be a partition or subpartition or a database name. The following 1. Queue, queue table 1. Event trigger -For example, if the name is `table_name.column_name`, the procedure validates the `table_name` by searching through table names in the search path. After finding the table name, the procedure validates the basic syntax of `column_name`. Similarly, in the case of `package_name.member_name`, after the procedure finds the package name in the search path, it validates only the basic syntax of `member_name`. +For example, if the name is `table_name.column_name`, the function validates the `table_name` by searching through table names in the search path. After finding the table name, the function validates the basic syntax of `column_name`. Similarly, in the case of `package_name.member_name`, after the function finds the package name in the search path, it validates only the basic syntax of `member_name`. -The procedure does not validate sub-objects such as columns or package members. +The `SQL_OBJECT_NAME` function validates names to four levels: `dbname.schema_name.object_name.object_member`. The function verifies the existence of the first three levels. For the fourth level, `object_member`, only the syntax is verified. + +The function does not validate sub-objects such as columns or package members. Also, only objects of the current database can be verified. ```sql -SQL_OBJECT_NAME( - VARCHAR2 CHARACTER SET ANY_CS) -RETURN VARCHAR2 CHARACTER SET str%CHARSET; +SQL_OBJECT_NAME(str VARCHAR2) RETURN VARCHAR2; ``` ## Parameters @@ -30,3 +30,36 @@ RETURN VARCHAR2 CHARACTER SET str%CHARSET; The input string. +## Examples + +```sql +edb=# CREATE TABLE t1_dbassert (a INT); +CREATE TABLE +edb=# SELECT SYS.DBMS_ASSERT.SQL_OBJECT_NAME('t1_dbassert') FROM DUAL; + sql_object_name +----------------- + t1_dbassert +(1 row) + +CREATE OR REPLACE package pkg_dbassert AS + i_dbassert NUMBER; + PROCEDURE proc_dbassert; + FUNCTION func_dbassert(i INT) RETURN NUMBER; + t1_table_dbassert t1_dbassert; + CURSOR cur(c1 t1_dbassert.a%TYPE) IS SELECT a FROM t1_dbassert; + TYPE trec_dbassert IS RECORD ( a INTEGER, b INTEGER ); + r trec_dbassert := NULL; +END; + +edb=# SELECT DBMS_ASSERT.SQL_OBJECT_NAME('pkg_dbassert.i_dbassert') FROM DUAL; + sql_object_name +------------------------- + pkg_dbassert.i_dbassert +(1 row) + +edb=# SELECT DBMS_ASSERT.SQL_OBJECT_NAME('public.pkg_dbassert.i_dbassert') FROM DUAL; + sql_object_name +-------------------------------- + public.pkg_dbassert.i_dbassert +(1 row) +``` From 1eec67f3c1c1ce6a1b1825557dc677545bd7d07d Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 28 Aug 2024 11:33:07 -0400 Subject: [PATCH 10/14] additional input from development --- .../03_built-in_packages/01a_dbms_assert/schema_name.mdx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx index 93b9e57db4c..7d915c78927 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx @@ -12,7 +12,10 @@ SCHEMA_NAME(str VARCHAR2) RETURN VARCHAR2; `str` - The input string. White space is trimmed from the string. Mixed case is allowed. + The input string. White space is trimmed from the string unless that white space is contained within quotation marks. Mixed case is allowed. + + When the input string includes upper case letters, the function converts those letters to lower case before searching for a schema name. To ensure you are searching for a schema name that includes upper case, enclose the upper case lettering in quotation marks. + ## Examples From 03054a37c2cc430fb17a4f741948bf2b09cad8d9 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 4 Sep 2024 12:04:40 -0400 Subject: [PATCH 11/14] revisions suggested by Beena --- .../01a_dbms_assert/enquote_name.mdx | 16 +++++++++------- .../01a_dbms_assert/qualified_sql_name.mdx | 3 +++ .../01a_dbms_assert/schema_name.mdx | 11 +++++------ .../01a_dbms_assert/simple_sql_name.mdx | 3 +++ .../01a_dbms_assert/sql_object_name.mdx | 18 ++++++++++++++---- 5 files changed, 34 insertions(+), 17 deletions(-) diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx index 04e935b2f45..d95ad80d2be 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx @@ -2,19 +2,19 @@ title: "ENQUOTE_NAME" --- -The `ENQUOTE_NAME` function wraps quotation marks around a string, unless the input is already enclosed in quotataIion marks. The string can include a quotation mark but output for the string puts quotation marks around the input quotation mark. By default output not included in quotation marks is converted to lower case, but setting a parameter to FALSE means no conversion is applied to the case of the input string. +The `ENQUOTE_NAME` function wraps quotation marks around a string, unless the input is already enclosed in quotataIion marks. The string can include a quotation mark but output for the string puts quotation marks around the input quotation mark. The following table shows examples of how quotes are handled. | Input | `dolower` parameter | Output | | ------ | ---------------------- | ----------- | | ab"c | TRUE | "ab""c" | -| "abc" | TRUE | """abc""" | +| "abc" | TRUE | "abc" | | "a"bc" | TRUE | """a""bc""" | | ABC | TRUE | "abc" | | A

BC | FALSE | "ABC" | -| abc | TRUE | "abc" | -| abc | FALSE | "abc" | +| aBc | TRUE | "abc" | +| aBc | FALSE | "aBc" | ```sql @@ -29,7 +29,9 @@ ENQUOTE_NAME(str VARCHAR2, dolower boolean := TRUE) RETURN VARCHAR2; `dolower` - If TRUE, alphabetic characters in the input string that are not wrapped in quotation marks are converted to lower case. If FALSE, input strings are not converted to lower case. + Optional. If TRUE, alphabetic characters in the input string that are not wrapped in quotation marks are converted to lower case. If FALSE, input strings are not converted to lower case. + +By default output not included in quotation marks is converted to lower case. ## Examples @@ -46,6 +48,6 @@ edb=# SELECT 'test' || SYS.DBMS_ASSERT.ENQUOTE_NAME(' "ObjectName" ') || 'test test "ObjectName" test (1 row) -edb=# EXEC DBMS_OUTPUT.put_line(SYS.DBMS_ASSERT.ENQUOTE_NAME('"REMAIN QUOTED AND SAME CASE"')); -"REMAIN QUOTED AND SAME CASE" +edb=# EXEC DBMS_OUTPUT.put_line(SYS.DBMS_ASSERT.ENQUOTE_NAME('"REMAIN QUOTED and SAME CASE"')); +"REMAIN QUOTED and SAME CASE" ``` diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx index 7fd9b9b312e..f71c29bf425 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/qualified_sql_name.mdx @@ -34,4 +34,7 @@ edb=# SELECT SYS.DBMS_ASSERT.QUALIFIED_sql_name('こんにちは') FROM DUAL; -------------------- こんにちは (1 row) + +edb=# SELECT dbms_assert.qualified_sql_name('db1".etc"'); +ERROR: invalid qualified SQL name ``` \ No newline at end of file diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx index 7d915c78927..32f9c8aceb7 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/schema_name.mdx @@ -13,22 +13,21 @@ SCHEMA_NAME(str VARCHAR2) RETURN VARCHAR2; `str` The input string. White space is trimmed from the string unless that white space is contained within quotation marks. Mixed case is allowed. - - When the input string includes upper case letters, the function converts those letters to lower case before searching for a schema name. To ensure you are searching for a schema name that includes upper case, enclose the upper case lettering in quotation marks. +The input string is converted to lower case by default. If you want to search for a case-sensitive name, enclose it in quotation marks. ## Examples ```sql -edb=# SELECT SYS.DBMS_ASSERT.SCHEMA_NAME(current_database() || '."sys"') FROM DUAL; +edb=# SELECT SYS.DBMS_ASSERT.SCHEMA_NAME(current_database() || '."SCHEMA1"') FROM DUAL; schema_name ------------- - edb."sys" + edb."SCHEMA1" (1 row) -edb=# SELECT SYS.DBMS_ASSERT.SCHEMA_NAME('SYS') FROM DUAL; +edb=# SELECT SYS.DBMS_ASSERT.SCHEMA_NAME('"SCHEMA1"') FROM DUAL; schema_name ------------- - SYS + SCHEMA1 (1 row) ``` diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name.mdx index affb150f189..b7cd0c8d308 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/simple_sql_name.mdx @@ -28,5 +28,8 @@ edb=# SELECT SYS.DBMS_ASSERT.SIMPLE_SQL_NAME('"12 valid name"') FROM DUAL; simple_sql_name ----------------- "12 valid name" + +edb=# SELECT dbms_assert.simple_sql_name(' sch1.a1 '); +ERROR: invalid SQL name (1 row) ``` diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx index 56ad4b2ea19..bf9b9d77dcf 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx @@ -2,9 +2,9 @@ title: "SQL_OBJECT_NAME" --- -The `SQL_OBJECT_NAME` function determines whether an input string is a valid SQL identifier for a SQL object. An error occurs if the SQL object does not exist on the current user. +The `SQL_OBJECT_NAME` function determines whether an input string is a valid SQL object accessible to the current user. An error is thrown otherwise. -The following list describes the sequence used to validate an object: +The function first checks the database name, then the schema name, and then other SQL objects in the following order: 1. Table, view, materialized view, index, sequence, foreign table, partition-table, type, object type 1. Function, procedure, aggregate, routine @@ -14,9 +14,9 @@ The following list describes the sequence used to validate an object: 1. Queue, queue table 1. Event trigger -For example, if the name is `table_name.column_name`, the function validates the `table_name` by searching through table names in the search path. After finding the table name, the function validates the basic syntax of `column_name`. Similarly, in the case of `package_name.member_name`, after the function finds the package name in the search path, it validates only the basic syntax of `member_name`. +Only objects in the current database can be verified by this function. It validates names to four levels: `dbname.schema_name.object_name.object_member`. The function verifies that an actual database object exists for the first three levels. For the fourth level, `object_member`, only the syntax is verified. -The `SQL_OBJECT_NAME` function validates names to four levels: `dbname.schema_name.object_name.object_member`. The function verifies the existence of the first three levels. For the fourth level, `object_member`, only the syntax is verified. +For example, if the input is `table_name.column_name`, the function validates `table_name` by searching through database objects in the current search path. After finding the `table_name`, the function validates the basic syntax of `column_name` and does not check if the column actually exists. Similarly, in the case of `package_name.member_name`, after the function finds the package name in the search path, it validates only the basic syntax of `member_name`. The function does not validate sub-objects such as columns or package members. Also, only objects of the current database can be verified. @@ -62,4 +62,14 @@ edb=# SELECT DBMS_ASSERT.SQL_OBJECT_NAME('public.pkg_dbassert.i_dbassert') FROM -------------------------------- public.pkg_dbassert.i_dbassert (1 row) + +-- The column_name is only syntax verified +edb=# SELECT dbms_assert.sql_object_name('t1_dbassert.col1'); + sql_object_name +------------------ + t1_dbassert.col1 +(1 row) + +edb=# SELECT dbms_assert.sql_object_name('t1_dbassert.1col'); +ERROR: invalid object name ``` From 8b550056b3ebabdb1aaf65f91eb2200a56979f70 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Thu, 5 Sep 2024 09:53:42 -0400 Subject: [PATCH 12/14] minor edits suggested by Beena and Triveni --- .../01a_dbms_assert/enquote_name.mdx | 20 +++++++++--------- .../01a_dbms_assert/index.mdx | 2 +- .../01a_dbms_assert/sql_object_name.mdx | 21 +++++++++---------- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx index d95ad80d2be..23da66963f1 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx @@ -2,19 +2,19 @@ title: "ENQUOTE_NAME" --- -The `ENQUOTE_NAME` function wraps quotation marks around a string, unless the input is already enclosed in quotataIion marks. The string can include a quotation mark but output for the string puts quotation marks around the input quotation mark. +The `ENQUOTE_NAME` function wraps quotation marks around a string, unless the input is already enclosed in quotation marks. The string can include a quotation mark but output for the string puts quotation marks around the input quotation mark. The following table shows examples of how quotes are handled. -| Input | `dolower` parameter | Output | -| ------ | ---------------------- | ----------- | -| ab"c | TRUE | "ab""c" | -| "abc" | TRUE | "abc" | -| "a"bc" | TRUE | """a""bc""" | -| ABC | TRUE | "abc" | -| A

BC | FALSE | "ABC" | -| aBc | TRUE | "abc" | -| aBc | FALSE | "aBc" | +| Input | `dolower` parameter | Output | +| ------ | ------------------- | --------- | +| ab"c | TRUE | "ab""c" | +| "abc" | TRUE | "abc" | +| "a"bc" | TRUE | ""a""bc"" | +| ABC | TRUE | "abc" | +| ABC | FALSE | "ABC" | +| aBc | TRUE | "abc" | +| aBc | FALSE | "aBc" | ```sql diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx index 7c4149b2c9a..2cbb542a6d1 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/index.mdx @@ -24,5 +24,5 @@ The `DBMS_ASSERT` package lets you sanitize and validate user input to help guar | `SCHEMA_NAME` | `VARCHAR2` | Checks if the input string is an existing schema name | | `SIMPLE_SQL_NAME` | `VARCHAR2` | Checks if the input string is a simple SQL name | | `SQL_OBJECT_NAME` | `VARCHAR2` | Checks if the input string is a qualified SQL identifier of an existing SQL object | - + See [Examples for SQL injection](examples) for some demonstrations of how to use `DBMS_ASSERT`. \ No newline at end of file diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx index bf9b9d77dcf..5d8f34027e3 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/sql_object_name.mdx @@ -18,8 +18,6 @@ Only objects in the current database can be verified by this function. It valida For example, if the input is `table_name.column_name`, the function validates `table_name` by searching through database objects in the current search path. After finding the `table_name`, the function validates the basic syntax of `column_name` and does not check if the column actually exists. Similarly, in the case of `package_name.member_name`, after the function finds the package name in the search path, it validates only the basic syntax of `member_name`. -The function does not validate sub-objects such as columns or package members. Also, only objects of the current database can be verified. - ```sql SQL_OBJECT_NAME(str VARCHAR2) RETURN VARCHAR2; ``` @@ -41,6 +39,16 @@ edb=# SELECT SYS.DBMS_ASSERT.SQL_OBJECT_NAME('t1_dbassert') FROM DUAL; t1_dbassert (1 row) +-- The column_name is only syntax verified +edb=# SELECT dbms_assert.sql_object_name('t1_dbassert.col1'); + sql_object_name +------------------ + t1_dbassert.col1 +(1 row) + +edb=# SELECT dbms_assert.sql_object_name('t1_dbassert.1col'); +ERROR: invalid object name + CREATE OR REPLACE package pkg_dbassert AS i_dbassert NUMBER; PROCEDURE proc_dbassert; @@ -63,13 +71,4 @@ edb=# SELECT DBMS_ASSERT.SQL_OBJECT_NAME('public.pkg_dbassert.i_dbassert') FROM public.pkg_dbassert.i_dbassert (1 row) --- The column_name is only syntax verified -edb=# SELECT dbms_assert.sql_object_name('t1_dbassert.col1'); - sql_object_name ------------------- - t1_dbassert.col1 -(1 row) - -edb=# SELECT dbms_assert.sql_object_name('t1_dbassert.1col'); -ERROR: invalid object name ``` From 43432e6f6121bbe0977537c9676c9a75ccb1e3e4 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Thu, 12 Sep 2024 06:53:58 -0400 Subject: [PATCH 13/14] Added epas17 to config.yaml and run templates --- install_template/config.yaml | 30 +++++++++---------- .../docs/epas/17/installing/index.mdx | 6 ++-- .../installing/linux_arm64/epas_debian_12.mdx | 10 +++---- .../installing/linux_ppc64le/epas_rhel_8.mdx | 18 +++++------ .../installing/linux_ppc64le/epas_rhel_9.mdx | 18 +++++------ .../installing/linux_ppc64le/epas_sles_12.mdx | 16 +++++----- .../installing/linux_ppc64le/epas_sles_15.mdx | 16 +++++----- .../17/installing/linux_ppc64le/index.mdx | 4 +-- .../linux_x86_64/epas_debian_11.mdx | 10 +++---- .../linux_x86_64/epas_debian_12.mdx | 10 +++---- .../linux_x86_64/epas_other_linux_8.mdx | 18 +++++------ .../linux_x86_64/epas_other_linux_9.mdx | 18 +++++------ .../installing/linux_x86_64/epas_rhel_8.mdx | 18 +++++------ .../installing/linux_x86_64/epas_rhel_9.mdx | 18 +++++------ .../installing/linux_x86_64/epas_sles_12.mdx | 16 +++++----- .../installing/linux_x86_64/epas_sles_15.mdx | 16 +++++----- .../linux_x86_64/epas_ubuntu_20.mdx | 10 +++---- .../linux_x86_64/epas_ubuntu_22.mdx | 10 +++---- .../epas/17/installing/linux_x86_64/index.mdx | 2 +- 19 files changed, 132 insertions(+), 132 deletions(-) diff --git a/install_template/config.yaml b/install_template/config.yaml index d67cab3420b..3d51e7d3e55 100644 --- a/install_template/config.yaml +++ b/install_template/config.yaml @@ -361,49 +361,49 @@ products: platforms: - name: AlmaLinux 8 or Rocky Linux 8 arch: x86_64 - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: AlmaLinux 9 or Rocky Linux 9 arch: x86_64 - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: RHEL 8 or OL 8 arch: x86_64 - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: RHEL 9 or OL 9 arch: x86_64 - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: RHEL 9 arch: ppc64le - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: RHEL 8 arch: ppc64le - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: Debian 12 arch: x86_64 - supported versions: [16] + supported versions: [16, 17] - name: Debian 12 arch: arm64 - supported versions: [16] + supported versions: [16, 17] - name: Debian 11 arch: x86_64 - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: Ubuntu 22.04 arch: x86_64 - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: Ubuntu 20.04 arch: x86_64 - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: SLES 15 arch: x86_64 - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: SLES 15 arch: ppc64le - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: SLES 12 arch: x86_64 - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: SLES 12 arch: ppc64le - supported versions: [11, 12, 13, 14, 15, 16] + supported versions: [11, 12, 13, 14, 15, 16, 17] - name: EDB Postgres Extended Server platforms: - name: AlmaLinux 8 or Rocky Linux 8 diff --git a/product_docs/docs/epas/17/installing/index.mdx b/product_docs/docs/epas/17/installing/index.mdx index 01c455b3135..b3beff4ee50 100644 --- a/product_docs/docs/epas/17/installing/index.mdx +++ b/product_docs/docs/epas/17/installing/index.mdx @@ -8,9 +8,9 @@ title: Installing EDB Postgres Advanced Server # Leaf template: products/edb-postgres-advanced-server/index.njk redirects: - - /epas/16/epas_inst_linux/ - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/ - - /epas/16/epas_inst_linux/03_using_a_package_manager_to_install_advanced_server/ + - /epas/17/epas_inst_linux/ + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/ + - /epas/17/epas_inst_linux/03_using_a_package_manager_to_install_advanced_server/ navigation: - linux_x86_64 diff --git a/product_docs/docs/epas/17/installing/linux_arm64/epas_debian_12.mdx b/product_docs/docs/epas/17/installing/linux_arm64/epas_debian_12.mdx index 3f354f89629..030c2bc4985 100644 --- a/product_docs/docs/epas/17/installing/linux_arm64/epas_debian_12.mdx +++ b/product_docs/docs/epas/17/installing/linux_arm64/epas_debian_12.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on Debian 12 arm64 # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/arm64/epas_deb12_arm - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/arm/epas_deb12_arm + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/arm64/epas_deb12_arm + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/arm/epas_deb12_arm --- ## Prerequisites @@ -40,7 +40,7 @@ Before you begin the installation process: sudo apt-get -y install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 16, the package name is `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 17, the package name is `edb-as17-server`. To install an individual component: @@ -48,7 +48,7 @@ To install an individual component: sudo apt-get -y install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). ## Initial configuration @@ -88,7 +88,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_ppc64le/epas_rhel_8.mdx b/product_docs/docs/epas/17/installing/linux_ppc64le/epas_rhel_8.mdx index 394f8baf56c..1a47732ae56 100644 --- a/product_docs/docs/epas/17/installing/linux_ppc64le/epas_rhel_8.mdx +++ b/product_docs/docs/epas/17/installing/linux_ppc64le/epas_rhel_8.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on RHEL 8 ppc64le # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/ibm_power_ppc64le/epas_rhel8_ppcle - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/ppcle/epas_rhel8_ppcle + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/ibm_power_ppc64le/epas_rhel8_ppcle + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/ppcle/epas_rhel8_ppcle --- ## Prerequisites @@ -60,7 +60,7 @@ Before you begin the installation process: sudo dnf -y install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 16, the package name is `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 17, the package name is `edb-as17-server`. To install an individual component: @@ -68,20 +68,20 @@ To install an individual component: sudo dnf -y install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). -Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as16`. +Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as17`. ## Initial configuration Getting started with your cluster involves logging in, ensuring the installation and initial configuration was successful, connecting to your cluster, and creating the user password. -First, you need to initialize and start the database cluster. The `edb-as-16-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). +First, you need to initialize and start the database cluster. The `edb-as-17-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). ```shell -sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as16/bin/edb-as-16-setup initdb +sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as17/bin/edb-as-17-setup initdb -sudo systemctl start edb-as-16 +sudo systemctl start edb-as-17 ``` To work in your cluster, log in as the enterprisedb user. Connect to the database server using the psql command-line client. Alternatively, you can use a client of your choice with the appropriate connection string. @@ -118,7 +118,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_ppc64le/epas_rhel_9.mdx b/product_docs/docs/epas/17/installing/linux_ppc64le/epas_rhel_9.mdx index 0772be02315..e8358086cd3 100644 --- a/product_docs/docs/epas/17/installing/linux_ppc64le/epas_rhel_9.mdx +++ b/product_docs/docs/epas/17/installing/linux_ppc64le/epas_rhel_9.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on RHEL 9 ppc64le # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/ibm_power_ppc64le/epas_rhel9_ppcle - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/ppcle/epas_rhel9_ppcle + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/ibm_power_ppc64le/epas_rhel9_ppcle + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/ppcle/epas_rhel9_ppcle --- ## Prerequisites @@ -60,7 +60,7 @@ Before you begin the installation process: sudo dnf -y install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 16, the package name is `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 17, the package name is `edb-as17-server`. To install an individual component: @@ -68,20 +68,20 @@ To install an individual component: sudo dnf -y install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). -Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as16`. +Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as17`. ## Initial configuration Getting started with your cluster involves logging in, ensuring the installation and initial configuration was successful, connecting to your cluster, and creating the user password. -First, you need to initialize and start the database cluster. The `edb-as-16-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). +First, you need to initialize and start the database cluster. The `edb-as-17-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). ```shell -sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as16/bin/edb-as-16-setup initdb +sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as17/bin/edb-as-17-setup initdb -sudo systemctl start edb-as-16 +sudo systemctl start edb-as-17 ``` To work in your cluster, log in as the enterprisedb user. Connect to the database server using the psql command-line client. Alternatively, you can use a client of your choice with the appropriate connection string. @@ -118,7 +118,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_ppc64le/epas_sles_12.mdx b/product_docs/docs/epas/17/installing/linux_ppc64le/epas_sles_12.mdx index 23d1956bd24..af74507dbf8 100644 --- a/product_docs/docs/epas/17/installing/linux_ppc64le/epas_sles_12.mdx +++ b/product_docs/docs/epas/17/installing/linux_ppc64le/epas_sles_12.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on SLES 12 ppc64le # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/ibm_power_ppc64le/epas_sles12_ppcle - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/ppcle/epas_sles12_ppcle + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/ibm_power_ppc64le/epas_sles12_ppcle + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/ppcle/epas_sles12_ppcle --- ## Prerequisites @@ -51,7 +51,7 @@ Before you begin the installation process: sudo zypper -n install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced server you are installing. For example, if you are installing version 16, the package name would be `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced server you are installing. For example, if you are installing version 17, the package name would be `edb-as17-server`. To install an individual component: @@ -59,18 +59,18 @@ To install an individual component: sudo zypper -n install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). ## Initial configuration Getting started with your cluster involves logging in, ensuring the installation and initial configuration was successful, connecting to your cluster, and creating the user password. -First, you need to initialize and start the database cluster. The `edb-as-16-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). +First, you need to initialize and start the database cluster. The `edb-as-17-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). ```shell -sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as16/bin/edb-as-16-setup initdb +sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as17/bin/edb-as-17-setup initdb -sudo systemctl start edb-as-16 +sudo systemctl start edb-as-17 ``` To work in your cluster, log in as the enterprisedb user. Connect to the database server using the psql command-line client. Alternatively, you can use a client of your choice with the appropriate connection string. @@ -107,7 +107,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_ppc64le/epas_sles_15.mdx b/product_docs/docs/epas/17/installing/linux_ppc64le/epas_sles_15.mdx index 50705b7cade..e90bea59edd 100644 --- a/product_docs/docs/epas/17/installing/linux_ppc64le/epas_sles_15.mdx +++ b/product_docs/docs/epas/17/installing/linux_ppc64le/epas_sles_15.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on SLES 15 ppc64le # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/ibm_power_ppc64le/epas_sles15_ppcle - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/ppcle/epas_sles15_ppcle + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/ibm_power_ppc64le/epas_sles15_ppcle + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/ppcle/epas_sles15_ppcle --- ## Prerequisites @@ -52,7 +52,7 @@ Before you begin the installation process: sudo zypper -n install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced server you are installing. For example, if you are installing version 16, the package name would be `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced server you are installing. For example, if you are installing version 17, the package name would be `edb-as17-server`. To install an individual component: @@ -60,18 +60,18 @@ To install an individual component: sudo zypper -n install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). ## Initial configuration Getting started with your cluster involves logging in, ensuring the installation and initial configuration was successful, connecting to your cluster, and creating the user password. -First, you need to initialize and start the database cluster. The `edb-as-16-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). +First, you need to initialize and start the database cluster. The `edb-as-17-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). ```shell -sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as16/bin/edb-as-16-setup initdb +sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as17/bin/edb-as-17-setup initdb -sudo systemctl start edb-as-16 +sudo systemctl start edb-as-17 ``` To work in your cluster, log in as the enterprisedb user. Connect to the database server using the psql command-line client. Alternatively, you can use a client of your choice with the appropriate connection string. @@ -108,7 +108,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_ppc64le/index.mdx b/product_docs/docs/epas/17/installing/linux_ppc64le/index.mdx index 3af19ebfe9a..5e803bb5b33 100644 --- a/product_docs/docs/epas/17/installing/linux_ppc64le/index.mdx +++ b/product_docs/docs/epas/17/installing/linux_ppc64le/index.mdx @@ -8,8 +8,8 @@ navTitle: "On Linux ppc64le" # Leaf template: products/edb-postgres-advanced-server/ppc64le_index.njk redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/ibm_power_ppc64le/ - - /epas/16/epas_inst_linux/03_using_a_package_manager_to_install_advanced_server/#installing-on-ibm-power-ppc64le + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/ibm_power_ppc64le/ + - /epas/17/epas_inst_linux/03_using_a_package_manager_to_install_advanced_server/#installing-on-ibm-power-ppc64le navigation: - epas_rhel_9 diff --git a/product_docs/docs/epas/17/installing/linux_x86_64/epas_debian_11.mdx b/product_docs/docs/epas/17/installing/linux_x86_64/epas_debian_11.mdx index 913ddf520a3..dea576194db 100644 --- a/product_docs/docs/epas/17/installing/linux_x86_64/epas_debian_11.mdx +++ b/product_docs/docs/epas/17/installing/linux_x86_64/epas_debian_11.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on Debian 11 x86_64 # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_deb11_x86 - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_deb11_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_deb11_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_deb11_x86 --- ## Prerequisites @@ -40,7 +40,7 @@ Before you begin the installation process: sudo apt-get -y install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 16, the package name is `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 17, the package name is `edb-as17-server`. To install an individual component: @@ -48,7 +48,7 @@ To install an individual component: sudo apt-get -y install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). ## Initial configuration @@ -88,7 +88,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_x86_64/epas_debian_12.mdx b/product_docs/docs/epas/17/installing/linux_x86_64/epas_debian_12.mdx index 146dc09c637..d384c3c2857 100644 --- a/product_docs/docs/epas/17/installing/linux_x86_64/epas_debian_12.mdx +++ b/product_docs/docs/epas/17/installing/linux_x86_64/epas_debian_12.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on Debian 12 x86_64 # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_deb12_x86 - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_deb12_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_deb12_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_deb12_x86 --- ## Prerequisites @@ -40,7 +40,7 @@ Before you begin the installation process: sudo apt-get -y install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 16, the package name is `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 17, the package name is `edb-as17-server`. To install an individual component: @@ -48,7 +48,7 @@ To install an individual component: sudo apt-get -y install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). ## Initial configuration @@ -88,7 +88,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_x86_64/epas_other_linux_8.mdx b/product_docs/docs/epas/17/installing/linux_x86_64/epas_other_linux_8.mdx index 7a2a860940e..1a49cd97c49 100644 --- a/product_docs/docs/epas/17/installing/linux_x86_64/epas_other_linux_8.mdx +++ b/product_docs/docs/epas/17/installing/linux_x86_64/epas_other_linux_8.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on AlmaLinux 8 or Rocky Linux 8 x # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_other_linux8_x86 - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_other_linux8_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_other_linux8_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_other_linux8_x86 --- ## Prerequisites @@ -51,7 +51,7 @@ Before you begin the installation process: sudo dnf -y install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 16, the package name is `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 17, the package name is `edb-as17-server`. To install an individual component: @@ -59,20 +59,20 @@ To install an individual component: sudo dnf -y install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). -Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as16`. +Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as17`. ## Initial configuration Getting started with your cluster involves logging in, ensuring the installation and initial configuration was successful, connecting to your cluster, and creating the user password. -First, you need to initialize and start the database cluster. The `edb-as-16-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). +First, you need to initialize and start the database cluster. The `edb-as-17-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). ```shell -sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as16/bin/edb-as-16-setup initdb +sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as17/bin/edb-as-17-setup initdb -sudo systemctl start edb-as-16 +sudo systemctl start edb-as-17 ``` To work in your cluster, log in as the enterprisedb user. Connect to the database server using the psql command-line client. Alternatively, you can use a client of your choice with the appropriate connection string. @@ -109,7 +109,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_x86_64/epas_other_linux_9.mdx b/product_docs/docs/epas/17/installing/linux_x86_64/epas_other_linux_9.mdx index 52f218177a4..7e601ca3b89 100644 --- a/product_docs/docs/epas/17/installing/linux_x86_64/epas_other_linux_9.mdx +++ b/product_docs/docs/epas/17/installing/linux_x86_64/epas_other_linux_9.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on AlmaLinux 9 or Rocky Linux 9 x # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_other_linux9_x86 - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_other_linux9_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_other_linux9_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_other_linux9_x86 --- ## Prerequisites @@ -51,7 +51,7 @@ Before you begin the installation process: sudo dnf -y install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 16, the package name is `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 17, the package name is `edb-as17-server`. To install an individual component: @@ -59,20 +59,20 @@ To install an individual component: sudo dnf -y install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). -Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as16`. +Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as17`. ## Initial configuration Getting started with your cluster involves logging in, ensuring the installation and initial configuration was successful, connecting to your cluster, and creating the user password. -First, you need to initialize and start the database cluster. The `edb-as-16-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). +First, you need to initialize and start the database cluster. The `edb-as-17-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). ```shell -sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as16/bin/edb-as-16-setup initdb +sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as17/bin/edb-as-17-setup initdb -sudo systemctl start edb-as-16 +sudo systemctl start edb-as-17 ``` To work in your cluster, log in as the enterprisedb user. Connect to the database server using the psql command-line client. Alternatively, you can use a client of your choice with the appropriate connection string. @@ -109,7 +109,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_x86_64/epas_rhel_8.mdx b/product_docs/docs/epas/17/installing/linux_x86_64/epas_rhel_8.mdx index 21464dd1602..4c89a3b2cc4 100644 --- a/product_docs/docs/epas/17/installing/linux_x86_64/epas_rhel_8.mdx +++ b/product_docs/docs/epas/17/installing/linux_x86_64/epas_rhel_8.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on RHEL 8 or OL 8 x86_64 # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_rhel8_x86 - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_rhel8_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_rhel8_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_rhel8_x86 --- ## Prerequisites @@ -58,7 +58,7 @@ Before you begin the installation process: sudo dnf -y install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 16, the package name is `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 17, the package name is `edb-as17-server`. To install an individual component: @@ -66,20 +66,20 @@ To install an individual component: sudo dnf -y install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). -Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as16`. +Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as17`. ## Initial configuration Getting started with your cluster involves logging in, ensuring the installation and initial configuration was successful, connecting to your cluster, and creating the user password. -First, you need to initialize and start the database cluster. The `edb-as-16-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). +First, you need to initialize and start the database cluster. The `edb-as-17-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). ```shell -sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as16/bin/edb-as-16-setup initdb +sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as17/bin/edb-as-17-setup initdb -sudo systemctl start edb-as-16 +sudo systemctl start edb-as-17 ``` To work in your cluster, log in as the enterprisedb user. Connect to the database server using the psql command-line client. Alternatively, you can use a client of your choice with the appropriate connection string. @@ -116,7 +116,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_x86_64/epas_rhel_9.mdx b/product_docs/docs/epas/17/installing/linux_x86_64/epas_rhel_9.mdx index 030bdaa1332..6fdeac04ca0 100644 --- a/product_docs/docs/epas/17/installing/linux_x86_64/epas_rhel_9.mdx +++ b/product_docs/docs/epas/17/installing/linux_x86_64/epas_rhel_9.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on RHEL 9 or OL 9 x86_64 # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_rhel9_x86 - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_rhel9_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_rhel9_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_rhel9_x86 --- ## Prerequisites @@ -58,7 +58,7 @@ Before you begin the installation process: sudo dnf -y install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 16, the package name is `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 17, the package name is `edb-as17-server`. To install an individual component: @@ -66,20 +66,20 @@ To install an individual component: sudo dnf -y install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). -Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as16`. +Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash`, and the user's home directory is `/var/lib/edb/as17`. ## Initial configuration Getting started with your cluster involves logging in, ensuring the installation and initial configuration was successful, connecting to your cluster, and creating the user password. -First, you need to initialize and start the database cluster. The `edb-as-16-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). +First, you need to initialize and start the database cluster. The `edb-as-17-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). ```shell -sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as16/bin/edb-as-16-setup initdb +sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as17/bin/edb-as-17-setup initdb -sudo systemctl start edb-as-16 +sudo systemctl start edb-as-17 ``` To work in your cluster, log in as the enterprisedb user. Connect to the database server using the psql command-line client. Alternatively, you can use a client of your choice with the appropriate connection string. @@ -116,7 +116,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_x86_64/epas_sles_12.mdx b/product_docs/docs/epas/17/installing/linux_x86_64/epas_sles_12.mdx index 0003e2f05a1..f5094b76c07 100644 --- a/product_docs/docs/epas/17/installing/linux_x86_64/epas_sles_12.mdx +++ b/product_docs/docs/epas/17/installing/linux_x86_64/epas_sles_12.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on SLES 12 x86_64 # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_sles12_x86 - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_sles12_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_sles12_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_sles12_x86 --- ## Prerequisites @@ -51,7 +51,7 @@ Before you begin the installation process: sudo zypper -n install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced server you are installing. For example, if you are installing version 16, the package name would be `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced server you are installing. For example, if you are installing version 17, the package name would be `edb-as17-server`. To install an individual component: @@ -59,18 +59,18 @@ To install an individual component: sudo zypper -n install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). ## Initial configuration Getting started with your cluster involves logging in, ensuring the installation and initial configuration was successful, connecting to your cluster, and creating the user password. -First, you need to initialize and start the database cluster. The `edb-as-16-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). +First, you need to initialize and start the database cluster. The `edb-as-17-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). ```shell -sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as16/bin/edb-as-16-setup initdb +sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as17/bin/edb-as-17-setup initdb -sudo systemctl start edb-as-16 +sudo systemctl start edb-as-17 ``` To work in your cluster, log in as the enterprisedb user. Connect to the database server using the psql command-line client. Alternatively, you can use a client of your choice with the appropriate connection string. @@ -107,7 +107,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_x86_64/epas_sles_15.mdx b/product_docs/docs/epas/17/installing/linux_x86_64/epas_sles_15.mdx index ac0bc1b0d6c..4fad14fac46 100644 --- a/product_docs/docs/epas/17/installing/linux_x86_64/epas_sles_15.mdx +++ b/product_docs/docs/epas/17/installing/linux_x86_64/epas_sles_15.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on SLES 15 x86_64 # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_sles15_x86 - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_sles15_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_sles15_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_sles15_x86 --- ## Prerequisites @@ -52,7 +52,7 @@ Before you begin the installation process: sudo zypper -n install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced server you are installing. For example, if you are installing version 16, the package name would be `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced server you are installing. For example, if you are installing version 17, the package name would be `edb-as17-server`. To install an individual component: @@ -60,18 +60,18 @@ To install an individual component: sudo zypper -n install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). ## Initial configuration Getting started with your cluster involves logging in, ensuring the installation and initial configuration was successful, connecting to your cluster, and creating the user password. -First, you need to initialize and start the database cluster. The `edb-as-16-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). +First, you need to initialize and start the database cluster. The `edb-as-17-setup` script creates a cluster in Oracle-compatible mode with the `edb` sample database in the cluster. To create a cluster in Postgres mode, see [Initializing the cluster in Postgres mode](../linux_install_details/managing_an_advanced_server_installation/specifying_cluster_options/#initializing-the-cluster-in-postgres-mode). ```shell -sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as16/bin/edb-as-16-setup initdb +sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as17/bin/edb-as-17-setup initdb -sudo systemctl start edb-as-16 +sudo systemctl start edb-as-17 ``` To work in your cluster, log in as the enterprisedb user. Connect to the database server using the psql command-line client. Alternatively, you can use a client of your choice with the appropriate connection string. @@ -108,7 +108,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_x86_64/epas_ubuntu_20.mdx b/product_docs/docs/epas/17/installing/linux_x86_64/epas_ubuntu_20.mdx index a198834ced3..af7da8b3bfd 100644 --- a/product_docs/docs/epas/17/installing/linux_x86_64/epas_ubuntu_20.mdx +++ b/product_docs/docs/epas/17/installing/linux_x86_64/epas_ubuntu_20.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on Ubuntu 20.04 x86_64 # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_ubuntu20_x86 - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_ubuntu20_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_ubuntu20_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_ubuntu20_x86 --- ## Prerequisites @@ -40,7 +40,7 @@ Before you begin the installation process: sudo apt-get -y install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 16, the package name is `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 17, the package name is `edb-as17-server`. To install an individual component: @@ -48,7 +48,7 @@ To install an individual component: sudo apt-get -y install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). ## Initial configuration @@ -88,7 +88,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_x86_64/epas_ubuntu_22.mdx b/product_docs/docs/epas/17/installing/linux_x86_64/epas_ubuntu_22.mdx index b1fcf9882c3..fc0eaf0a68f 100644 --- a/product_docs/docs/epas/17/installing/linux_x86_64/epas_ubuntu_22.mdx +++ b/product_docs/docs/epas/17/installing/linux_x86_64/epas_ubuntu_22.mdx @@ -6,8 +6,8 @@ title: Installing EDB Postgres Advanced Server on Ubuntu 22.04 x86_64 # the documentation team will update the templates accordingly. redirects: - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_ubuntu22_x86 - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_ubuntu22_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/epas_ubuntu22_x86 + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86/epas_ubuntu22_x86 --- ## Prerequisites @@ -40,7 +40,7 @@ Before you begin the installation process: sudo apt-get -y install edb-as-server ``` -Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 16, the package name is `edb-as16-server`. +Where `` is the version of the EDB Postgres Advanced Server you're installing. For example, if you're installing version 17, the package name is `edb-as17-server`. To install an individual component: @@ -48,7 +48,7 @@ To install an individual component: sudo apt-get -y install ``` -Where `package_name` can be any of the available packages from the [available package list](/epas/16/installing/linux_install_details/rpm_packages/). +Where `package_name` can be any of the available packages from the [available package list](/epas/17/installing/linux_install_details/rpm_packages/). ## Initial configuration @@ -88,7 +88,7 @@ Connect to the `hr` database inside psql: ``` \c hr __OUTPUT__ -psql (16.0.0, server 16.0.0) +psql (17.0.0, server 17.0.0) You are now connected to database "hr" as user "enterprisedb". ``` diff --git a/product_docs/docs/epas/17/installing/linux_x86_64/index.mdx b/product_docs/docs/epas/17/installing/linux_x86_64/index.mdx index bae4f092ad8..84ea3b1dd6e 100644 --- a/product_docs/docs/epas/17/installing/linux_x86_64/index.mdx +++ b/product_docs/docs/epas/17/installing/linux_x86_64/index.mdx @@ -9,7 +9,7 @@ navTitle: "On Linux x86" redirects: - ../03_using_a_package_manager_to_install_advanced_server - - /epas/16/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/ + - /epas/17/epas_inst_linux/installing_epas_using_edb_repository/x86_amd64/ navigation: - epas_rhel_9 From 205645385d5921172ae9d8256c3a006f0c75f0f2 Mon Sep 17 00:00:00 2001 From: nidhibhammar <59045594+nidhibhammar@users.noreply.github.com> Date: Wed, 16 Oct 2024 09:49:57 +0530 Subject: [PATCH 14/14] Updated the content as per review comments from Triveni and Beena --- .../03_built-in_packages/01a_dbms_assert/enquote_name.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx index 23da66963f1..7a90786fb83 100644 --- a/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx +++ b/product_docs/docs/epas/17/reference/oracle_compatibility_reference/epas_compat_bip_guide/03_built-in_packages/01a_dbms_assert/enquote_name.mdx @@ -2,7 +2,7 @@ title: "ENQUOTE_NAME" --- -The `ENQUOTE_NAME` function wraps quotation marks around a string, unless the input is already enclosed in quotation marks. The string can include a quotation mark but output for the string puts quotation marks around the input quotation mark. +The `ENQUOTE_NAME` function wraps quotation marks around a string, unless the input is already enclosed in quotation marks. All quotation marks within the string are appended with an quotation mark. The following table shows examples of how quotes are handled. @@ -10,7 +10,7 @@ The following table shows examples of how quotes are handled. | ------ | ------------------- | --------- | | ab"c | TRUE | "ab""c" | | "abc" | TRUE | "abc" | -| "a"bc" | TRUE | ""a""bc"" | +| "a"bc" | TRUE | "a""bc" | | ABC | TRUE | "abc" | | ABC | FALSE | "ABC" | | aBc | TRUE | "abc" | @@ -31,7 +31,7 @@ ENQUOTE_NAME(str VARCHAR2, dolower boolean := TRUE) RETURN VARCHAR2; Optional. If TRUE, alphabetic characters in the input string that are not wrapped in quotation marks are converted to lower case. If FALSE, input strings are not converted to lower case. -By default output not included in quotation marks is converted to lower case. + Default is TRUE. Input not enclosed in quotes are converted to lower case. ## Examples