From 0cc3c0e621d4fbaf74630de09c2d246c76c1c961 Mon Sep 17 00:00:00 2001 From: Manfred Moser Date: Wed, 18 Dec 2024 14:35:26 -0800 Subject: [PATCH 1/4] Improve docs for non-transactional merge As applicable for PostgreSQL connector for now. Also extract into a fragment so it can be reused in other connectors. --- .../connector/non-transactional-merge.fragment | 11 +++++++++++ docs/src/main/sphinx/connector/postgresql.md | 13 ++----------- 2 files changed, 13 insertions(+), 11 deletions(-) create mode 100644 docs/src/main/sphinx/connector/non-transactional-merge.fragment diff --git a/docs/src/main/sphinx/connector/non-transactional-merge.fragment b/docs/src/main/sphinx/connector/non-transactional-merge.fragment new file mode 100644 index 000000000000..60e905372a38 --- /dev/null +++ b/docs/src/main/sphinx/connector/non-transactional-merge.fragment @@ -0,0 +1,11 @@ +### Non-transactional MERGE + +The connector supports adding, updating, and deleting rows using [MERGE +statements](/sql/merge), if the `merge.non-transactional-merge.enabled` catalog +property or the corresponding `non_transactional_merge_enabled` catalog session +property is set to `true`. Merge is only supported for directly modifying target +tables. + +In rare cases, expections occur during the merge operation, potentially +resulting in a partial update. + diff --git a/docs/src/main/sphinx/connector/postgresql.md b/docs/src/main/sphinx/connector/postgresql.md index 62d3d7789518..1a1dd092b1ee 100644 --- a/docs/src/main/sphinx/connector/postgresql.md +++ b/docs/src/main/sphinx/connector/postgresql.md @@ -115,17 +115,8 @@ catalog named `sales` using the configured connector. ```{include} non-transactional-insert.fragment ``` -### Non-transactional MERGE - -The connector supports adding rows using {doc}`MERGE statements `. -However, the connector only support merge modifying directly to the target -table at current, to use merge you need to set the `merge.non-transactional-merge.enabled` -catalog property or the corresponding `non_transactional_merge_enabled` catalog session property to -`true`. - -Note that with this property enabled, data can be corrupted in rare cases where -exceptions occur during the merge operation. With transactions disabled, no -rollback can be performed. +```{include} non-transactional-merge.fragment +``` (postgresql-fte-support)= ### Fault-tolerant execution support From c40fd1875765410f60d63f00e1072c778a8c7152 Mon Sep 17 00:00:00 2001 From: Manfred Moser Date: Wed, 18 Dec 2024 15:01:17 -0800 Subject: [PATCH 2/4] Improve SQL support section in JDBC connectors - No content changes but... - Consistent wording _ Markdown link syntax - Move related configs to SQL support section - Improve list and rejig as small local ToC, add links --- .../alter-schema-limitation.fragment | 2 +- .../connector/alter-table-limitation.fragment | 2 +- docs/src/main/sphinx/connector/clickhouse.md | 25 +++++++---- docs/src/main/sphinx/connector/druid.md | 12 ++++-- docs/src/main/sphinx/connector/exasol.md | 12 ++++-- docs/src/main/sphinx/connector/ignite.md | 25 ++++++----- docs/src/main/sphinx/connector/mariadb.md | 39 ++++++++++------- docs/src/main/sphinx/connector/mysql.md | 39 ++++++++++------- docs/src/main/sphinx/connector/oracle.md | 40 ++++++++++------- docs/src/main/sphinx/connector/phoenix.md | 38 ++++++++-------- docs/src/main/sphinx/connector/postgresql.md | 43 ++++++++++++------- docs/src/main/sphinx/connector/redshift.md | 27 ++++++++---- docs/src/main/sphinx/connector/singlestore.md | 32 ++++++++------ docs/src/main/sphinx/connector/snowflake.md | 35 ++++++++------- .../connector/sql-delete-limitation.fragment | 2 +- .../connector/sql-update-limitation.fragment | 2 +- docs/src/main/sphinx/connector/sqlserver.md | 32 +++++++++----- docs/src/main/sphinx/connector/vertica.md | 5 ++- 18 files changed, 255 insertions(+), 157 deletions(-) diff --git a/docs/src/main/sphinx/connector/alter-schema-limitation.fragment b/docs/src/main/sphinx/connector/alter-schema-limitation.fragment index 39065f900324..33100d90c262 100644 --- a/docs/src/main/sphinx/connector/alter-schema-limitation.fragment +++ b/docs/src/main/sphinx/connector/alter-schema-limitation.fragment @@ -1,4 +1,4 @@ -### ALTER SCHEMA +### ALTER SCHEMA limitation The connector supports renaming a schema with the `ALTER SCHEMA RENAME` statement. `ALTER SCHEMA SET AUTHORIZATION` is not supported. diff --git a/docs/src/main/sphinx/connector/alter-table-limitation.fragment b/docs/src/main/sphinx/connector/alter-table-limitation.fragment index de64a02a9c3b..d3101270ee69 100644 --- a/docs/src/main/sphinx/connector/alter-table-limitation.fragment +++ b/docs/src/main/sphinx/connector/alter-table-limitation.fragment @@ -1,4 +1,4 @@ -### ALTER TABLE RENAME TO +### ALTER TABLE RENAME TO limitation The connector does not support renaming tables across multiple schemas. For example, the following statement is supported: diff --git a/docs/src/main/sphinx/connector/clickhouse.md b/docs/src/main/sphinx/connector/clickhouse.md index 0da7a863bb28..fc34ac02ee17 100644 --- a/docs/src/main/sphinx/connector/clickhouse.md +++ b/docs/src/main/sphinx/connector/clickhouse.md @@ -93,9 +93,6 @@ configured connector to create a catalog named `sales`. ```{include} jdbc-case-insensitive-matching.fragment ``` -```{include} non-transactional-insert.fragment -``` - ## Querying ClickHouse The ClickHouse connector provides a schema for every ClickHouse *database*. @@ -317,18 +314,27 @@ No other types are supported. (clickhouse-sql-support)= ## SQL support -The connector provides read and write access to data and metadata in -a ClickHouse catalog. In addition to the {ref}`globally available -` and {ref}`read operation ` +The connector provides read and write access to data and metadata in a +ClickHouse catalog. In addition to the [globally +available](sql-globally-available) and [read operation](sql-read-operations) statements, the connector supports the following features: -- {doc}`/sql/insert` -- {doc}`/sql/truncate` -- {ref}`sql-schema-table-management` +- [](/sql/insert), see also [](clickhouse-insert) +- [](/sql/truncate) +- [](sql-schema-table-management), see also: + - [](clickhouse-alter-table) +- [](clickhouse-procedures) +- [](clickhouse-table-functions) + +(clickhouse-insert)= +```{include} non-transactional-insert.fragment +``` +(clickhouse-alter-table)= ```{include} alter-schema-limitation.fragment ``` +(clickhouse-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment @@ -336,6 +342,7 @@ statements, the connector supports the following features: ```{include} procedures-execute.fragment ``` +(clickhouse-table-functions)= ### Table functions The connector provides specific {doc}`table functions ` to diff --git a/docs/src/main/sphinx/connector/druid.md b/docs/src/main/sphinx/connector/druid.md index ab6f4d269a2b..261047c85dcd 100644 --- a/docs/src/main/sphinx/connector/druid.md +++ b/docs/src/main/sphinx/connector/druid.md @@ -116,10 +116,15 @@ be an empty string `''`, and so forth. (druid-sql-support)= ## SQL support -The connector provides {ref}`globally available ` and -{ref}`read operation ` statements to access data and -metadata in the Druid database. +The connector provides read access to data and metadata in the Druid database. +In addition to the [globally available](sql-globally-available) and [read +operation](sql-read-operations) statements, the connector supports the following +features: +- [](druid-procedures) +- [](druid-table-functions) + +(druid-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment @@ -127,6 +132,7 @@ metadata in the Druid database. ```{include} procedures-execute.fragment ``` +(druid-table-functions)= ### Table functions The connector provides specific {doc}`table functions ` to diff --git a/docs/src/main/sphinx/connector/exasol.md b/docs/src/main/sphinx/connector/exasol.md index a6b7de26d8c2..23147958a70c 100644 --- a/docs/src/main/sphinx/connector/exasol.md +++ b/docs/src/main/sphinx/connector/exasol.md @@ -133,10 +133,15 @@ Exasol does not support longer values. (exasol-sql-support)= ## SQL support -The connector provides {ref}`globally available ` and -{ref}`read operation ` statements to access data and -metadata in the Exasol database. +The connector provides read access to data and metadata in Exasol. In addition +to the [globally available](sql-globally-available) and [read +operation](sql-read-operations) statements, the connector supports the following +features: +- [](exasol-procedures) +- [](exasol-table-functions) + +(exasol-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment @@ -144,6 +149,7 @@ metadata in the Exasol database. ```{include} procedures-execute.fragment ``` +(exasol-table-functions)= ### Table functions The connector provides specific {doc}`table functions ` to diff --git a/docs/src/main/sphinx/connector/ignite.md b/docs/src/main/sphinx/connector/ignite.md index abd43a529bd4..8bde66f1de07 100644 --- a/docs/src/main/sphinx/connector/ignite.md +++ b/docs/src/main/sphinx/connector/ignite.md @@ -75,9 +75,6 @@ configured connector to create a catalog named `sales`. ```{include} jdbc-case-insensitive-matching.fragment ``` -```{include} non-transactional-insert.fragment -``` - ## Table properties Table property usage example: @@ -173,20 +170,28 @@ Ignite. In addition to the {ref}`globally available ` and {ref}`read operation ` statements, the connector supports the following features: -- {doc}`/sql/insert` -- {doc}`/sql/update` -- {doc}`/sql/delete` -- {doc}`/sql/create-table` -- {doc}`/sql/create-table-as` -- {doc}`/sql/drop-table` -- {doc}`/sql/alter-table` +- [](/sql/insert), see also [](ignite-insert) +- [](/sql/update), see also [](ignite-update) +- [](/sql/delete) +- [](/sql/create-table) +- [](/sql/create-table-as) +- [](/sql/drop-table) +- [](/sql/alter-table), see also [](ignite-alter-table) +- [](ignite-procedures) + +(ignite-insert)= +```{include} non-transactional-insert.fragment +``` +(ignite-update)= ```{include} sql-update-limitation.fragment ``` +(ignite-alter-table)= ```{include} alter-table-limitation.fragment ``` +(ignite-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment diff --git a/docs/src/main/sphinx/connector/mariadb.md b/docs/src/main/sphinx/connector/mariadb.md index e07d37cd585d..37d1762cce74 100644 --- a/docs/src/main/sphinx/connector/mariadb.md +++ b/docs/src/main/sphinx/connector/mariadb.md @@ -52,9 +52,6 @@ properties files. ```{include} jdbc-case-insensitive-matching.fragment ``` -```{include} non-transactional-insert.fragment -``` - (mariadb-fte-support)= ### Fault-tolerant execution support @@ -283,28 +280,37 @@ Complete list of [MariaDB data types](https://mariadb.com/kb/en/data-types/). (mariadb-sql-support)= ## SQL support -The connector provides read access and write access to data and metadata in -a MariaDB database. In addition to the {ref}`globally available -` and {ref}`read operation ` +The connector provides read access and write access to data and metadata in a +MariaDB database. In addition to the [globally +available](sql-globally-available) and [read operation](sql-read-operations) statements, the connector supports the following features: -- {doc}`/sql/insert` -- {doc}`/sql/update` -- {doc}`/sql/delete` -- {doc}`/sql/truncate` -- {doc}`/sql/create-table` -- {doc}`/sql/create-table-as` -- {doc}`/sql/drop-table` -- {doc}`/sql/alter-table` -- {doc}`/sql/create-schema` -- {doc}`/sql/drop-schema` +- [](/sql/insert), see also [](mariadb-insert) +- [](/sql/update), see also [](mariadb-update) +- [](/sql/delete), see also [](mariadb-delete) +- [](/sql/truncate) +- [](/sql/create-table) +- [](/sql/create-table-as) +- [](/sql/drop-table) +- [](/sql/alter-table) +- [](/sql/create-schema) +- [](/sql/drop-schema) +- [](mariadb-procedures) +- [](mariadb-table-functions) + +(mariadb-insert)= +```{include} non-transactional-insert.fragment +``` +(mariadb-update)= ```{include} sql-update-limitation.fragment ``` +(mariadb-delete)= ```{include} sql-delete-limitation.fragment ``` +(mariadb-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment @@ -312,6 +318,7 @@ statements, the connector supports the following features: ```{include} procedures-execute.fragment ``` +(mariadb-table-functions)= ### Table functions The connector provides specific {doc}`table functions ` to diff --git a/docs/src/main/sphinx/connector/mysql.md b/docs/src/main/sphinx/connector/mysql.md index 61d5457d786d..30f5e2bac925 100644 --- a/docs/src/main/sphinx/connector/mysql.md +++ b/docs/src/main/sphinx/connector/mysql.md @@ -99,9 +99,6 @@ creates a catalog named `sales` using the configured connector. ```{include} jdbc-case-insensitive-matching.fragment ``` -```{include} non-transactional-insert.fragment -``` - (mysql-fte-support)= ### Fault-tolerant execution support @@ -334,26 +331,35 @@ that catalog name instead of `example` in the above examples. ## SQL support The connector provides read access and write access to data and metadata in the -MySQL database. In addition to the {ref}`globally available ` and -{ref}`read operation ` statements, the connector supports -the following statements: - -- {doc}`/sql/insert` -- {doc}`/sql/update` -- {doc}`/sql/delete` -- {doc}`/sql/truncate` -- {doc}`/sql/create-table` -- {doc}`/sql/create-table-as` -- {doc}`/sql/drop-table` -- {doc}`/sql/create-schema` -- {doc}`/sql/drop-schema` +MySQL database. In addition to the [globally available](sql-globally-available) +and [read operation](sql-read-operations) statements, the connector supports the +following features: + +- [](/sql/insert), see also [](mysql-insert) +- [](/sql/update), see also [](mysql-update) +- [](/sql/delete), see also [](mysql-delete) +- [](/sql/truncate) +- [](/sql/create-table) +- [](/sql/create-table-as) +- [](/sql/drop-table) +- [](/sql/create-schema) +- [](/sql/drop-schema) +- [](mysql-procedures) +- [](mysql-table-functions) + +(mysql-insert)= +```{include} non-transactional-insert.fragment +``` +(mysql-update)= ```{include} sql-update-limitation.fragment ``` +(mysql-delete)= ```{include} sql-delete-limitation.fragment ``` +(mysql-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment @@ -361,6 +367,7 @@ the following statements: ```{include} procedures-execute.fragment ``` +(mysql-table-functions)= ### Table functions The connector provides specific {doc}`table functions ` to diff --git a/docs/src/main/sphinx/connector/oracle.md b/docs/src/main/sphinx/connector/oracle.md index de4cb33b0b3d..238f046bb60a 100644 --- a/docs/src/main/sphinx/connector/oracle.md +++ b/docs/src/main/sphinx/connector/oracle.md @@ -98,9 +98,6 @@ you name the property file `sales.properties`, Trino creates a catalog named ```{include} jdbc-case-insensitive-matching.fragment ``` -```{include} non-transactional-insert.fragment -``` - (oracle-fte-support)= ### Fault-tolerant execution support @@ -405,29 +402,39 @@ fails. This is also true for the equivalent `VARCHAR` types. ## SQL support The connector provides read access and write access to data and metadata in -Oracle. In addition to the {ref}`globally available ` -and {ref}`read operation ` statements, the connector -supports the following statements: - -- {doc}`/sql/insert` -- {doc}`/sql/update` -- {doc}`/sql/delete` -- {doc}`/sql/truncate` -- {doc}`/sql/create-table` -- {doc}`/sql/create-table-as` -- {doc}`/sql/drop-table` -- {doc}`/sql/alter-table` -- {doc}`/sql/comment` +Oracle. In addition to the [globally available](sql-globally-available) and +[read operation](sql-read-operations) statements, the connector supports the +following features: + +- [](/sql/insert), see also [](oracle-insert) +- [](/sql/update), see also [](oracle-update) +- [](/sql/delete), see also [](oracle-delete) +- [](/sql/truncate) +- [](/sql/create-table) +- [](/sql/create-table-as) +- [](/sql/drop-table) +- [](/sql/alter-table), see also [](oracle-alter-table) +- [](/sql/comment) +- [](oracle-procedures) +- [](oracle-table-functions) + +(oracle-insert)= +```{include} non-transactional-insert.fragment +``` +(oracle-update)= ```{include} sql-update-limitation.fragment ``` +(oracle-delete)= ```{include} sql-delete-limitation.fragment ``` +(oracle-alter-table)= ```{include} alter-table-limitation.fragment ``` +(oracle-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment @@ -435,6 +442,7 @@ supports the following statements: ```{include} procedures-execute.fragment ``` +(oracle-table-functions)= ### Table functions The connector provides specific {doc}`table functions ` to diff --git a/docs/src/main/sphinx/connector/phoenix.md b/docs/src/main/sphinx/connector/phoenix.md index a1116b13234f..6d7f2ef613ba 100644 --- a/docs/src/main/sphinx/connector/phoenix.md +++ b/docs/src/main/sphinx/connector/phoenix.md @@ -63,9 +63,6 @@ The following Phoenix-specific configuration properties are available: ```{include} jdbc-case-insensitive-matching.fragment ``` -```{include} non-transactional-insert.fragment -``` - ## Querying Phoenix tables The default empty schema in Phoenix maps to a schema named `default` in Trino. @@ -268,24 +265,31 @@ Use them in the same way as above: in the `WITH` clause of the `CREATE TABLE` st (phoenix-sql-support)= ## SQL support -The connector provides read and write access to data and metadata in -Phoenix. In addition to the {ref}`globally available -` and {ref}`read operation ` -statements, the connector supports the following features: - -- {doc}`/sql/insert` -- {doc}`/sql/update` -- {doc}`/sql/delete` -- {doc}`/sql/merge` -- {doc}`/sql/create-table` -- {doc}`/sql/create-table-as` -- {doc}`/sql/drop-table` -- {doc}`/sql/create-schema` -- {doc}`/sql/drop-schema` +The connector provides read and write access to data and metadata in Phoenix. In +addition to the [globally available](sql-globally-available) and [read +operation](sql-read-operations) statements, the connector supports the following +features: + +- [](/sql/insert), see also [](phoenix-insert) +- [](/sql/update) +- [](/sql/delete), see also [](phoenix-delete) +- [](/sql/merge) +- [](/sql/create-table) +- [](/sql/create-table-as) +- [](/sql/drop-table) +- [](/sql/create-schema) +- [](/sql/drop-schema) +- [](phoenix-procedures) + +(phoenix-insert)= +```{include} non-transactional-insert.fragment +``` +(phoenix-delete)= ```{include} sql-delete-limitation.fragment ``` +(phoenix-procedures)= ### Procedures ```{include} procedures-execute.fragment diff --git a/docs/src/main/sphinx/connector/postgresql.md b/docs/src/main/sphinx/connector/postgresql.md index 1a1dd092b1ee..30eb90c0ce0d 100644 --- a/docs/src/main/sphinx/connector/postgresql.md +++ b/docs/src/main/sphinx/connector/postgresql.md @@ -112,12 +112,6 @@ catalog named `sales` using the configured connector. ```{include} jdbc-case-insensitive-matching.fragment ``` -```{include} non-transactional-insert.fragment -``` - -```{include} non-transactional-merge.fragment -``` - (postgresql-fte-support)= ### Fault-tolerant execution support @@ -351,28 +345,46 @@ that catalog name instead of `example` in the above examples. ## SQL support The connector provides read access and write access to data and metadata in -PostgreSQL. In addition to the {ref}`globally available -` and {ref}`read operation ` -statements, the connector supports the following features: - -- {doc}`/sql/insert` -- {doc}`/sql/update` -- {doc}`/sql/delete` -- {doc}`/sql/truncate` -- {ref}`sql-schema-table-management` +PostgreSQL. In addition to the [globally available](sql-globally-available) and +[read operation](sql-read-operations) statements, the connector supports the +following features: + +- [](/sql/insert), see also [](postgresql-insert) +- [](/sql/update), see also [](postgresql-update) +- [](/sql/delete), see also [](postgresql-delete) +- [](/sql/merge), see also [](postgresql-merge) +- [](/sql/truncate) +- [](sql-schema-table-management), see also: + - [](postgresql-alter-table) + - [](postgresql-alter-schema) +- [](postgresql-procedures) +- [](postgresql-table-functions) + +(postgresql-insert)= +```{include} non-transactional-insert.fragment +``` +(postgresql-update)= ```{include} sql-update-limitation.fragment ``` +(postgresql-delete)= ```{include} sql-delete-limitation.fragment ``` +(postgresql-merge)= +```{include} non-transactional-merge.fragment +``` + +(postgresql-alter-table)= ```{include} alter-table-limitation.fragment ``` +(postgresql-alter-schema)= ```{include} alter-schema-limitation.fragment ``` +(postgresql-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment @@ -380,6 +392,7 @@ statements, the connector supports the following features: ```{include} procedures-execute.fragment ``` +(postgresql-table-functions)= ### Table functions The connector provides specific {doc}`table functions ` to diff --git a/docs/src/main/sphinx/connector/redshift.md b/docs/src/main/sphinx/connector/redshift.md index 659905f56ff5..1543834e5911 100644 --- a/docs/src/main/sphinx/connector/redshift.md +++ b/docs/src/main/sphinx/connector/redshift.md @@ -125,9 +125,6 @@ catalog named `sales` using the configured connector. ```{include} jdbc-case-insensitive-matching.fragment ``` -```{include} non-transactional-insert.fragment -``` - (redshift-fte-support)= ## Fault-tolerant execution support @@ -181,24 +178,37 @@ Redshift. In addition to the {ref}`globally available ` and {ref}`read operation ` statements, the connector supports the following features: -- {doc}`/sql/insert` -- {doc}`/sql/update` -- {doc}`/sql/delete` -- {doc}`/sql/truncate` -- {ref}`sql-schema-table-management` +- [](/sql/insert), see also [](redshift-insert) +- [](/sql/update), see also [](redshift-update) +- [](/sql/delete), see also [](redshift-delete) +- [](/sql/truncate) +- [](sql-schema-table-management), see also: + - [](redshift-alter-table) + - [](redshift-alter-schema) +- [](redshift-procedures) +- [](redshift-table-functions) + +(redshift-insert)= +```{include} non-transactional-insert.fragment +``` +(redshift-update)= ```{include} sql-update-limitation.fragment ``` +(redshift-delete)= ```{include} sql-delete-limitation.fragment ``` +(redshift-alter-table)= ```{include} alter-table-limitation.fragment ``` +(redshift-alter-schema)= ```{include} alter-schema-limitation.fragment ``` +(redshift-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment @@ -206,6 +216,7 @@ statements, the connector supports the following features: ```{include} procedures-execute.fragment ``` +(redshift-table-functions)= ### Table functions The connector provides specific {doc}`table functions ` to diff --git a/docs/src/main/sphinx/connector/singlestore.md b/docs/src/main/sphinx/connector/singlestore.md index e30f770e1798..c11467e1e330 100644 --- a/docs/src/main/sphinx/connector/singlestore.md +++ b/docs/src/main/sphinx/connector/singlestore.md @@ -85,9 +85,6 @@ will create a catalog named `sales` using the configured connector. ```{include} jdbc-case-insensitive-matching.fragment ``` -```{include} non-transactional-insert.fragment -``` - ## Querying SingleStore The SingleStore connector provides a schema for every SingleStore *database*. @@ -315,26 +312,35 @@ a SingleStore database. In addition to the {ref}`globally available ` and {ref}`read operation ` statements, the connector supports the following features: -- {doc}`/sql/insert` -- {doc}`/sql/update` -- {doc}`/sql/delete` -- {doc}`/sql/truncate` -- {doc}`/sql/create-table` -- {doc}`/sql/create-table-as` -- {doc}`/sql/drop-table` -- {doc}`/sql/alter-table` -- {doc}`/sql/create-schema` -- {doc}`/sql/drop-schema` +- [](/sql/insert), see also [](singlestore-insert) +- [](/sql/update), see also [](singlestore-update) +- [](/sql/delete), see also [](singlestore-delete) +- [](/sql/truncate) +- [](/sql/create-table) +- [](/sql/create-table-as) +- [](/sql/alter-table), see also [](singlestore-alter-table) +- [](/sql/drop-table) +- [](/sql/create-schema) +- [](/sql/drop-schema) +- [](singlestore-procedures) + +(singlestore-insert)= +```{include} non-transactional-insert.fragment +``` +(singlestore-update)= ```{include} sql-update-limitation.fragment ``` +(singlestore-delete)= ```{include} sql-delete-limitation.fragment ``` +(singlestore-alter-table)= ```{include} alter-table-limitation.fragment ``` +(singlestore-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment diff --git a/docs/src/main/sphinx/connector/snowflake.md b/docs/src/main/sphinx/connector/snowflake.md index e17ca51a8b47..8d82faa722ce 100644 --- a/docs/src/main/sphinx/connector/snowflake.md +++ b/docs/src/main/sphinx/connector/snowflake.md @@ -62,9 +62,6 @@ multiple instances of the Snowflake connector. ```{include} jdbc-case-insensitive-matching.fragment ``` -```{include} non-transactional-insert.fragment -``` - % snowflake-type-mapping: ## Type mapping @@ -233,21 +230,28 @@ No other types are supported. (snowflake-sql-support)= ## SQL support -The connector provides read access and write access to data and metadata in -a Snowflake database. In addition to the {ref}`globally available -` and {ref}`read operation ` +The connector provides read access and write access to data and metadata in a +Snowflake database. In addition to the [globally +available](sql-globally-available) and [read operation](sql-read-operations) statements, the connector supports the following features: -- {doc}`/sql/insert` -- {doc}`/sql/delete` -- {doc}`/sql/truncate` -- {doc}`/sql/create-table` -- {doc}`/sql/create-table-as` -- {doc}`/sql/drop-table` -- {doc}`/sql/alter-table` -- {doc}`/sql/create-schema` -- {doc}`/sql/drop-schema` +- [](/sql/insert), see also [](snowflake-insert) +- [](/sql/delete) +- [](/sql/truncate) +- [](/sql/create-table) +- [](/sql/create-table-as) +- [](/sql/drop-table) +- [](/sql/alter-table) +- [](/sql/create-schema) +- [](/sql/drop-schema) +- [](snowflake-procedures) +- [](snowflake-table-functions) + +(snowflake-insert)= +```{include} non-transactional-insert.fragment +``` +(snowflake-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment @@ -255,6 +259,7 @@ statements, the connector supports the following features: ```{include} procedures-execute.fragment ``` +(snowflake-table-functions)= ### Table functions The connector provides specific [table functions](/functions/table) to diff --git a/docs/src/main/sphinx/connector/sql-delete-limitation.fragment b/docs/src/main/sphinx/connector/sql-delete-limitation.fragment index 5c3a201ca369..aeb1e9bd9e18 100644 --- a/docs/src/main/sphinx/connector/sql-delete-limitation.fragment +++ b/docs/src/main/sphinx/connector/sql-delete-limitation.fragment @@ -1,4 +1,4 @@ -### SQL DELETE +### DELETE limitation If a ``WHERE`` clause is specified, the ``DELETE`` operation only works if the predicate in the clause can be fully pushed down to the data source. diff --git a/docs/src/main/sphinx/connector/sql-update-limitation.fragment b/docs/src/main/sphinx/connector/sql-update-limitation.fragment index 6143a8e0762d..0e3ece216322 100644 --- a/docs/src/main/sphinx/connector/sql-update-limitation.fragment +++ b/docs/src/main/sphinx/connector/sql-update-limitation.fragment @@ -1,4 +1,4 @@ -### UPDATE +### UPDATE limitation Only `UPDATE` statements with constant assignments and predicates are supported. For example, the following statement is supported because the values diff --git a/docs/src/main/sphinx/connector/sqlserver.md b/docs/src/main/sphinx/connector/sqlserver.md index 705083eb3281..469864d9fe9e 100644 --- a/docs/src/main/sphinx/connector/sqlserver.md +++ b/docs/src/main/sphinx/connector/sqlserver.md @@ -111,9 +111,6 @@ behavior of the connector and the issues queries to the database. ```{include} jdbc-case-insensitive-matching.fragment ``` -```{include} non-transactional-insert.fragment -``` - (sqlserver-fte-support)= ### Fault-tolerant execution support @@ -325,25 +322,37 @@ For Trino `VARCHAR(n)`: ## SQL support The connector provides read access and write access to data and metadata in SQL -Server. In addition to the {ref}`globally available ` -and {ref}`read operation ` statements, the connector -supports the following features: +Server. In addition to the [globally available](sql-globally-available) and +[read operation](sql-read-operations) statements, the connector supports the +following features: + +- [](/sql/insert), see also [](sqlserver-insert) +- [](/sql/update), see also [](sqlserver-update) +- [](/sql/delete), see also [](sqlserver-delete) +- [](/sql/truncate) +- [](sql-schema-table-management), see also: + - [](sqlserver-alter-table) +- [](sqlserver-procedures) +- [](sqlserver-table-functions) -- {doc}`/sql/insert` -- {doc}`/sql/update` -- {doc}`/sql/delete` -- {doc}`/sql/truncate` -- {ref}`sql-schema-table-management` +(sqlserver-insert)= +```{include} non-transactional-insert.fragment +``` + +(sqlserver-update)= ```{include} sql-update-limitation.fragment ``` +(sqlserver-delete)= ```{include} sql-delete-limitation.fragment ``` +(sqlserver-alter-table)= ```{include} alter-table-limitation.fragment ``` +(sqlserver-procedures)= ### Procedures ```{include} jdbc-procedures-flush.fragment @@ -351,6 +360,7 @@ supports the following features: ```{include} procedures-execute.fragment ``` +(sqlserver-table-functions)= ### Table functions The connector provides specific {doc}`table functions ` to diff --git a/docs/src/main/sphinx/connector/vertica.md b/docs/src/main/sphinx/connector/vertica.md index 72960dba32fb..79f2ff079b44 100644 --- a/docs/src/main/sphinx/connector/vertica.md +++ b/docs/src/main/sphinx/connector/vertica.md @@ -165,13 +165,16 @@ features: - [](/sql/create-table) - [](/sql/create-table-as) - [](/sql/drop-table) -- [](/sql/alter-table) excluding `DROP COLUMN` +- [](/sql/alter-table) excluding `DROP COLUMN`, see also [](vertica-alter-table) - [](/sql/create-schema) - [](/sql/drop-schema) +- [](vertica-table-functions) +(vertica-alter-table)= ```{include} alter-table-limitation.fragment ``` +(vertica-table-functions)= ## Table functions The connector provides specific [table functions](/functions/table) to From cf10bf4d0744caaabf4c779d2f6a0a78af04cf60 Mon Sep 17 00:00:00 2001 From: Manfred Moser Date: Thu, 26 Dec 2024 21:39:08 -0800 Subject: [PATCH 3/4] Add non-transactional MERGE docs for Phoenix --- docs/src/main/sphinx/connector/phoenix.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/src/main/sphinx/connector/phoenix.md b/docs/src/main/sphinx/connector/phoenix.md index 6d7f2ef613ba..7efdbe2e98c1 100644 --- a/docs/src/main/sphinx/connector/phoenix.md +++ b/docs/src/main/sphinx/connector/phoenix.md @@ -273,7 +273,7 @@ features: - [](/sql/insert), see also [](phoenix-insert) - [](/sql/update) - [](/sql/delete), see also [](phoenix-delete) -- [](/sql/merge) +- [](/sql/merge), see also [](phoenix-merge) - [](/sql/create-table) - [](/sql/create-table-as) - [](/sql/drop-table) @@ -289,6 +289,10 @@ features: ```{include} sql-delete-limitation.fragment ``` +(phoenix-merge)= +```{include} non-transactional-merge.fragment +``` + (phoenix-procedures)= ### Procedures From 598d950724b759864ef13e56c651bd6c4edd0388 Mon Sep 17 00:00:00 2001 From: Manfred Moser Date: Thu, 26 Dec 2024 21:40:20 -0800 Subject: [PATCH 4/4] Add non-transactional MERGE docs for Ignite --- docs/src/main/sphinx/connector/ignite.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/src/main/sphinx/connector/ignite.md b/docs/src/main/sphinx/connector/ignite.md index 8bde66f1de07..108ebc4a2a7e 100644 --- a/docs/src/main/sphinx/connector/ignite.md +++ b/docs/src/main/sphinx/connector/ignite.md @@ -173,6 +173,7 @@ statements, the connector supports the following features: - [](/sql/insert), see also [](ignite-insert) - [](/sql/update), see also [](ignite-update) - [](/sql/delete) +- [](/sql/merge), see also [](ignite-merge) - [](/sql/create-table) - [](/sql/create-table-as) - [](/sql/drop-table) @@ -187,6 +188,10 @@ statements, the connector supports the following features: ```{include} sql-update-limitation.fragment ``` +(ignite-merge)= +```{include} non-transactional-merge.fragment +``` + (ignite-alter-table)= ```{include} alter-table-limitation.fragment ```