diff --git a/DOC_STRUCTURE.md b/DOC_STRUCTURE.md index e4eab3e3..126f6506 100644 --- a/DOC_STRUCTURE.md +++ b/DOC_STRUCTURE.md @@ -25,10 +25,7 @@ just_the_docs: faq: name: FAQ and getting help nav_fold: true - versions: - name: Releases - nav_fold: true - order: desc + ``` Each one of the `collections` attributes points to the folder in which the content resides, prefixed with an underscore. For example: diff --git a/_artifacts/babelfish/babelfish-1.0.0-source-x64.markdown b/_artifacts/babelfish/babelfish-1.0.0-source-x64.markdown deleted file mode 100644 index b03a7362..00000000 --- a/_artifacts/babelfish/babelfish-1.0.0-source-x64.markdown +++ /dev/null @@ -1,9 +0,0 @@ ---- -role: engine -artifact_id: babelfish -version: 1.0.0 -platform: source -architecture: x64 -slug: babelfish-1.0.0-source-x64 -category: babelfish ---- \ No newline at end of file diff --git a/_artifacts/babelfish/babelfish-1.1.0-source-x64.markdown b/_artifacts/babelfish/babelfish-1.1.0-source-x64.markdown deleted file mode 100644 index 95936de6..00000000 --- a/_artifacts/babelfish/babelfish-1.1.0-source-x64.markdown +++ /dev/null @@ -1,9 +0,0 @@ ---- -role: engine -artifact_id: babelfish -version: 1.1.0 -platform: source -architecture: x64 -slug: babelfish-1.1.0-source-x64 -category: babelfish ---- \ No newline at end of file diff --git a/_artifacts/babelfish/babelfish-1.2.0-source-x64.markdown b/_artifacts/babelfish/babelfish-1.2.0-source-x64.markdown deleted file mode 100644 index ad2a73a3..00000000 --- a/_artifacts/babelfish/babelfish-1.2.0-source-x64.markdown +++ /dev/null @@ -1,9 +0,0 @@ ---- -role: engine -artifact_id: babelfish -version: 1.2.0 -platform: source -architecture: x64 -slug: babelfish-1.2.0-source-x64 -category: babelfish ---- \ No newline at end of file diff --git a/_artifacts/babelfish/babelfish-1.3.0-source-x64.markdown b/_artifacts/babelfish/babelfish-1.3.0-source-x64.markdown deleted file mode 100644 index 11b4f9bf..00000000 --- a/_artifacts/babelfish/babelfish-1.3.0-source-x64.markdown +++ /dev/null @@ -1,9 +0,0 @@ ---- -role: engine -artifact_id: babelfish -version: 1.3.0 -platform: source -architecture: x64 -slug: babelfish-1.3.0-source-x64 -category: babelfish ---- \ No newline at end of file diff --git a/_artifacts/babelfish/babelfish-1.4.0-source-x64.markdown b/_artifacts/babelfish/babelfish-1.4.0-source-x64.markdown deleted file mode 100644 index 6994e09c..00000000 --- a/_artifacts/babelfish/babelfish-1.4.0-source-x64.markdown +++ /dev/null @@ -1,9 +0,0 @@ ---- -role: engine -artifact_id: babelfish -version: 1.4.0 -platform: source -architecture: x64 -slug: babelfish-1.4.0-source-x64 -category: babelfish ---- \ No newline at end of file diff --git a/_artifacts/babelfish/babelfish-1.5.0-source-x64.markdown b/_artifacts/babelfish/babelfish-1.5.0-source-x64.markdown deleted file mode 100644 index d66f9350..00000000 --- a/_artifacts/babelfish/babelfish-1.5.0-source-x64.markdown +++ /dev/null @@ -1,9 +0,0 @@ ---- -role: engine -artifact_id: babelfish -version: 1.5.0 -platform: source -architecture: x64 -slug: babelfish-1.5.0-source-x64 -category: babelfish ---- \ No newline at end of file diff --git a/_artifacts/babelfish/babelfish-2.1.0-source-x64.markdown b/_artifacts/babelfish/babelfish-2.1.0-source-x64.markdown deleted file mode 100644 index 9b3bd50d..00000000 --- a/_artifacts/babelfish/babelfish-2.1.0-source-x64.markdown +++ /dev/null @@ -1,9 +0,0 @@ ---- -role: engine -artifact_id: babelfish -version: 2.1.0 -platform: source -architecture: x64 -slug: babelfish-2.1.0-source-x64 -category: babelfish ---- \ No newline at end of file diff --git a/_artifacts/babelfish/babelfish-2.1.0a-source-x64.markdown b/_artifacts/babelfish/babelfish-2.1.0a-source-x64.markdown deleted file mode 100644 index 44534cb4..00000000 --- a/_artifacts/babelfish/babelfish-2.1.0a-source-x64.markdown +++ /dev/null @@ -1,9 +0,0 @@ ---- -role: engine -artifact_id: babelfish -version: 2.1.0a -platform: source -architecture: x64 -slug: babelfish-2.1.0a-source-x64 -category: babelfish ---- \ No newline at end of file diff --git a/_artifacts/babelfish/babelfish-2.2.0-source-x64.markdown b/_artifacts/babelfish/babelfish-2.2.0-source-x64.markdown deleted file mode 100644 index 4da1f694..00000000 --- a/_artifacts/babelfish/babelfish-2.2.0-source-x64.markdown +++ /dev/null @@ -1,9 +0,0 @@ ---- -role: engine -artifact_id: babelfish -version: 2.2.0 -platform: source -architecture: x64 -slug: babelfish-2.2.0-source-x64 -category: babelfish ---- \ No newline at end of file diff --git a/_artifacts/babelfish/babelfish-2.3.0-source-x64.markdown b/_artifacts/babelfish/babelfish-2.3.0-source-x64.markdown deleted file mode 100644 index 79428aa0..00000000 --- a/_artifacts/babelfish/babelfish-2.3.0-source-x64.markdown +++ /dev/null @@ -1,9 +0,0 @@ ---- -role: engine -artifact_id: babelfish -version: 2.3.0 -platform: source -architecture: x64 -slug: babelfish-2.3.0-source-x64 -category: babelfish ---- \ No newline at end of file diff --git a/_config.yml b/_config.yml index 7f2b7ebe..b6d58dd7 100755 --- a/_config.yml +++ b/_config.yml @@ -114,9 +114,7 @@ just_the_docs: usage: name: Using Babelfish nav_fold: true - limitations: - name: Unsupported Functionality - nav_fold: true + workaround: name: Migration workarounds nav_fold: true @@ -129,10 +127,7 @@ just_the_docs: faq: name: FAQ and getting help nav_fold: true - versions: - name: Releases - nav_fold: true - order: desc + # Enable or disable the site search # Supports true (default) or false diff --git a/_docs/index.md b/_docs/index.md index bab938a4..5c743dbe 100755 --- a/_docs/index.md +++ b/_docs/index.md @@ -11,7 +11,7 @@ permalink: /docs/ This site contains the technical documentation for [Babelfish for PostgreSQL](https://babelfishpg.org/), an [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) and [PostgreSQL](https://www.postgresql.org/about/licence/) open-source project that adds a Microsoft SQL Server-compatible end-point to PostgreSQL. With the addition of Babelfish, PostgreSQL understands T-SQL, SQL Server's proprietary SQL dialect, and supports the TDS communication protocol, so applications originally written for SQL Server may work with PostgreSQL with fewer code changes and without changing database drivers. -[Get started](/getstarted/){: .btn .btn-blue } +[Get started](/docs/installation/compiling-babelfish-from-source/){: .btn .btn-blue } --- diff --git a/_docs/purpose.md b/_docs/purpose.md index 231fe68f..fc1fe976 100644 --- a/_docs/purpose.md +++ b/_docs/purpose.md @@ -33,8 +33,7 @@ By default, to use the following dialects use the following ports: - PostgreSQL dialect, clients connect to port 5432. -Babelfish runs the Transact-SQL (T-SQL) language with the exceptions documented -in [T-SQL limitations](/docs/usage/limitations-of-babelfish). +Babelfish runs the Transact-SQL (T-SQL) language. ### Join the Babelfish community diff --git a/_faq/index.md b/_faq/index.md index f5d2f789..c541e22e 100644 --- a/_faq/index.md +++ b/_faq/index.md @@ -14,10 +14,6 @@ Babelfish and Microsoft SQL Server compatibility. Yes, Babelfish can be used free of charge. It is open-source software, provided under the terms of the [Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0) and [PostgreSQL license](https://www.postgresql.org/about/licence/). -## Is Babelfish 100% compatible with Microsoft SQL Server? - -The Babelfish community tries to be as compatible as possible but there are some limitations. To learn more about -these limitations, check out our [documentation](/docs/usage/limitations-of-babelfish) for a more detailed description. Babelfish supports TDS protocol versions 7.1 and higher. diff --git a/_includes/header.html b/_includes/header.html index addd4733..8d1f2848 100755 --- a/_includes/header.html +++ b/_includes/header.html @@ -23,7 +23,7 @@ diff --git a/_includes/releases/babelfish-1.0.0.md b/_includes/releases/babelfish-1.0.0.md deleted file mode 100644 index 2ee14e5b..00000000 --- a/_includes/releases/babelfish-1.0.0.md +++ /dev/null @@ -1,13 +0,0 @@ - -- Babelfish Version: 1.0.0 -- PostgreSQL Server Version: 13.4 -- Download Source distributions: - - [BABEL_1_0_0__PG_13_4.zip](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_0_0__PG_13_4/BABEL_1_0_0__PG_13_4.zip) - - [BABEL_1_0_0__PG_13_4.tar.gz](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_0_0__PG_13_4/BABEL_1_0_0__PG_13_4.tar.gz) -- Minimum Compass Version: [1.0.0](https://github.com/babelfish-for-postgresql/babelfish_compass/releases/tag/v1.0) -- Date: Oct 28, 2021 - - -This is the initial release of Babelfish for PostgreSQL. Babelfish for PostgreSQL is an open-source project that allows PostgreSQL to understand queries from applications written for Microsoft SQL Server. Babelfish understands the SQL Server wire-protocol and T-SQL, the SQL Server query language, so you don’t have to switch database drivers or re-write all of your application queries. With Babelfish, applications currently running on SQL Server can run directly on PostgreSQL with fewer code changes. - -Babelfish for PostgreSQL is open-source software that uses the Apache License version 2 (ALv2) and the PostgreSQL License. The source for the project is available on [GitHub](https://github.com/babelfish-for-postgresql). diff --git a/_includes/releases/babelfish-1.1.0.md b/_includes/releases/babelfish-1.1.0.md deleted file mode 100644 index 0982d0ad..00000000 --- a/_includes/releases/babelfish-1.1.0.md +++ /dev/null @@ -1,111 +0,0 @@ - -- Babelfish Version: 1.1.0 -- PostgreSQL Server Version: 13.5 -- Download source distributions: - - [BABEL_1_1_0__PG_13_5.zip](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_1_0__PG_13_5/BABEL_1_1_0__PG_13_5.zip) - - [BABEL_1_1_0__PG_13_5.tar.gz](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_1_0__PG_13_5/BABEL_1_1_0__PG_13_5.tar.gz) -- Babelfish Compass - - [Download](https://github.com/babelfish-for-postgresql/babelfish_compass/releases) -- Date: March 15, 2022 - -## Overview - -Babelfish 1.1.0 contains: - -* Enhancements and fixes that improve the user experience, listed below. -* Additional built-in functions, including `ORIGINAL_LOGIN()`, `SQUARE()` and more. - -* Additional system views, including `sys.columns`, `sys.sysindexes`, and more. -* Additional system stored procedures, including `sp_columns`, `sp_statistics`, and more. - -The above items and other new features of Babelfish 1.1.0 are explained in more detail in the sections below. - -## Upgrading to the new version - -**If you’re running Babelfish in a managed environment, please check your vendor’s instructions for upgrading.** - -Babelfish 1.1.0 is compatible with the latest major version (Babelfish 1.0.0); a dump/restore is not required to upgrade to the newer version. To upgrade: - -1. Install the new binaries; for details, see [Compiling Babelfish From Source] (https://babelfishpg.org/docs/installation/compiling-babelfish-from-source/). - -2. Start the new server. - -3. Update the modified extensions. - -To update the extensions that have changed since the last release, connect to the PostgreSQL endpoint of the Babelfish database and execute the following statements from a single session in this order: - -```bash -ALTER EXTENSION "babelfishpg_common" UPDATE; -ALTER EXTENSION "babelfishpg_tsql" UPDATE; -``` - -Please note that the extension owner must invoke ALTER EXTENSION. For this release, the `babelfish_tds` and `babelfish_money` extensions don’t include any SQL-level changes and need not be updated. - -After the extensions are updated, you can check the extension version from the PostgreSQL port: - -```bash -babelfish_db[124386]# \dx - List of installed extensions - Name | Version | Schema | Description ---------------------+---------+------------+------------------------------------------------- - babelfishpg_common | 1.1.0 | public | Transact SQL Datatype Support - .... - babelfishpg_tsql | 1.1.0 | public | Transact SQL Compatibility - .... -``` - -## Changes - -- Add syntax support for `'ALIAS' = ` in the `CREATE FUNCTION` statement, sub-queries and CTE (Jungkook Lee) -- Support omitted database/schema in object name (for example, `..objname`) in `DDL` and `EXECUTE` (Sangil Song) -- Support a leading dot in a qualified column name (`..`) (Sangil Song) -- Support `FOREIGN KEY REFERENCES` table without column list (Zheng Li) -- Support `CREATE TRIGGER` and `DROP TRIGGER` with an optional schema name (Zhibai Song) -- Support T-SQL compatible functions: - - `ORIGINAL_LOGIN()` (Avneet Kaur) - - `SQUARE()` (Rishabh Tanwar) - - `SUBSTRING()` (Brent Sienko) -- Support system catalog views: - - `sys.columns` (Rishabh Tanwar) - - `sys.sysindexes` (Shalini Lohia) - - `sys.syscolumns` (Sharu Goel) -- Support system procedures: - - `sp_updatestats` (Harsh Lunagariya) - - `sp_databases` (Satarupa Biswas) - - `sp_statistics` / `sp_statistics_100` (Huansong Fu) -- Support the `@@PROCID` session variable (Rishabh Tanwar) -- Add initial infrastructure for the `INSERT BULK` statement (Kushaal Shroff, Tim Chang) -- Add initial infrastructure for future Import Export wizard support in SQL Server Management Studio (Kushaal Shroff, Tim Chang) -- Fix error when `@@rowcount` result is `0` when `1` should be returned inside trigger execution (Zhibai Song) -- Fix error when multiple events are associated with a trigger (Zhibai Song) -- Allow table-constraint not following comma in table definition (Sangil Song) -- Allow multiple references to same column in the `OUTPUT` target list (Avantika Dasgupta) -- Block variable assignment in a `SELECT` statement if a union is involved or used in sub-query/derived table (Sangil Song) -- Preserve case of column names for `SELECT -` statements in T-SQL (Tim Chang) -- Add support for block dropping the last member of `sysadmin` (Di Wu) -- Enforce that `APPLOCK_TEST(..., 'transaction')` can only be used inside a transaction (Huansong Fu) -- Make the `text`, `ntext`, and `image` data types invalid for local variables (Harsh Lunagariya) -- Fix the numeric overflow error when accepting values with format 0.00..1 (Kushaal Shroff) -- Support implicit conversion of empty string or spaces-only string to `integer` / `float` (Jungkook Lee) -- Ensure that `date` built-in functions return NULL for a NULL `date` argument (Shalini Lohia) -- Fix permissions error on system views, functions and procedures (Shalini Lohia) -- Fix underflow error in the `EXP` function (Harsh Lunagariya) -- Fix the return type of the `SIGN` function to match the input type (Harsh Lunagariya) -- Fix column datatypes of system catalog views (Rishabh Tanwar, Sharu Goel, Shalini Lohia) - - `sys.default_constraints` - - `sys.index_columns` - - `sys.check_constraints` - - `sys.computed_columns` -- Fix the `sp_tablecollations_100` procedure trying to search for string `@object` (Kushaal Shroff) -- Ensure that the `sys.all_columns` view displays the default server collation name (Kushaal Shroff) -- Fix the TDS protocol error for output parameter of type `binary` (Satarupa Biswas) -- Fix issue with calling stored procedures with output parameters from a .NET program (Rishabh Tanwar) -- Make the error line number use a relative number from batch start instead of procedure body start (Sangil Song) -- Fix errors when inserting into a view with column list (Jungkook Lee) - -## Acknowledgements - -To see a list of the individuals that have contributed to the Babelfish project, [visit the project website](https://babelfishpg.org/contributors/). - -Babelfish for PostgreSQL is open-source software that uses the Apache License version 2 (ALv2) and the PostgreSQL License. The source for the project is available on [GitHub](https://github.com/babelfish-for-postgresql). - diff --git a/_includes/releases/babelfish-1.2.0.md b/_includes/releases/babelfish-1.2.0.md deleted file mode 100644 index a8cf61f5..00000000 --- a/_includes/releases/babelfish-1.2.0.md +++ /dev/null @@ -1,145 +0,0 @@ -- Babelfish Version: 1.2.0 -- PostgreSQL Server Version: 13.6 -- Download source distributions: - - [BABEL_1_2_0__PG_13_6.zip](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_2_0__PG_13_6/BABEL_1_2_0__PG_13_6.zip) - - [BABEL_1_2_0__PG_13_6.tar.gz](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_2_0__PG_13_6/BABEL_1_2_0__PG_13_6.tar.gz) -- Babelfish Compass - - [Download](https://github.com/babelfish-for-postgresql/babelfish_compass/releases) -- Date: April 5, 2022 - -## Overview - -Babelfish 1.2.0 contains enhancements and fixes that improve the user experience, listed below. -- Support for more built-in functions: `COLUMNS_UPDATED`, `UPDATE`, `FULLTEXTSERVICEPROPERTY`, `ISJSON`, `JSON_QUERY`, `JSON_VALUE`, `HAS_DBACCESS`, `SUSER_SID`, `SUSER_SNAME`, `IS_SRVROLEMEMBER`. -- Support for the additional catalog views: `sys.dm_os_host_info`, `sys.dm_exec_sessions`, `sys.dm_exec_connections`, `sys.endpoints`, `sys.table_types`, `sys.database_principals`, `sys.sysprocesses`, `sys.sysconfigures`, `sys.syscurconfigs`, `sys.configurations`, and more. -- Additional system stored procedures, including `sp_table_privileges`, `sp_column_privileges`, `sp_special_columns`, `sp_fkeys`, `sp_pkeys`, `sp_stored_procedures`, `xp_qv`, `sp_describe_undeclared_parameters`, `sp_helpuser`, and more. - -The above items and other new features of Babelfish 1.2.0 are listed in the sections below. - -## Upgrading to the new version - -**If you’re running Babelfish in a managed environment, please check your vendor’s instructions for upgrading.** - -Babelfish 1.2.0 is compatible with the latest major version (Babelfish 1.1.0); a dump/restore is not required to upgrade to the newer version. To upgrade: - -1. Install the new binaries; for details, see [Compiling Babelfish From Source] (https://babelfishpg.org/docs/installation/compiling-babelfish-from-source/). - -2. Start the new server. - -3. Update the modified extensions. - -To update the extensions that have changed since the last release, connect to the PostgreSQL endpoint of the Babelfish database and execute the following statements from a single session in this order: - -```bash -ALTER EXTENSION "babelfishpg_common" UPDATE; -ALTER EXTENSION "babelfishpg_tsql" UPDATE; -``` - -Please note that the extension owner must invoke ALTER EXTENSION. For this release, the `babelfish_tds` and `babelfish_money` extensions don’t include any SQL-level changes and need not be updated. - -After the extensions are updated, you can check the extension version from the PostgreSQL port: - -```bash -babelfish_db[124386]# \dx - List of installed extensions - Name | Version | Schema | Description ---------------------+---------+------------+------------------------------------------------- - babelfishpg_common | 1.2.0 | public | Transact SQL Datatype Support - .... - babelfishpg_tsql | 1.2.0 | public | Transact SQL Compatibility - .... -``` - - -## Changes - -- Casing (upper-case, lower-case) of column names as created with T-SQL is now retained. -- INSTEAD-OF triggers are now supported on tables. This support is for tables only, not views. -- Support for the following system-defined global variables: `@@DBTS`, `@@LOCK_TIMEOUT`, `@@SERVICENAME`. -- Support for `SET LOCK_TIMEOUT` -- Support for the following datatypes: - - `TIMESTAMP` - - `ROWVERSION` -- Support for the following built-in functions: - - `COLUMNS_UPDATED` - - `UPDATE` - - `FULLTEXTSERVICEPROPERTY`` - - `ISJSON` - - `JSON_QUERY` - - `JSON_VALUE` - - `HAS_DBACCESS` - - `SUSER_SID` - - `SUSER_SNAME` - - `IS_SRVROLEMEMBER` -- Full support for the `CHECKSUM` function. This function now supports * and multiple columns (`CHECKSUM ( * | expression [ ,...n ])` ). -- Full support for the `SCHEMA_ID` function. This function can now be used without any arguments (`SCHEMA_ID ( [ schema_name ])`). -- Support for `DROP IF EXISTS` with `SCHEMA`, `DATABASE`, and `USER` objects. -- Support for the following values for `CONNECTIONPROPERTY`: - - `physical_net_transport` - - `client_net_address` -- Support for the following values for `SERVERPROPERTY`: - - `EditionID` - - `EngineEdition` - - `LicenseType` - - `ProductVersion` - - `ProductMajorVersion` - - `ProductMinorVersion` - - `IsIntegratedSecurityOnly` - - `IsLocalDB` - - `IsAdvancedAnalyticsInstalled` - - `IsBigDataCluster` - - `IsPolyBaseInstalled` - - `IsFullTextInstalled` - - `IsXTPSupported` -- Support for the following catalogs: - - `sys.dm_os_host_info` - - `sys.dm_exec_sessions` - - `sys.dm_exec_connections` - - `sys.endpoints` - - `sys.table_types` - - `sys.database_principals` - - `sys.sysprocesses` - - `sys.sysconfigures` - - `sys.syscurconfigs` - - `sys.configurations` -- Support for the following `INFORMATION_SCHEMA` catalogs: - - `TABLES` - - `COLUMNS` - - `DOMAINS` - - `TABLE_CONSTRAINTS` -- Support for the following system stored procedures: - - `sp_table_privileges` - - `sp_column_privileges` - - `sp_special_columns` - - `sp_fkeys` - - `sp_pkeys` - - `sp_stored_procedures` - - `xp_qv` - - `sp_describe_undeclared_parameters` - - `sp_helpuser` -- Limited support for creating, altering, and dropping database principals (USER objects). Limitations for `CREATE`/`ALTER`/`DROP` syntax with USER objects are as follows: - - For `CREATE USER`, you can specify the `FOR`/`FROM LOGIN` and `DEFAULT_SCHEMA` options only. - - For `ALTER USER`, you can specify `DEFAULT_SCHEMA` option only. -- Support for granting and revoking (`GRANT`/`REVOKE`) permisions for database principals only (not database roles). Support includes `GRANT OPTION` and `REVOKE..CASCADE` options for the following: - - `SELECT` - - `INSERT` - - `UPDATE` - - `DELETE` - - `REFERENCES` - - `EXECUTE` - - `ALL` [`PRIVILEGES`] -- Support for `WITH AUTHORIZATION` on `CREATE SCHEMA`. -- Support for the following new escape hatches and escape hatch functionality: - - Ability to restore the default settings for escape hatches. You can restore all the default settings for your Babelfish DB instance by passing `default` as the second argument to the `sp_babelfish_configure` stored procedure. - - Support for a new escape hatch, `escape_hatch_ignore_dup_key` (default=`strict`). This escape hatch controls the `IGNORE_DUP_KEY` option in `CREATE`/`ALTER TABLE` and `CREATE INDEX` statements. When `IGNORE_DUP_KEY=ON`, an error is raised unless `escape_hatch_ignore_dup_key` is set to `ignore`. - - Support for the `ignore` option on the `escape_hatch_storage_options` escape hatch. When this escape hatch is set to `ignore`, Babelfish ignores errors raised in the following cases: - - Ignores errors raised in the `ON` clause in a `CREATE DATABASE` statement. - - Ignores errors raised by `CREATE INDEX` when used with `SORT_IN_TEMPDB`, `DROP_EXISTING`, or `ONLINE` options. - - -## Acknowledgements - -To see a list of the individuals that have contributed to the Babelfish project, [visit the project website](https://babelfishpg.org/contributors/). - -Babelfish for PostgreSQL is open-source software that uses the Apache License version 2 (ALv2) and the PostgreSQL License. The source for the project is available on [GitHub](https://github.com/babelfish-for-postgresql). - diff --git a/_includes/releases/babelfish-1.3.0.md b/_includes/releases/babelfish-1.3.0.md deleted file mode 100644 index 717d5a19..00000000 --- a/_includes/releases/babelfish-1.3.0.md +++ /dev/null @@ -1,59 +0,0 @@ -- Babelfish Version: 1.3.0 -- PostgreSQL Server Version: 13.7 -- Download source distributions: - - [BABEL_1_3_0__PG_13_7.zip](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_3_0__PG_13_7/BABEL_1_3_0__PG_13_7.zip) - - [BABEL_1_3_0__PG_13_7.tar.gz](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_3_0__PG_13_7/BABEL_1_3_0__PG_13_7.tar.gz) -- Babelfish Compass - - [Download](https://github.com/babelfish-for-postgresql/babelfish_compass/releases) -- Date: June 9, 2022 - -## Overview - -Babelfish 1.3.0 contains the following fixes that improve the user experience. 1.3.0 fixes include: -- An issue with SUBSTRING(CHARINDEX()) variable assignment that caused Babelfish to become unavailable. -- An issue with INSERT INTO...with OUTPUT clause that resulted in a "Number of given values does not match target table definition" error. -- An issue that caused DELETE with OUTPUT INTO temporary table statements to return a WITH query 'nnnnnnnnnnn' does not have a RETURNING clause error. -- An issue that caused LEFT OUTER JOIN to fail with the following error message: Error: Internal error at ReadAndHandleColumnData (Reason: Error reading column data) error. - - -## Upgrading to the new version - -**If you’re running Babelfish in a managed environment, please check your vendor’s instructions for upgrading.** - -Babelfish 1.3.0 is compatible with the latest major version of Babelfish; a dump/restore is not required to upgrade to the newer version. To upgrade: - -1. Install the new binaries; for details, see [Compiling Babelfish From Source] (https://babelfishpg.org/docs/installation/compiling-babelfish-from-source/). - -2. Start the new server. - -3. Update the modified extensions. - -To update the extensions that have changed since the last release, connect to the PostgreSQL endpoint of the Babelfish database and execute the following statements from a single session in this order: - -```bash -ALTER EXTENSION "babelfishpg_common" UPDATE; -ALTER EXTENSION "babelfishpg_tsql" UPDATE; -``` - -Please note that the extension owner must invoke ALTER EXTENSION. For this release, the `babelfish_tds` and `babelfish_money` extensions don’t include any SQL-level changes and need not be updated. - -After the extensions are updated, you can check the extension version from the PostgreSQL port: - -```bash -babelfish_db[124386]# \dx - List of installed extensions - Name | Version | Schema | Description ---------------------+---------+------------+------------------------------------------------- - babelfishpg_common | 1.3.0 | public | Transact SQL Datatype Support - .... - babelfishpg_tsql | 1.3.0 | public | Transact SQL Compatibility - .... -``` - - -## Acknowledgements - -To see a list of the individuals that have contributed to the Babelfish project, [visit the project website](https://babelfishpg.org/contributors/). - -Babelfish for PostgreSQL is open-source software that uses the Apache License version 2 (ALv2) and the PostgreSQL License. The source for the project is available on [GitHub](https://github.com/babelfish-for-postgresql). - diff --git a/_includes/releases/babelfish-1.4.0.md b/_includes/releases/babelfish-1.4.0.md deleted file mode 100644 index a9013e44..00000000 --- a/_includes/releases/babelfish-1.4.0.md +++ /dev/null @@ -1,69 +0,0 @@ -- Babelfish Version: 1.4.0 -- PostgreSQL Server Version: 13.8 -- Download source distributions: - - [BABEL_1_4_0__PG_13_8.zip](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_4_0__PG_13_8/BABEL_1_4_0__PG_13_8.zip) - - [BABEL_1_4_0__PG_13_8.tar.gz](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_4_0__PG_13_8/BABEL_1_4_0__PG_13_8.tar.gz) -- Babelfish Compass - - [Download](https://github.com/babelfish-for-postgresql/babelfish_compass/releases) -- Date: November 14, 2022 - -## Overview - -Babelfish 1.4.0 contains fixes and features that improve the user experience. - -### Security enhancements - -- Fixed critical issues in Babelfish due to incorrect handling of user input for some application features. This is tracked in https://github.com/babelfish-for-postgresql/babelfish_extensions/security/advisories/GHSA-m399-rrc8-j6fj. - -### High priority stability enhancements - -- Fixed error handling in `sp_prepare` calls which can cause a server crash when a large number of parameters are sent by the application. Babelfish currently supports a maximum of 100 parameters for a procedure or function. - -- Fixed error handling in SSL/TLS handshake for some client drivers. - -### Additional improvements - -- Fixed the `babelfishpg_tds` extension to correctly allocate the shared memory size used by the extension. - - -## Upgrading to the new version - -**If you’re running Babelfish in a managed environment, please check your vendor’s instructions for upgrading.** - -Babelfish 1.4.0 is compatible with the version 1.x.x of Babelfish; a dump/restore is not required to upgrade to the newer version. To upgrade: - -1. Install the new binaries; for details, see [Compiling Babelfish From Source] (https://babelfishpg.org/docs/installation/compiling-babelfish-from-source/). - -2. Start the new server. - -3. Update the modified extensions. - -To update the extensions that have changed since the last release, connect to the PostgreSQL endpoint of the Babelfish database and execute the following statements from a single session in this order: - -```bash -ALTER EXTENSION "babelfishpg_common" UPDATE; -ALTER EXTENSION "babelfishpg_tsql" UPDATE; -``` - -Please note that the extension owner must invoke ALTER EXTENSION. For this release, the `babelfish_tds` and `babelfish_money` extensions don’t include any SQL-level changes and need not be updated. - -After the extensions are updated, you can check the extension version from the PostgreSQL port: - -```bash -babelfish_db[124386]# \dx - List of installed extensions - Name | Version | Schema | Description ---------------------+---------+------------+------------------------------------------------- - babelfishpg_common | 1.2.1 | public | Transact SQL Datatype Support - .... - babelfishpg_tsql | 1.2.1 | public | Transact SQL Compatibility - .... -``` - - -## Acknowledgements - -To see a list of the individuals that have contributed to the Babelfish project, [visit the project website](https://babelfishpg.org/contributors/). - -Babelfish for PostgreSQL is open-source software that uses the Apache License version 2 (ALv2) and the PostgreSQL License. The source for the project is available on [GitHub](https://github.com/babelfish-for-postgresql). - diff --git a/_includes/releases/babelfish-1.5.0.md b/_includes/releases/babelfish-1.5.0.md deleted file mode 100644 index 0bee22fb..00000000 --- a/_includes/releases/babelfish-1.5.0.md +++ /dev/null @@ -1,60 +0,0 @@ -- Babelfish Version: 1.5.0 -- Extension Version: 1.3.0 -- PostgreSQL Server Version: 13.9 -- Download source distributions: - - [BABEL_1_5_0__PG_13_9.zip](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_5_0__PG_13_9/BABEL_1_5_0__PG_13_9.zip) - - [BABEL_1_5_0__PG_13_9.tar.gz](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_1_5_0__PG_13_9/BABEL_1_5_0__PG_13_9.tar.gz) -- Babelfish Compass - - [Download](https://github.com/babelfish-for-postgresql/babelfish_compass/releases) -- Date: February 16, 2023 - -## Overview - -Babelfish 1.5.0 contains fixes and features that improve the user experience. - -### High priority stability enhancements - -- Fixed an issue related to money operator class during minor version upgrade from 13.4 to 13.5 or later due to which the upgrade was failing - - -## Upgrading to the new version - -**If you’re running Babelfish in a managed environment, please check your vendor’s instructions for upgrading.** - -Babelfish 1.5.0 is compatible with the version 1.x.x of Babelfish; a dump/restore is not required to upgrade to the newer version. To upgrade: - -1. Install the new binaries; for details, see [Compiling Babelfish From Source] (https://babelfishpg.org/docs/installation/compiling-babelfish-from-source/). - -2. Start the new server. - -3. Update the modified extensions. - -To update the extensions that have changed since the last release, connect to the PostgreSQL endpoint of the Babelfish database and execute the following statements from a single session in this order: - -```bash -ALTER EXTENSION "babelfishpg_common" UPDATE; -ALTER EXTENSION "babelfishpg_tsql" UPDATE; -``` - -Please note that the extension owner must invoke ALTER EXTENSION. For this release, the `babelfish_tds` and `babelfish_money` extensions don’t include any SQL-level changes and need not be updated. - -After the extensions are updated, you can check the extension version from the PostgreSQL port: - -```bash -babelfish_db[124386]# \dx - List of installed extensions - Name | Version | Schema | Description ---------------------+---------+------------+------------------------------------------------- - babelfishpg_common | 1.2.1 | public | Transact SQL Datatype Support - .... - babelfishpg_tsql | 1.3.0 | public | Transact SQL Compatibility - .... -``` - - -## Acknowledgements - -To see a list of the individuals that have contributed to the Babelfish project, [visit the project website](https://babelfishpg.org/contributors/). - -Babelfish for PostgreSQL is open-source software that uses the Apache License version 2 (ALv2) and the PostgreSQL License. The source for the project is available on [GitHub](https://github.com/babelfish-for-postgresql). - diff --git a/_includes/releases/babelfish-2.1.0.md b/_includes/releases/babelfish-2.1.0.md deleted file mode 100644 index 40a631a3..00000000 --- a/_includes/releases/babelfish-2.1.0.md +++ /dev/null @@ -1,63 +0,0 @@ -- Babelfish Version: 2.1.0 -- PostgreSQL Server Version: 14.3 -- Download source distributions: - - [BABEL_2_1_0__PG_14_3.zip](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_2_1_0a__PG_14_3/BABEL_2_1_0a__PG_14_3.zip) - - [BABEL_2_1_0__PG_14_3.tar.gz](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_2_1_0a__PG_14_3/BABEL_2_1_0a__PG_14_3.tar.gz) -- Babelfish Compass - - [Download](https://github.com/babelfish-for-postgresql/babelfish_compass/releases) -- Date: July 7, 2022 - -## Overview - -The Babelfish 2.1.0 release is replaced by the Babelfish 2.1.0a release. The features noted below are in the Babelfish 2.1.0a release. - -Babelfish 2.1.0a contains enhancements and fixes that improve the user experience, including: -- Support for new functions, catalogs, and system stored procedures. -- Support for Japanese collations. -- Improved client support. - -Babelfish does not support an upgrade path to version 2.1.0a from Babelfish 1.x.x. - -## Changes - -This version of Babelfish adds support for the following features: - -- Support for functions: `IS_MEMBER()`, `IS_ROLEMEMBER()`, `HAS_PERMS_BY_NAME()`. - -- Support for the following catalogs: - -|syslanguages|sys.indexes|sys.all_views| -|sys.database_files|sys.sql_modules|sys.system_sql_modules| -|sys.all_sql_modules|sys.xml_schema_collections|sys.dm_hadr_database_replica_states| -|sys.data_spaces|sys.database_mirroring|sys.database_role_members| - - -- Support for the system stored procedures: - -|sp_sproc_columns|sp_sproc_columns_100|| -|sp_helprole|sp_helprolemember| - -- Cross-DB references outside the current database, with a 3-part object name, for SELECT,SELECT..INTO, INSERT, UPDATE, DELETE -CREATE ROLE (AUTHORIZATION clause not supported), DROP ROLE, ALTER ROLE. - -- Support for the following collations: Japanese_CS_AS, Japanese_CI_AI, Japanese_CI_AS - -- Babelfish now supports `CHARINDEX()` substring searches on systems using nondeterministic collations. - -- Babelfish now maps the error code for `@@ERROR=213`. - -- Query plan output is generated following `SET BABELFISH_SHOWPLAN_ALL ON (and OFF)` and `SET BABELFISH_STATISTICS PROFILE ON (OFF)`. This will generate PostgreSQL-style query plan information for T-SQL queries in Babelfish. Note that these SET statements are identical to existing T-SQL statements, but with the added BABELFISH_ prefix. - -- Support for data migration with the SSMS Import/Export Wizard. - -- Support for data migration using the bcp client utility, as an experimental feature. Some bcp options (-b, -C, -E, -G, -h, -K, -k, -q, -R, -T, -V) are not currently supported. - -- Support for connecting with the SSMS object explorer connection dialog (rather than only the Query Editor connection dialog), as well as partial support for the SSMS object explorer itself. - - -## Acknowledgements - -To see a list of the individuals that have contributed to the Babelfish project, [visit the project website](https://babelfishpg.org/contributors/). - -Babelfish for PostgreSQL is open-source software that uses the Apache License version 2 (ALv2) and the PostgreSQL License. The source for the project is available on [GitHub](https://github.com/babelfish-for-postgresql). - diff --git a/_includes/releases/babelfish-2.1.0a.md b/_includes/releases/babelfish-2.1.0a.md deleted file mode 100644 index 8d5d9fd1..00000000 --- a/_includes/releases/babelfish-2.1.0a.md +++ /dev/null @@ -1,63 +0,0 @@ -- Babelfish Version: 2.1.0a -- PostgreSQL Server Version: 14.3 -- Download source distributions: - - [BABEL_2_1_0a__PG_14_3.zip](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_2_1_0a__PG_14_3/BABEL_2_1_0a__PG_14_3.zip) - - [BABEL_2_1_0a__PG_14_3.tar.gz](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_2_1_0a__PG_14_3/BABEL_2_1_0a__PG_14_3.tar.gz) -- Babelfish Compass - - [Download](https://github.com/babelfish-for-postgresql/babelfish_compass/releases) -- Date: July 28, 2022 - -## Overview - -Babelfish 2.1.0a contains enhancements and fixes that improve the user experience, including: -- Support for new functions, catalogs, and system stored procedures. -- Support for Japanese collations. -- Improved client support. - -Babelfish does not support an upgrade path to version 2.1.0a from Babelfish 1.x.x. - -## Changes - -This version of Babelfish adds support for the following features: - -- Backported the fix from the PostgreSQL 14.4 release that [reverts changes to CONCURRENTLY](https://github.com/postgres/postgres/commit/e28bb885196916b0a3d898ae4f2be0e38108d81b) that speed up Xmin advance to prevent index corruption with the `CREATE INDEX CONCURRENTLY` / `REINDEX CONCURRENTLY` commands. - -- Support for functions: `IS_MEMBER()`, `IS_ROLEMEMBER()`, `HAS_PERMS_BY_NAME()`. - -- Support for the following catalogs: - -|syslanguages|sys.indexes|sys.all_views| -|sys.database_files|sys.sql_modules|sys.system_sql_modules| -|sys.all_sql_modules|sys.xml_schema_collections|sys.dm_hadr_database_replica_states| -|sys.data_spaces|sys.database_mirroring|sys.database_role_members| - - -- Support for the system stored procedures: - -|sp_sproc_columns|sp_sproc_columns_100| -|sp_helprole|sp_helprolemember| - -- Cross-DB references outside the current database, with a 3-part object name, for SELECT,SELECT..INTO, INSERT, UPDATE, DELETE -CREATE ROLE (AUTHORIZATION clause not supported), DROP ROLE, ALTER ROLE. - -- Support for the following collations: Japanese_CS_AS, Japanese_CI_AI, Japanese_CI_AS - -- Babelfish now supports `CHARINDEX()` substring searches on systems using nondeterministic collations. - -- Babelfish now maps the error code for `@@ERROR=213`. - -- Query plan output is generated following `SET BABELFISH_SHOWPLAN_ALL ON (and OFF)` and `SET BABELFISH_STATISTICS PROFILE ON (OFF)`. This will generate PostgreSQL-style query plan information for T-SQL queries in Babelfish. Note that these SET statements are identical to existing T-SQL statements, but with the added BABELFISH_ prefix. - -- Support for data migration with the SSMS Import/Export Wizard. - -- Support for data migration using the bcp client utility, as an experimental feature. Some bcp options (-b, -C, -E, -G, -h, -K, -k, -q, -R, -T, -V) are not currently supported. - -- Support for connecting with the SSMS object explorer connection dialog (rather than only the Query Editor connection dialog), as well as partial support for the SSMS object explorer itself. - - -## Acknowledgements - -To see a list of the individuals that have contributed to the Babelfish project, [visit the project website](https://babelfishpg.org/contributors/). - -Babelfish for PostgreSQL is open-source software that uses the Apache License version 2 (ALv2) and the PostgreSQL License. The source for the project is available on [GitHub](https://github.com/babelfish-for-postgresql). - diff --git a/_includes/releases/babelfish-2.2.0.md b/_includes/releases/babelfish-2.2.0.md deleted file mode 100644 index fc844ff6..00000000 --- a/_includes/releases/babelfish-2.2.0.md +++ /dev/null @@ -1,92 +0,0 @@ -- Babelfish Version: 2.2.0 -- PostgreSQL Server Version: 14.5 -- Download source distributions: - - [BABEL_2_2_0__PG_14_5.zip](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_2_2_0__PG_14_5/BABEL_2_2_0__PG_14_5.zip) - - [BABEL_2_2_0__PG_14_5.tar.gz](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_2_2_0__PG_14_5/BABEL_2_2_0__PG_14_5.tar.gz) -- Babelfish Compass - - [Download](https://github.com/babelfish-for-postgresql/babelfish_compass/releases) -- Date: November 15, 2022 - -## Overview - -Babelfish 2.2.0 contains enhancements and fixes that improve the user experience, including: - -### Security enhancements - -- Fixed critical issues in Babelfish due to incorrect handling of user input for some application features. This is tracked in https://github.com/babelfish-for-postgresql/babelfish_extensions/security/advisories/GHSA-m399-rrc8-j6fj. - -### High priority stability enhancements - -- Fixed error handling in `sp_prepare` calls which can cause a server crash when a large number of parameters are sent by the application. Babelfish currently supports a maximum of 100 parameters for a procedure or function. -- Fixed error handling in SSL/TLS handshake for some client drivers. -- Fixed an issue where a login can access the database without creating a database user after the `DROP`/`CREATE` of a login. -- Fixed an issue where a login isn't dropped if it is logged in to any session. - -## Changes - -This version of Babelfish adds support for the following new features: - -- Support for data migration using the BCP client and the bcp utility now supports `-E` flag (for identity columns), `-k` flag (an empty column will keep a `NULL` value during an operation), and `-b` flag (for batching inserts). -- Support for cross-database stored procedure execution. -- Support for `CROSS APPLY` and `OUTER APPLY` (lateral join). -- Support for the `SYSTEM_USER`, and `HOST_NAME` built-in functions. The `HOST_NAME` is visible in the `sys.sysprocesses` T-SQL view; the `SID_BINARY` function is supported but always returns `NULL` in Babelfish. -- Support for `CAST` function of numeric expressions to `DATETIME`. -- Support for `@@LANGUAGE` variable with the constant value of `us_english`. -- Support for the old-style function calls with `::` preceding the function name. -- Support for the `sp_helpsrvrolemember` stored procedure. -- Support for the `msdb.dbo.fn_syspolicy_is_automation_enabled system` function. -- Support for more catalogs: `assembly_types`, `numbered_procedures`, `triggers`, `spatial_index_tessellations`, `plan_guides`, `synonyms`, `events`, `trigger_events`, `fulltext_indexes`, `dm_hadr_cluster`, `xml_indexes`, `change_tracking_tables`, `key_constraints`, `database_filestream_options`, `filetable_system_defined_objects`, `hash_indexes`, `filegroups`, `master_files`, `assembly_modules`, `change_tracking_databases`, `database_recovery_status`, `fulltext_catalogs`, `fulltext_stoplists`, `fulltext_indexes`, `fulltext_index_columns`, `fulltext_languages`, `selective_xml_index_paths`, `spatial_indexes`, `filetables`, `registered_search_property_lists`, `syspolicy_configuration`, `syspolicy_system_health_state`. -- Support for new `INFORMATION_SCHEMA` catalogs: `COLUMN_DOMAIN_USAGE`, `CONSTRAINT_COLUMN_USAGE`, `CHECK_CONSTRAINTS`, `ROUTINES`, `VIEWS`. -- Support for executing stored procedures with `sp_ prefix` in the master database without using a three-part name. -- Support for the `babelfishpg_tsql.escape_hatch_showplan_all` escape hatch. When set to `ignore`, the `SET SHOWPLAN_ALL` and `SET STATISTICS PROFILE` will behave like `SET BABELFISH_SHOWPLAN_ALL` and `SET BABELFISH_STATISTICS PROFILE`. When set to `strict`, `SET SHOWPLAN_ALL` and `SET STATISTICS PROFILE` are silently ignored. Note that the query plan information displayed is PostgreSQL-style, rather than SQL Server-style. For more information, see [Reviewing a Query Plan](https://babelfishpg.org/docs/usage/query_planning/). - - -### This version of Babelfish adds support for the following additional improvements and enhancements: - -- Fixed an issue where a value of `1900-01-01 00:00:00` was stored when a `NULL` was inserted or updated into a `datetime` column. A `NULL` value is inserted now. Column values in tables created in a previous Babelfish release are not affected. -- `TIME` datatypes that return 7 digits in SQL Server now returns 7 digits in Babelfish as well, with the 7th digit always being zero. In addition, a rounding issue that sometimes affected the 6th digit has been resolved. -- Increased parameter lengths for `@tsql` and `@params` for `sp_describe_first_result_set` from `nvarchar(384)` to `nvarchar(8000)`. This increases the number of columns the DMS Babelfish target endpoint can support from 25 to 1000. -- Improved performance for system stored procedures: `sys.sp_tablecollations_100`, `sp_columns_managed`, and `sp_describe_undeclared_parameters`. This fix improves the performance of the DMS Babelfish target endpoint, SQL Server Management Studio import and export wizard, and prevents timeouts. -- Fixed an issue with Bitwise `NOT ~` operator and it returns the correct result with BIT data types now. -- Fixed an issue with `BCP` when it is used for tables that have triggers. -- Fixed an issue of backend failure in `INSERT BULK` when using Import-Export wizard. -- Fixed an issue where SQL Server Management Studio (SSMS) returns an error while expanding `Triggers` for a table in the Object Explorer view. -- Fixed an issue where the name column in the `sys.sysobjects` view was using case sensitive collation. -- Fixed an issue to refer SQL objects inside a function and is resolved to the function's schema rather than the default schema of the user. -- Fixed an issue where a backend crash can occur when using the `ISNULL` function with `CONVERT` on computed columns. -- Fixed an issue with the `DATEPART` function when the date argument is a string literal. -- Fixed an issue where a role can be dropped even if it has members. -- Fixed an issue so that the database user can't add to a role or drop from a role. -- Fixed an issue to allow `BCP` to work correctly with collations other than English collations. -- Fixed an issue to make `sp_helpuser` procedure show login name for the `dbo` user. -- Fixed an issue to handle NULL and mix-cased inputs correctly for the functions `SUSER_SNAME` and `SUSER_SID`. -- Fixed an issue with Babelfish returning an invalid TDS protocol stream when there is a numeric overflow error. -- Fixed an issue where `is_fixed_role` column returns incorrect value in the `sys.server_principals` view for the `sysadmin` role. -- Fixed the transaction error handling in a batch if the string passed to execute contains `USE dbname` and fails because the database `dbname` was not found. -- Fixed the issue with procedures created in the master database context with `prefix sp_` that are not accessible from other database context. -- Fixed the failure to resolve object name inside a procedure when used with schema name. -- Fixed case-sensitivity issue with arguments to the functions `USER_ID` and `SUSER_ID`. -- Fixed an issue where triggers were allowed to be created on Babelfish temporary tables. -- Fixed several performance issues with Import-Export wizard. -- Support for multi-byte client encodings other than `UTF-16` for `VARCHAR(n)`. -- Fixed the system compatibility view `sys.sysprocesses` to show the correct value for hostname provided by the client connection. -- Fixed case sensitivity issue with `Polish_CI_AS` collation. -- Fixed the `@@DBTS` function so that value of `@@DBTS` correctly returns the current transaction id after each DML statement even when used within a transaction. -- Improved performance for queries that refer to the functions `SCOPE_IDENTITY` and `@@IDENTITY`. -- Support added for collations `Japanese_CS_AS`, `Japanese_CI_AI` and `Japanese_CI_AS` for `fn_helpcollations`. -- Function `fn_mapped_system_error_list` lists the PG error code mapped to `@@ERROR` codes, as well as the corresponding error message text. This function also exists in previous Babelfish releases but did not include mapping details. -- Fixed `DATEADD` function to now support `milliseconds(ms)` time units. -- `SET NO_BROWSETABLE {ON|OFF}` is now subject to escape hatch `escape_hatch_session_settings`, so no error is raised when set to `ignored`. -- `SET PARSEONLY {ON|OFF}` is now supported. Previously this would raise an error unless escape hatch `escape_hatch_session_settings` is set to `ignored`. -- The `DATABASE_DEFAULT` AND `CATALOG_DEFAULT` collation is now supported; this refers to the server/instance-level collation that was specified when the Babelfish instance was created, as Babelfish doesn't currently support collations on database level. -- For `OBJECTPROPERTY()` and `OBJECTPROPERTYEX()`, the following properties are now supported: `ExecIsAnsiNullsOn`, `ExecIsQuotedIdentOn`, `IsDefault`, `IsDefaultCnst`, `IsDeterministic`, `IsIndexed`, `IsInlineFunction`, `IsMSShipped`, `IsPrimaryKey`, `IsProcedure`, `IsRule`, `IsScalarFunction`, `IsSchemaBound`, `IsTable`, `IsTableFunction`, `IsTrigger`, `IsUserTable`, `IsView`, `OwnerId`, `TableFulltextPopulateStatus`, `TableHasVarDecimalStorageFormat`. -- The `OBJECTPROPERTYEX` function supports the `BaseType` property. -- The `INDEXPROPERTY` function supports the following properties: `IndexFillFactor`, `IndexID`, `IsClustered`, `IsDisabled`, `IsHypothetical`, `IsPadIndex`, `IsPageLockDisallowed`, `IsRowLockDisallowed`, `IsUnique`. - - -## Acknowledgements - -To see a list of the individuals that have contributed to the Babelfish project, [visit the project website](https://babelfishpg.org/contributors/). - -Babelfish for PostgreSQL is open-source software that uses the Apache License version 2 (ALv2) and the PostgreSQL License. The source for the project is available on [GitHub](https://github.com/babelfish-for-postgresql). - diff --git a/_includes/releases/babelfish-2.3.0.md b/_includes/releases/babelfish-2.3.0.md deleted file mode 100644 index a10a686f..00000000 --- a/_includes/releases/babelfish-2.3.0.md +++ /dev/null @@ -1,78 +0,0 @@ -- Babelfish Version: 2.3.0 -- Extension Version: 2.3.0 -- PostgreSQL Server Version: 14.6 -- Download source distributions: - - [BABEL_2_3_0__PG_14_6.zip](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_2_3_0__PG_14_6/BABEL_2_3_0__PG_14_6.zip) - - [BABEL_2_3_0__PG_14_6.tar.gz](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/download/BABEL_2_3_0__PG_14_6/BABEL_2_3_0__PG_14_6.tar.gz) -- Babelfish Compass - - [Download](https://github.com/babelfish-for-postgresql/babelfish_compass/releases) -- Date: February 16, 2023 - -## Overview - -Babelfish 2.3.0 contains fixes that improve the user experience, including: - -### New features - -- Supports major version upgrade from Babelfish for PostgreSQL DB cluster 13.6 and later to 14.6. -- Support for T-SQL hints (`join methods`, `index usage`, `MAXDOP`). -- Support the estimated execution plans for `THROW`, `PRINT`, `USE`, and `RAISEERROR` statements. -- Support additional system stored procedures `sp_addrole`, `sp_droprole`, `sp_addrolemember`, `sp_droprolemember`, `sp_helpdbfixedrole` -- Support guest user in all the user created databases and support `GRANT`/`CONNECT TO`/`FROM` user (including guest). - -### Additional improvements and enhancements - -- Fixed the default collation of Babelfish data types except `TEXT` and `NTEXT` to be the same as that mentioned in the `babelfishpg_tsql.server_collation_name` parameter. Previously, the default collation of the collatable datatypes was `pg_catalog.default`. The datatypes and the objects that depends on these datatypes followed cases-sensitive collation which impacts the T-SQL objects of the database which use case-insensitive collation. Starting with Babelfish 2.3.0, the default collation for the collatable data types (except `TEXT` and `NTEXT`) is the same as the collation specified in the `babelfishpg_tsql.server_collation_name` parameter. -- Fixed an issue where members of `sysadmin` could not connect through SSMS. -- Corrected the schema name resolution for triggers and views so that it selects/modifies the correct object(tables). -- Improvements in `FOR JSON PATH` clause of `SELECT` statement which supports `ROOT`, `INCLUDE_NULL_VALUES`, `WITHOUT_ARRAY_WRAPPER`. -- Corrected the schema name resolution for Babelfish objects like views and triggers, so that the correct object is selected or modified. -- Fixed issue for dotnet clients (including SSMS) that received invalid precision/scale error for certain arithmetic expressions. -- Fixed issues with various datetime functions such as `DATEPART()`, `DATENAME()`, `DATEDIFF()`, and `DATEADD()`. - -### Upgrading to the new version - -If you’re running Babelfish in a managed environment, please check your vendor’s instructions for upgrading. - -#### Minor Version Upgrade - -Babelfish 2.3.0 is compatible with other 2.x.x versions of Babelfish; a `dump`/`restore` is not required to upgrade to the newer version from previous 2.x.x releases. To upgrade: - -1. Install the new binaries; for details, see [Compiling Babelfish From Source] (https://babelfishpg.org/docs/installation/compiling-babelfish-from-source/). -2. Start the new server. -3. Update the modified extensions. - -To update the extensions that have changed since the last release, connect to the PostgreSQL endpoint of the Babelfish database and execute the following statements from a single session in this order: - -```sql -ALTER EXTENSION "babelfishpg_common" UPDATE; -ALTER EXTENSION "babelfishpg_tsql" UPDATE; -``` - -Please note that the extension owner must invoke `ALTER EXTENSION`. For this release, the `babelfish_tds` and `babelfish_money` extensions don’t include any SQL-level changes and need not be updated. - -After the extensions are updated, you can check the extension versions from the PostgreSQL port: - -```sql -babelfish_db=# \dx - List of installed extensions - Name | Version | Schema | Description ---------------------+---------+------------+------------------------------------------------- - babelfishpg_common | 2.3.0 | public | Transact SQL Datatype Support - .... - babelfishpg_tsql | 2.3.0 | public | Transact SQL Compatibility - .... - -``` - -#### Major Version Upgrade - -Babelfish 2.3.0 also provides the ability to upgrade from some 1..x.x versions of Babelfish. This process is called major version upgrade (MVU). It consists of two steps. First, you need to perform a major version upgrade on the PostgreSQL server to upgrade it to the target version. Second, you need to update all Babelfish extensions to the target version. Currently, Babelfish only supports upgrade using the `pg_upgrade` module. Other upgrade methods such as `dump`/`restore` and replication are not supported. - - -## Acknowledgements - -To see a list of the individuals that have contributed to the Babelfish project, [visit the project website](https://babelfishpg.org/contributors/). - -Babelfish for PostgreSQL is open-source software that uses the Apache License version 2 (ALv2) and the PostgreSQL License. The source for the project is available on [GitHub](https://github.com/babelfish-for-postgresql). - diff --git a/_internals/software-architecture.md b/_internals/software-architecture.md index 9a95a57d..12d82608 100644 --- a/_internals/software-architecture.md +++ b/_internals/software-architecture.md @@ -27,9 +27,6 @@ The PostgreSQL core that is distributed with Babelfish has been modified to prep transaction handling, and other behaviors that are different in SQL Server. This means that the database server is not 100% identical to a community distribution of PostgreSQL. -To find out more about unsupported SQL Server behaviors, check -out our section about [limitations and compatibility issues](/docs/usage/limitations-of-babelfish). - ### Databases vs. schemas PostgreSQL supports the following logical structure of objects: @@ -68,8 +65,7 @@ Here is a more detailed description of these extensions: Data types are often really similar but not necessarily 100% identical. Therefore, the Babelfish development team provides specific data types which -mimic SQL Server behavior. You will find an up-to-date list of unsupported -data types and other functionality on the [Babelfish compatibility page](docs/usage/limitations-of-babelfish). +mimic SQL Server behavior. #### `babelfishpg_money`: Money data type diff --git a/_layouts/homepage.html b/_layouts/homepage.html index bd9740fc..e103b0e6 100644 --- a/_layouts/homepage.html +++ b/_layouts/homepage.html @@ -65,9 +65,6 @@

{{ page.secondary.heading }}

{{page.ctas.pre}} {{ org.title }} {{page.ctas.post}} {% endif %} - - {% assign latest = site.versions | sort: date | last %} -
{{ page.version_feature.latest_label}} {{ latest.version }} {{ page.version_feature.date_label}} {{ latest.date | date_to_string: "ordinal", "US"}}

What's new?

diff --git a/_limitations/bif_limitations.md b/_limitations/bif_limitations.md deleted file mode 100644 index 05efa0f4..00000000 --- a/_limitations/bif_limitations.md +++ /dev/null @@ -1,296 +0,0 @@ ---- -layout: default -title: Built-in Functions -nav_order: 10 ---- - -## Supported Built-in Functions - -Babelfish provides limited support for system-implemented built-in functions. The following lists detail the functionality implemented for each version of Babelfish (and subsequent releases). - -The following built-in functions are supported for versions 2.1.0 and higher: - -- `IS_MEMBER()` -- `IS_ROLEMEMBER()` -- `HAS_PERMS_BY_NAME()` - -The following built-in functions are supported for versions 1.2.0 and higher: - -- `COLUMNS_UPDATED()` -- `UPDATE()` -- `FULLTEXTSERVICEPROPERTY()` -- `ISJSON()` -- `JSON_QUERY()` -- `JSON_VALUE()` -- `HAS_DBACCESS()` -- `SUSER_SID()` -- `SUSER_SNAME()` -- `IS_SRVROLEMEMBER()` - -The following built-in functions are supported for versions 1.1.0 and higher: - -- `CONCAT_WS` -- `DATEFROMPARTS` -- `DATETIMEFROMPARTS` -- `ORIGINAL_LOGIN` -- `SESSION_USER` -- `SQUARE` -- `CHOOSE` -- `TRIGGER_NESTLEVEL` -- `CURSOR_STATUS` - -The following built-in functions are supported for versions 1.0.0 and higher: - -- `ABS` -- `ACOS` -- `ASCII` -- `ASIN` -- `ATAN` -- `APPLOCK_MODE` -- `APPLOCK_TEST` -- `CAST` -- `CEILING` -- `CHAR` -- `CHARINDEX` -- `CHECKSUM` -- `COALESCE` -- `CONCAT` -- `CONVERT` -- `COS` -- `COT` -- `CURRENT_TIMESTAMP` -- `CURRENT_USER` -- `USER` -- `DATALENGTH` -- `DATEADD` -- `DATEDIFF` -- `DATENAME` -- `DATEPART` -- `DAY` -- `DB_ID` -- `DB_NAME` -- `SUSER_ID` -- `SUSER_NAME` -- `USER_ID` -- `USER_NAME` -- `DEFAULT_DOMAIN` -- `DEGREES` -- `EXP` -- `ERROR_LINE` -- `ERROR_MESSAGE` -- `ERROR_NUMBER` -- `ERROR_PROCEDURE` -- `ERROR_SEVERITY` -- `ERROR_STATE` -- `FLOOR` -- `GETDATE` -- `GETUTCDATE` -- `IIF` -- `ISDATE` -- `ISNULL` -- `ISNUMERIC` -- `LEFT` -- `LEN` -- `LOG` -- `LOG10` -- `LOWER` -- `LTRIM` -- `MONTH` -- `NCHAR` -- `NEWID` -- `NULLIF` -- `OBJECT_ID` -- `OBJECT_NAME` -- `PATINDEX` -- `PI` -- `POWER` -- `RADIANS` -- `RAND` -- `REPLACE` -- `REPLICATE` -- `REVERSE` -- `RIGHT` -- `ROUND` -- `RTRIM` -- `SCOPE_IDENTITY` -- `IDENT_CURRENT` -- `IDENT_INCR` -- `IDENT_SEED` -- `SCHEMA_ID` -- `SCHEMA_NAME` -- `SERVERPROPERTY` -- `SIGN` -- `SIN` -- `SPACE` -- `SQRT` -- `STRING_AGG` -- `STRING_SPLIT` -- `STUFF` -- `SUBSTRING` -- `SYSDATETIME` -- `SYSDATETIMEOFFSET` -- `SYSUTCDATETIME` -- `TAN` -- `TRIM` -- `TRY_CAST` -- `TRY_PARSE` -- `UPPER` -- `YEAR` -- `QUOTENAME` -- `XACT_STATE` -- `STRING_ESCAPE` -- `DATABASEPROPERTYEX` -- `CONNECTIONPROPERTY` -- `SQL_VARIANT_PROPERTY` -- `SESSIONPROPERTY` -- `COLLATIONPROPERTY` -- `UNICODE` - -- `TRIGGER_NESTLEVEL()` is supported but only without arguments. - - -## Unsupported Built-in Functions - -The following Built-in functions are not supported: - - -- `ASSEMBLYPROPERTY` -- `ASYMKEYPROPERTY` -- `ASYMKEY_ID` -- `ATN2` -- `BINARY_CHECKSUM` -- `CAST` -- `CERTENCODED` -- `CERTPROPERTY` -- `CERT_ID` -- `CHOOSE` -- `COALESCE` -- `COLLATIONPROPERTY` -- `COLUMNPROPERTY` -- `COLUMNS_UPDATED` -- `COL_LENGTH` -- `COL_NAME` -- `COMPRESS` -- `CONTAINS` -- `CONTAINSTABLE` -- `CONTEXT_INFO` -- `CONVERT` -- `CURRENT_REQUEST_ID` -- `CURRENT_TIMEZONE` -- `CURRENT_TIMEZONE_ID` -- `CURRENT_TRANSACTION_ID` -- `DATABASEPROPERTY` -- `DATABASE_PRINCIPAL_ID` -- `DATEDIFF_BIG` -- `DATETIME2FROMPARTS` -- `DATETIMEOFFSETFROMPARTS` -- `DECOMPRESS` -- `DIFFERENCE` -- `EOMONTH` -- `EVENTDATA` -- `FILEGROUPPROPERTY` -- `FILEGROUP_ID` -- `FILEGROUP_NAME` -- `FILEPROPERTY` -- `FILEPROPERTYEX` -- `FILE_ID` -- `FILE_IDEX` -- `FILE_NAME` -- `FN_GET_SQL` -- `FORMAT` -- `FORMATMESSAGE` -- `GETANSINULL` -- `GET_FILESTREAM_TRANSACTION_CONTEXT` -- `HASHBYTES` -- `HOST_ID` -- `HOST_NAME` -- `IDENTITY` -- `IIF` -- `INDEXKEY_PROPERTY` -- `INDEXPROPERTY` -- `INDEX_COL` -- `IS_OBJECTSIGNED` -- `JSON` -- `JSON_MODIFY` -- `KEY_GUID` -- `KEY_ID` -- `KEY_NAME` -- `LOGINPROPERTY` -- `MIN_ACTIVE_ROWVERSION` -- `NEWSEQUENTIALID` -- `NULLIF` -- `OBJECTPROPERTY` -- `OBJECTPROPERTYEX` -- `OBJECT_DEFINITION` -- `OBJECT_SCHEMA_NAME` -- `OPENDATASOURCE` -- `OPENJSON` -- `OPENQUERY` -- `OPENROWSET` -- `OPENXML` -- `ORIGINAL_DB_NAME` -- `PARSE` -- `PARSENAME` -- `PARTITION` -- `PERMISSIONS` -- `PUBLISHINGSERVERNAME` -- `REVERSE` -- `ROWCOUNT_BIG` -- `SESSION_CONTEXT` -- `SIGNBYASYMKEY` -- `SIGNBYCERT` -- `SMALLDATETIMEFROMPARTS` -- `SOUNDEX` -- `STATS_DATE` -- `STR` -- `SID_BINARY` -- `SWITCHOFFSET` -- `SYMKEYPROPERTY` -- `SYSTEM_USER` -- `TERTIARY_WEIGHTS` -- `TEXTPTR` -- `TEXTVALID` -- `TIMEFROMPARTS` -- `TODATETIMEOFFSET` -- `TRANSLATE` -- `TRY_CONVERT` -- `TRY_PARSE` -- `TYPEPROPERTY` -- `TYPE_ID` -- `TYPE_NAME` -- `UPDATE` -- `VERIFYSIGNEDBYASMKEY` -- `VERIFYSIGNEDBYCERT` -- `VERIGYSIGNEDBYCERT` -- `CHANGETABLE` -- `CHANGE_TRACKING_MIN_VALID_VERSION` -- `CHANGE_TRACKING_CURRENT_VERSION` -- `CHANGE_TRACKING_IS_COLUMN_IN_MASK` -- `CHANGE_TRACKING_CONTEXT` -- `DEFAULT_DOMAIN` -- `FILETABLEROOTPATH` -- `GETFILENAMESPACEPATH` -- `GETPATHLOCATOR` -- `PATHNAME` -- `CONTAINSTABLE` -- `FREETEXT` -- `FREETEXTTABLE` -- `SEMANTICKEYPHRASETABLE` -- `SEMANTICSIMILARITYDETAILSTABLE` -- `SEMANTICSIMILARITYTABLE` -- `FULLTEXTCATALOGPROPERTY` -- `FULLTEXTSERVICEPROPERTY` -- `ENCRYPTBYASYMKEY` -- `ENCRYPTBYCERT` -- `ENCRYPTBYKEY` -- `ENCRYPTBYPASSPHRASE` -- `PWDCOMPARE` -- `PWDENCRYPT` -- `DECRYPTBYASYMKEY` -- `DECRYPTBYCERT` -- `DECRYPTBYKEY` -- `DECRYPTBYKEYAUTOASYMKEY` -- `DECRYPTBYKEYAUTOCERT` -- `DECRYPTBYPASSPHRASE` -- `DECRYPTBYKEYAUTOCERT` -- `PREDICT` diff --git a/_limitations/catalog_limitations.md b/_limitations/catalog_limitations.md deleted file mode 100644 index 66d3c264..00000000 --- a/_limitations/catalog_limitations.md +++ /dev/null @@ -1,678 +0,0 @@ ---- -layout: default -title: System Catalog Views -nav_order: 18 ---- - -## Supported System Catalog Views - -Babelfish provides limited support for System Catalog Views: - -The following System Catalog Views are supported for versions 2.1.0 and higher: - -- `sys.syslanguages` -- `sys.indexes` -- `sys.all_views` -- `sys.database_files` -- `sys.sql_modules` -- `sys.system_sql_modules` -- `sys.all_sql_modules` -- `sys.xml_schema_collections` -- `sys.dm_hadr_database_replica_states` -- `sys.data_spaces` -- `sys.database_mirroring` -- `sys.database_role_members` - -The following System Catalog Views are supported for versions 1.2.0 and higher: - -- `sys.dm_os_host_info` -- `sys.dm_exec_sessions` -- `sys.dm_exec_connections` -- `sys.endpoints` -- `sys.table_types` -- `sys.database_principals` -- `sys.sysprocesses` -- `sys.sysconfigures` - a single, read-only configuration setting is currently provided. -- `sys.syscurconfigs` - a single, read-only configuration setting is currently provided. -- `sys.configurations` - a single, read-only configuration setting is currently provided. - -The following System Catalog Views are supported for versions 1.1.0 and higher: - -- `sysindexes` -- `syscolumns` -- `system_objects` -- `identity_columns` -- `types` -- `check_constraints` -- `computed_columns` -- `default_constraints` -- `index_columns` -- `sql_modules` - - -The following System Catalog Views are supported for versions 1.0.0 and higher: - -- `databases` -- `sysdatabases` -- `server_principals` -- `objects` -- `sysobjects` -- `all_objects` -- `schemas` -- `tables` -- `indexes` -- `views` -- `all_views` -- `procedures` -- `extended_properties` -- `columns` -- `all_columns` -- `syscharsets` -- `assemblies` -- `assembly_types` -- `sysforeignkeys` -- `foreign_key_columns` -- `foreign_keys` -- `key_constraints` - - - -## Unsupported System Catalogs - -The following system catalogs are not supported: - -- `sysallocunits` -- `sysaltfiles` -- `sysasymkeys` -- `sysaudacts` -- `sysbinobjs` -- `sysbinsubobjs` -- `sysbrickfiles` -- `syscacheobjects` -- `syscerts` -- `syscharsets` -- `syschildinsts` -- `sysclones` -- `sysclsobjs` -- `syscolpars` -- `syscolumns` -- `syscomments` -- `syscompfragments` -- `sysconfigures` -- `sysconstraints` -- `sysconvgroup` -- `syscscolsegments` -- `syscscontainers` -- `syscsdictionaries` -- `syscsrowgroups` -- `syscurconfigs` -- `syscursorcolumns` -- `syscursorrefs` -- `syscursors` -- `syscursortables` -- `sysdatabases` -- `sysdbfiles` -- `sysdbfrag` -- `sysdbreg` -- `sysdepends` -- `sysdercv` -- `sysdesend` -- `sysdevices` -- `sysendpts` -- `sysextendedrecoveryforks` -- `sysextfileformats` -- `sysextsources` -- `sysexttables` -- `sysfgfrag` -- `sysfilegroups` -- `sysfiles` -- `sysfiles1` -- `sysfoqueues` -- `sysforeignkeys` -- `sysfos` -- `sysftinds` -- `sysftproperties` -- `sysftsemanticsdb` -- `sysftstops` -- `sysfulltextcatalogs` -- `sysguidrefs` -- `sysidxstats` -- `sysindexes` -- `sysindexkeys` -- `sysiscols` -- `syslanguages` -- `syslnklgns` -- `syslockinfo` -- `syslogins` -- `syslogshippers` -- `sysmatrixageforget` -- `sysmatrixages` -- `sysmatrixbricks` -- `sysmatrixconfig` -- `sysmatrixmanagers` -- `sysmembers` -- `sysmessages` -- `sysmultiobjrefs` -- `sysmultiobjvalues` -- `sysnsobjs` -- `sysobjects` -- `sysobjkeycrypts` -- `sysobjvalues` -- `sysoledbusers` -- `sysopentapes` -- `sysowners` -- `sysperfinfo` -- `syspermissions` -- `sysphfg` -- `syspriorities` -- `sysprivs` -- `sysprocesses` -- `sysprotects` -- `syspru` -- `sysprufiles` -- `sysqnames` -- `sysreferences` -- `sysremotelogins` -- `sysremsvcbinds` -- `sysrmtlgns` -- `sysrowsetrefs` -- `sysrowsets` -- `sysrscols` -- `sysrts` -- `sysscalartypes` -- `sysschobjs` -- `sysseobjvalues` -- `sysservers` -- `syssingleobjrefs` -- `syssoftobjrefs` -- `syssqlguides` -- `system_columns` -- `system_components_surface_area_configuration` -- `system_internals_allocation_units` -- `system_internals_partition_columns` -- `system_internals_partitions` -- `system_objects` -- `system_parameters` -- `system_sql_modules` -- `system_views` -- `systypedsubobjs` -- `systypes` -- `sysusermsgs` -- `sysusers` -- `syswebmethods` -- `sysxlgns` -- `sysxmitbody` -- `sysxmitqueue` -- `sysxmlcomponent` -- `sysxmlfacet` -- `sysxmlplacement` -- `sysxprops` -- `sysxsrvs` -- `all_columns` -- `all_objects` -- `all_parameters` -- `all_sql_modules` -- `all_views` -- `allocation_units` -- `assemblies` -- `assembly_files` -- `assembly_modules` -- `assembly_references` -- `assembly_types` -- `asymmetric_keys` -- `availability_databases_cluster` -- `availability_group_listener_ip_addresses` -- `availability_group_listeners` -- `availability_groups` -- `availability_groups_cluster` -- `availability_read_only_routing_lists` -- `availability_replicas` -- `backup_devices` -- `certificates` -- `change_tracking_databases` -- `change_tracking_tables` -- `check_constraints` -- `column_encryption_key_values` -- `column_encryption_keys` -- `column_master_keys` -- `column_store_dictionaries` -- `column_store_row_groups` -- `column_store_segments` -- `column_type_usages` -- `column_xml_schema_collection_usages` -- `columns` -- `computed_columns` -- `configurations` -- `conversation_endpoints` -- `conversation_groups` -- `conversation_priorities` -- `credentials` -- `crypt_properties` -- `cryptographic_providers` -- `data_spaces` -- `database_audit_specification_details` -- `database_audit_specifications` -- `database_automatic_tuning_mode` -- `database_automatic_tuning_options` -- `database_credentials` -- `database_files` -- `database_filestream_options` -- `database_mirroring` -- `database_mirroring_endpoints` -- `database_mirroring_witnesses` -- `database_permissions` -- `database_principals` -- `database_query_store_options` -- `database_recovery_status` -- `database_role_members` -- `database_scoped_configurations` -- `database_scoped_credentials` -- `databases` -- `default_constraints` -- `destination_data_spaces` -- `dm_audit_actions` -- `dm_audit_class_type_map` -- `dm_broker_activated_tasks` -- `dm_broker_connections` -- `dm_broker_forwarded_messages` -- `dm_broker_queue_monitors` -- `dm_cache_hit_stats` -- `dm_cache_size` -- `dm_cache_stats` -- `dm_cdc_errors` -- `dm_cdc_log_scan_sessions` -- `dm_clr_appdomains` -- `dm_clr_loaded_assemblies` -- `dm_clr_properties` -- `dm_clr_tasks` -- `dm_cluster_endpoints` -- `dm_column_encryption_enclave` -- `dm_column_encryption_enclave_operation_stats` -- `dm_column_store_object_pool` -- `dm_cryptographic_provider_properties` -- `dm_database_encryption_keys` -- `dm_db_column_store_row_group_operational_stats` -- `dm_db_column_store_row_group_physical_stats` -- `dm_db_data_pool_nodes` -- `dm_db_data_pools` -- `dm_db_external_language_stats` -- `dm_db_external_script_execution_stats` -- `dm_db_file_space_usage` -- `dm_db_fts_index_physical_stats` -- `dm_db_index_usage_stats` -- `dm_db_log_space_usage` -- `dm_db_mirroring_auto_page_repair` -- `dm_db_mirroring_connections` -- `dm_db_mirroring_past_actions` -- `dm_db_missing_index_details` -- `dm_db_missing_index_group_stats` -- `dm_db_missing_index_group_stats_query` -- `dm_db_missing_index_groups` -- `dm_db_partition_stats` -- `dm_db_persisted_sku_features` -- `dm_db_rda_migration_status` -- `dm_db_rda_schema_update_status` -- `dm_db_script_level` -- `dm_db_session_space_usage` -- `dm_db_storage_pool_nodes` -- `dm_db_storage_pools` -- `dm_db_task_space_usage` -- `dm_db_tuning_recommendations` -- `dm_db_uncontained_entities` -- `dm_db_xtp_checkpoint_files` -- `dm_db_xtp_checkpoint_internals` -- `dm_db_xtp_checkpoint_stats` -- `dm_db_xtp_gc_cycle_stats` -- `dm_db_xtp_hash_index_stats` -- `dm_db_xtp_index_stats` -- `dm_db_xtp_memory_consumers` -- `dm_db_xtp_nonclustered_index_stats` -- `dm_db_xtp_object_stats` -- `dm_db_xtp_table_memory_stats` -- `dm_db_xtp_transactions` -- `dm_distributed_exchange_stats` -- `dm_exec_background_job_queue` -- `dm_exec_background_job_queue_stats` -- `dm_exec_cached_plans` -- `dm_exec_compute_node_errors` -- `dm_exec_compute_node_status` -- `dm_exec_compute_nodes` -- `dm_exec_compute_pools` -- `dm_exec_connections` -- `dm_exec_distributed_request_steps` -- `dm_exec_distributed_requests` -- `dm_exec_distributed_sql_requests` -- `dm_exec_dms_services` -- `dm_exec_dms_workers` -- `dm_exec_external_operations` -- `dm_exec_external_work` -- `dm_exec_function_stats` -- `dm_exec_procedure_stats` -- `dm_exec_query_memory_grants` -- `dm_exec_query_optimizer_info` -- `dm_exec_query_optimizer_memory_gateways` -- `dm_exec_query_parallel_workers` -- `dm_exec_query_profiles` -- `dm_exec_query_resource_semaphores` -- `dm_exec_query_stats` -- `dm_exec_query_transformation_stats` -- `dm_exec_requests` -- `dm_exec_session_wait_stats` -- `dm_exec_sessions` -- `dm_exec_trigger_stats` -- `dm_exec_valid_use_hints` -- `dm_external_authentication` -- `dm_external_script_execution_stats` -- `dm_external_script_requests` -- `dm_external_script_resource_usage_stats` -- `dm_filestream_file_io_handles` -- `dm_filestream_file_io_requests` -- `dm_filestream_non_transacted_handles` -- `dm_fts_active_catalogs` -- `dm_fts_fdhosts` -- `dm_fts_index_population` -- `dm_fts_memory_buffers` -- `dm_fts_memory_pools` -- `dm_fts_outstanding_batches` -- `dm_fts_population_ranges` -- `dm_fts_semantic_similarity_population` -- `dm_hadr_ag_threads` -- `dm_hadr_auto_page_repair` -- `dm_hadr_automatic_seeding` -- `dm_hadr_availability_group_states` -- `dm_hadr_availability_replica_cluster_nodes` -- `dm_hadr_availability_replica_cluster_states` -- `dm_hadr_availability_replica_states` -- `dm_hadr_cluster` -- `dm_hadr_cluster_members` -- `dm_hadr_cluster_networks` -- `dm_hadr_database_replica_cluster_states` -- `dm_hadr_database_replica_states` -- `dm_hadr_db_threads` -- `dm_hadr_instance_node_map` -- `dm_hadr_name_id_map` -- `dm_hadr_physical_seeding_stats` -- `dm_hpc_device_stats` -- `dm_hpc_thread_proxy_stats` -- `dm_io_backup_tapes` -- `dm_io_cluster_shared_drives` -- `dm_io_cluster_valid_path_names` -- `dm_io_pending_io_requests` -- `dm_logpool_hashentries` -- `dm_logpool_stats` -- `dm_os_buffer_descriptors` -- `dm_os_buffer_pool_extension_configuration` -- `dm_os_child_instances` -- `dm_os_cluster_nodes` -- `dm_os_cluster_properties` -- `dm_os_dispatcher_pools` -- `dm_os_dispatchers` -- `dm_os_enumerate_fixed_drives` -- `dm_os_host_info` -- `dm_os_hosts` -- `dm_os_job_object` -- `dm_os_latch_stats` -- `dm_os_loaded_modules` -- `dm_os_memory_allocations` -- `dm_os_memory_broker_clerks` -- `dm_os_memory_brokers` -- `dm_os_memory_cache_clock_hands` -- `dm_os_memory_cache_counters` -- `dm_os_memory_cache_entries` -- `dm_os_memory_cache_hash_tables` -- `dm_os_memory_clerks` -- `dm_os_memory_node_access_stats` -- `dm_os_memory_nodes` -- `dm_os_memory_objects` -- `dm_os_memory_pools` -- `dm_os_nodes` -- `dm_os_performance_counters` -- `dm_os_process_memory` -- `dm_os_ring_buffers` -- `dm_os_schedulers` -- `dm_os_server_diagnostics_log_configurations` -- `dm_os_spinlock_stats` -- `dm_os_stacks` -- `dm_os_sublatches` -- `dm_os_sys_info` -- `dm_os_sys_memory` -- `dm_os_tasks` -- `dm_os_threads` -- `dm_os_virtual_address_dump` -- `dm_os_wait_stats` -- `dm_os_waiting_tasks` -- `dm_os_windows_info` -- `dm_os_worker_local_storage` -- `dm_os_workers` -- `dm_pal_cpu_stats` -- `dm_pal_disk_stats` -- `dm_pal_net_stats` -- `dm_pal_processes` -- `dm_pal_spinlock_stats` -- `dm_pal_vm_stats` -- `dm_pal_wait_stats` -- `dm_qn_subscriptions` -- `dm_repl_articles` -- `dm_repl_schemas` -- `dm_repl_tranhash` -- `dm_repl_traninfo` -- `dm_resource_governor_configuration` -- `dm_resource_governor_external_resource_pool_affinity` -- `dm_resource_governor_external_resource_pools` -- `dm_resource_governor_resource_pool_affinity` -- `dm_resource_governor_resource_pool_volumes` -- `dm_resource_governor_resource_pools` -- `dm_resource_governor_workload_groups` -- `dm_server_audit_status` -- `dm_server_memory_dumps` -- `dm_server_registry` -- `dm_server_services` -- `dm_tcp_listener_states` -- `dm_tran_aborted_transactions` -- `dm_tran_active_snapshot_database_transactions` -- `dm_tran_active_transactions` -- `dm_tran_commit_table` -- `dm_tran_current_snapshot` -- `dm_tran_current_transaction` -- `dm_tran_database_transactions` -- `dm_tran_global_recovery_transactions` -- `dm_tran_global_transactions` -- `dm_tran_global_transactions_enlistments` -- `dm_tran_global_transactions_log` -- `dm_tran_locks` -- `dm_tran_persistent_version_store` -- `dm_tran_persistent_version_store_stats` -- `dm_tran_session_transactions` -- `dm_tran_top_version_generators` -- `dm_tran_transactions_snapshot` -- `dm_tran_version_store` -- `dm_tran_version_store_space_usage` -- `dm_xe_map_values` -- `dm_xe_object_columns` -- `dm_xe_objects` -- `dm_xe_packages` -- `dm_xe_session_event_actions` -- `dm_xe_session_events` -- `dm_xe_session_object_columns` -- `dm_xe_session_targets` -- `dm_xe_sessions` -- `dm_xtp_gc_queue_stats` -- `dm_xtp_gc_stats` -- `dm_xtp_system_memory_consumers` -- `dm_xtp_threads` -- `dm_xtp_transaction_recent_rows` -- `dm_xtp_transaction_stats` -- `edge_constraint_clauses` -- `edge_constraints` -- `endpoint_webmethods` -- `endpoints` -- `event_notification_event_types` -- `event_notifications` -- `events` -- `extended_procedures` -- `extended_properties` -- `external_data_sources` -- `external_file_formats` -- `external_language_files` -- `external_languages` -- `external_libraries` -- `external_libraries_installed` -- `external_library_files` -- `external_library_setup_errors` -- `external_table_columns` -- `external_tables` -- `filegroups` -- `filetable_system_defined_objects` -- `filetables` -- `foreign_key_columns` -- `foreign_keys` -- `fulltext_catalogs` -- `fulltext_document_types` -- `fulltext_index_catalog_usages` -- `fulltext_index_columns` -- `fulltext_index_fragments` -- `fulltext_indexes` -- `fulltext_languages` -- `fulltext_semantic_language_statistics_database` -- `fulltext_semantic_languages` -- `fulltext_stoplists` -- `fulltext_stopwords` -- `fulltext_system_stopwords` -- `function_order_columns` -- `hash_indexes` -- `http_endpoints` -- `identity_columns` -- `index_columns` -- `index_resumable_operations` -- `indexes` -- `internal_partitions` -- `internal_tables` -- `key_constraints` -- `key_encryptions` -- `linked_logins` -- `login_token` -- `masked_columns` -- `master_files` -- `master_key_passwords` -- `memory_optimized_tables_internal_attributes` -- `message_type_xml_schema_collection_usages` -- `messages` -- `module_assembly_usages` -- `numbered_procedure_parameters` -- `numbered_procedures` -- `objects` -- `openkeys` -- `parameter_type_usages` -- `parameter_xml_schema_collection_usages` -- `parameters` -- `partition_functions` -- `partition_parameters` -- `partition_range_values` -- `partition_schemes` -- `partitions` -- `periods` -- `plan_guides` -- `procedures` -- `query_context_settings` -- `query_store_plan` -- `query_store_query` -- `query_store_query_text` -- `query_store_runtime_stats` -- `query_store_runtime_stats_interval` -- `query_store_wait_stats` -- `registered_search_properties` -- `registered_search_property_lists` -- `remote_data_archive_databases` -- `remote_data_archive_tables` -- `remote_logins` -- `remote_service_bindings` -- `resource_governor_configuration` -- `resource_governor_external_resource_pool_affinity` -- `resource_governor_external_resource_pools` -- `resource_governor_resource_pool_affinity` -- `resource_governor_resource_pools` -- `resource_governor_workload_groups` -- `routes` -- `schemas` -- `securable_classes` -- `security_policies` -- `security_predicates` -- `selective_xml_index_namespaces` -- `selective_xml_index_paths` -- `sensitivity_classifications` -- `sequences` -- `server_assembly_modules` -- `server_audit_specification_details` -- `server_audit_specifications` -- `server_audits` -- `server_event_notifications` -- `server_event_session_actions` -- `server_event_session_events` -- `server_event_session_fields` -- `server_event_session_targets` -- `server_event_sessions` -- `server_events` -- `server_file_audits` -- `server_memory_optimized_hybrid_buffer_pool_configuration` -- `server_permissions` -- `server_principal_credentials` -- `server_principals` -- `server_role_members` -- `server_sql_modules` -- `server_trigger_events` -- `server_triggers` -- `servers` -- `service_broker_endpoints` -- `service_contract_message_usages` -- `service_contract_usages` -- `service_contracts` -- `service_message_types` -- `service_queue_usages` -- `service_queues` -- `services` -- `soap_endpoints` -- `spatial_index_tessellations` -- `spatial_indexes` -- `spatial_reference_systems` -- `sql_dependencies` -- `sql_expression_dependencies` -- `sql_logins` -- `sql_modules` -- `stats` -- `stats_columns` -- `symmetric_keys` -- `synonyms` -- `table_types` -- `tables` -- `tcp_endpoints` -- `time_zone_info` -- `trace_categories` -- `trace_columns` -- `trace_event_bindings` -- `trace_events` -- `trace_subclass_values` -- `traces` -- `transmission_queue` -- `trigger_event_types` -- `trigger_events` -- `triggers` -- `trusted_assemblies` -- `type_assembly_usages` -- `types` -- `user_token` -- `via_endpoints` -- `views` -- `xml_indexes` -- `xml_schema_attributes` -- `xml_schema_collections` -- `xml_schema_component_placements` -- `xml_schema_components` -- `xml_schema_elements` -- `xml_schema_facets` -- `xml_schema_model_groups` -- `xml_schema_namespaces` -- `xml_schema_types` -- `xml_schema_wildcard_namespaces` -- `xml_schema_wildcards` -- `syspolicy_configuration` -- `syspolicy_system_health_state` diff --git a/_limitations/error_code_limitations.md b/_limitations/error_code_limitations.md deleted file mode 100644 index 8ea2d0e3..00000000 --- a/_limitations/error_code_limitations.md +++ /dev/null @@ -1,148 +0,0 @@ ---- -layout: default -title: Error Code Mappings -nav_order: 12 ---- - - -## Supported Stored Procedures - -This page lists the error codes implemented for Babelfish. You can use `@@ERROR` to return a SQL Server error code or the `@@PGERROR` function to return a [PostgreSQL error code](https://www.postgresql.org/docs/current/errcodes-appendix.html). You can also use the `fn_mapped_system_error_list()` function to return a list of mapped error codes. - -The following error codes are supported for versions 2.1.0 and higher: - -- `213` - -The following error codes are supported for versions 1.2.0 and higher: - -- `201` -- `206` -- `2733` -- `8144` -- `8145` -- `8146` - -The following error codes are supported for versions 1.0.0 and higher: - -- `0` -- `102` -- `132` -- `133` -- `134` -- `135` -- `136` -- `141` -- `142` -- `153` -- `155` -- `180` -- `217` -- `219` -- `220` -- `232` -- `266` -- `289` -- `293` -- `306` -- `346` -- `352` -- `477` -- `487` -- `506` -- `512` -- `515` -- `517` -- `545` -- `547` -- `550` -- `556` -- `574` -- `628` -- `1034` -- `1049` -- `1051` -- `1205` -- `1505` -- `1715` -- `1752` -- `1765` -- `1768` -- `1776` -- `1778` -- `1801` -- `1946` -- `2627` -- `2714` -- `2732` -- `2747` -- `2787` -- `3609` -- `3616` -- `3623` -- `3701` -- `3723` -- `3726` -- `3728` -- `3729` -- `3732` -- `3902` -- `3903` -- `3914` -- `3930` -- `4514` -- `4708` -- `4712` -- `4901` -- `4920` -- `6401` -- `8003` -- `8004` -- `8007` -- `8009` -- `8011` -- `8016` -- `8018` -- `8023` -- `8028` -- `8029` -- `8031` -- `8032` -- `8037` -- `8043` -- `8047` -- `8050` -- `8057` -- `8058` -- `8106` -- `8107` -- `8115` -- `8134` -- `8143` -- `8152` -- `8159` -- `8179` -- `9441` -- `9451` -- `9809` -- `10610` -- `10727` -- `10733` -- `10793` -- `11555` -- `11700` -- `11701` -- `11702` -- `11703` -- `11705` -- `11706` -- `11708` -- `11709` -- `11717` -- `16901` -- `16902` -- `16903` -- `16915` -- `16916` -- `16948` -- `16950` -- `18456` diff --git a/_limitations/extension_limitations.md b/_limitations/extension_limitations.md deleted file mode 100644 index df15aebd..00000000 --- a/_limitations/extension_limitations.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: default -title: PostgreSQL Extensions -nav_order: 30 ---- - -## Tested PostgreSQL Extensions - -Remember that when using a PostgreSQL extension, you will need to modify the configuration file of the PostgreSQL instance (by default, located under the PostgreSQL `data` directory) and use the `CREATE EXTENSION` command on the PostgreSQL listener port to create the extension. Consult the documentation for each extension for detailed information. - -The following extensions have been successfully tested with Babelfish: - -- [`fuzzystrmatch` extension](https://www.postgresql.org/docs/current/fuzzystrmatch.html) - -## Extensions that are not recommended - -The following extensions have not demonstrated stability when used with Babelfish: - -- [`tds_fdw` extension](https://github.com/tds-fdw/tds_fdw) -- [`postgres_fdw` extension](https://www.postgresql.org/docs/current/postgres-fdw.html) -- [`file_fdw` extension](https://www.postgresql.org/docs/current/file-fdw.html) \ No newline at end of file diff --git a/_limitations/function_limitations.md b/_limitations/function_limitations.md deleted file mode 100644 index 2665bb30..00000000 --- a/_limitations/function_limitations.md +++ /dev/null @@ -1,163 +0,0 @@ ---- -layout: default -title: System Functions -nav_order: 20 ---- - -## Supported System Functions - -The following System Functions are supported for versions 1.0.0 and higher: - -- `fn_helpcollations` -- `fn_listextendedproperty` - -## Unsupported System Functions - -Babelfish provides limited support for System Functions; the following functions are unsupported: - -- `fn_enumcurrentprincipals` -- `fn_getcurrentprincipal` -- `fn_getrowsetidfromrowdump` -- `fn_isbitsetinbitmask` -- `fn_msdayasnumber` -- `fn_msgeneration_downloadonly` -- `fn_msget_dynamic_filter_login` -- `fn_msorbitmaps` -- `fn_msrepl_getsrvidfromdistdb` -- `fn_msrepl_map_resolver_clsid` -- `fn_mstestbit` -- `fn_msvector_downloadonly` -- `fn_msxe_read_event_stream` -- `fn_mapschematype` -- `fn_pagerescracker` -- `fn_physloccracker` -- `fn_physlocformatter` -- `fn_rowdumpcracker` -- `fn_builtin_permissions` -- `fn_ccolventries_80` -- `fn_cdc_check_parameters` -- `fn_cdc_decrement_lsn` -- `fn_cdc_get_column_ordinal` -- `fn_cdc_get_max_lsn` -- `fn_cdc_get_min_lsn` -- `fn_cdc_has_column_changed` -- `fn_cdc_hexstrtobin` -- `fn_cdc_increment_lsn` -- `fn_cdc_is_bit_set` -- `fn_cdc_map_lsn_to_time` -- `fn_cdc_map_time_to_lsn` -- `fn_check_object_signatures` -- `fn_column_store_row_groups` -- `fn_db_backup_file_snapshots` -- `fn_dblog` -- `fn_dblog_xtp` -- `fn_dbslog` -- `fn_dump_dblog` -- `fn_dump_dblog_xtp` -- `fn_fiscoltracked` -- `fn_full_dblog` -- `fn_get_audit_file` -- `fn_get_sql` -- `fn_getproviderstring` -- `fn_hadr_backup_is_preferred_replica` -- `fn_hadr_distributed_ag_database_replica` -- `fn_hadr_distributed_ag_replica` -- `fn_hadr_is_primary_replica` -- `fn_hadr_is_same_replica` -- `fn_helpcollations` -- `fn_helpdatatypemap` -- `fn_isrolemember` -- `fn_listextendedproperty` -- `fn_my_permissions` -- `fn_numberof1inbinaryafterloc` -- `fn_numberof1invarbinary` -- `fn_repl_hash_binary` -- `fn_repladjustcolumnmap` -- `fn_repldecryptver4` -- `fn_replformatdatetime` -- `fn_replgetcolidfrombitmap` -- `fn_replgetparsedddlcmd` -- `fn_replp2pversiontotranid` -- `fn_replreplacesinglequote` -- `fn_replreplacesinglequoteplusprotectstring` -- `fn_repluniquename` -- `fn_replvarbintoint` -- `fn_servershareddrives` -- `fn_sqlagent_job_history` -- `fn_sqlagent_jobs` -- `fn_sqlagent_jobsteps` -- `fn_sqlagent_jobsteps_logs` -- `fn_sqlagent_subsystems` -- `fn_sqlvarbasetostr` -- `fn_stmt_sql_handle_from_sql_stmt` -- `fn_trace_geteventinfo` -- `fn_trace_getfilterinfo` -- `fn_trace_getinfo` -- `fn_trace_gettable` -- `fn_translate_permissions` -- `fn_validate_plan_guide` -- `fn_varbintohexstr` -- `fn_varbintohexsubstring` -- `fn_virtualfilestats` -- `fn_virtualservernodes` -- `fn_xe_file_target_read_file` -- `fn_yukonsecuritymodelrequired` -- `dm_cryptographic_provider_algorithms` -- `dm_cryptographic_provider_keys` -- `dm_cryptographic_provider_sessions` -- `dm_db_database_page_allocations` -- `dm_db_incremental_stats_properties` -- `dm_db_index_operational_stats` -- `dm_db_index_physical_stats` -- `dm_db_log_info` -- `dm_db_log_stats` -- `dm_db_missing_index_columns` -- `dm_db_objects_disabled_on_compatibility_level_change` -- `dm_db_page_info` -- `dm_db_stats_histogram` -- `dm_db_stats_properties`- `dm_db_stats_properties_internal` -- `dm_enumerate_blobdirectory` -- `dm_exec_cached_plan_dependent_objects` -- `dm_exec_cursors` -- `dm_exec_describe_first_result_set` -- `dm_exec_describe_first_result_set_for_object` -- `dm_exec_input_buffer` -- `dm_exec_plan_attributes` -- `dm_exec_query_plan` -- `dm_exec_query_plan_stats` -- `dm_exec_query_statistics_xml` -- `dm_exec_sql_text` -- `dm_exec_text_query_plan` -- `dm_exec_xml_handles` -- `dm_fts_index_keywords` -- `dm_fts_index_keywords_by_document` -- `dm_fts_index_keywords_by_property` -- `dm_fts_index_keywords_position_by_document` -- `dm_fts_parser` -- `dm_io_virtual_file_stats` -- `dm_logconsumer_cachebufferrefs` -- `dm_logconsumer_privatecachebuffers` -- `dm_logpool_consumers` -- `dm_logpool_sharedcachebuffers` -- `dm_logpoolmgr_freepools` -- `dm_logpoolmgr_respoolsize` -- `dm_logpoolmgr_stats` -- `dm_os_enumerate_filesystem` -- `dm_os_file_exists` -- `dm_os_volume_stats` -- `dm_sql_referenced_entities` -- `dm_sql_referencing_entities` -- `geographycollectionaggregate` -- `geographyconvexhullaggregate` -- `geographyenvelopeaggregate` -- `geographyunionaggregate` -- `geometrycollectionaggregate` -- `geometryconvexhullaggregate` -- `geometryenvelopeaggregate` -- `geometryunionaggregate` -- `ormask` -- `fn_syspolicy_is_automation_enabled` - - - - diff --git a/_limitations/limitations-of-babelfish.md b/_limitations/limitations-of-babelfish.md deleted file mode 100644 index a1f16cd4..00000000 --- a/_limitations/limitations-of-babelfish.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: default -title: Overview - Differences between Babelfish and SQL Server -nav_order: 1 ---- - -## Differences between Babelfish and SQL Server - -In this section you can find information about functional differences between PostgreSQL with Babelfish -and SQL Server. The information is organized into tables outlining SQL command support (based on the Compass configuration file) and updated by version of Babelfish you are using, and individual pages for non-SQL functionalities. - -To efficiently identify the commands and feature options that are not supported by your target version of Babelfish, we recommend you start by running the [Compass utility](https://github.com/babelfish-for-postgresql/babelfish_compass). After applying any updates to your application, test your application; if you encounter errors, consult the following pages for more information. - -To review a list of SQL Commands that are not supported for your version, choose from the following reports: - -- [Version 2.2.0](/docs/limitations/usf_2.2.0) -- [Version 2.1.0](/docs/limitations/usf_2.1.0) -- [Version 1.3.0](/docs/limitations/usf_1.3.0) -- [Version 1.2.0](/docs/limitations/usf_1.2.0) -- [Version 1.1.0](/docs/limitations/usf_1.1.0) -- [Version 1.0.0](/docs/limitations/usf_1.0.0) - -To review a list of supported and unsupported non-SQL features, visit the page for the feature type: - -- [Built-in functions](/docs/limitations/bif_limitations) -- [Error Code Mappings](/docs/limitations/error_code_limitations) -- [SET Statements](/docs/limitations/set_limitations) -- [Stored Procedures](/docs/limitations/stored_procedure_limitations) -- [System Catalog Views](/docs/limitations/catalog_limitations) -- [System Functions](/docs/limitations/function_limitations) -- [PostgreSQL Extensions](/docs/limitations/extension_limitations) - -Please note that this may not be a complete list of the functional differences -between SQL Server and Babelfish. If you find syntax variations that should be -included in the documentation, please [file an issue to let us know about it](https://github.com/babelfish-for-postgresql/babelfish_project_website/issues). - diff --git a/_limitations/set_limitations.md b/_limitations/set_limitations.md deleted file mode 100644 index 31ae2eb6..00000000 --- a/_limitations/set_limitations.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -layout: default -title: SET Statements -nav_order: 14 ---- - -## Unsupported SET statements - -The following SET statements are not implemented by Babelfish: - -- `SET ANSI_NULL_DFLT_OFF ON` -- `SET ANSI_NULL_DFLT_ON OFF` -- `SET ANSI_PADDING OFF` -- `SET ANSI_WARNINGS OFF` -- `SET ARITHABORT OFF` -- `SET ARITHIGNORE ON` -- `SET CONTEXT_INFO` -- `SET CURSOR_CLOSE_ON_COMMIT ON` -- `SET DATEFORMAT` -- `SET DEADLOCK_PRIORITY` -- `SET FORCEPLAN` -- `SET NO BROWSETABLE` -- `SET NUMERIC_ROUNDABORT ON` -- `SET REMOTE_PROC_TRANSACTIONS` -- `SET ROWCOUNT n WHERE n != 0` -- `SET ROWCOUNT @variable` -- `SET SHOWPLAN_ALL` -- `SET SHOWPLAN_TEXT` -- `SET SHOWPLAN_XML` -- `SET STATISTICS` -- `SET STATISTICS IO` -- `SET STATISTICS PROFILE` -- `SET STATISTICS TIME` -- `SET TRANSACTION ISOLATION LEVEL REPEATABLE READ` -- `SET TRANSACTION ISOLATION LEVEL SERIALIZABLE` -- `SET OFFSETS` -- `SETUSER` - -The following SET statement limitations apply: - -- `SET LANGUAGE` - This syntax is not supported with any value other than `english` or `us_english`. - -The following SET statements are available for use with Babelfish versions 1.2.0 and higher: - -- `SET FMTONLY` - `SET FMTONLY ON/OFF` applies only to `SELECT *` queries, and is ignored for all other queries. -- `SET LOCK_TIMEOUT` - diff --git a/_limitations/stored_procedure_limitations.md b/_limitations/stored_procedure_limitations.md deleted file mode 100644 index 4bbd694a..00000000 --- a/_limitations/stored_procedure_limitations.md +++ /dev/null @@ -1,460 +0,0 @@ ---- -layout: default -title: Stored Procedures -nav_order: 16 ---- - - -## Supported Stored Procedures - -The following lists detail the functionality implemented for each version of Babelfish (and subsequent releases). - -The following System-provided Stored Procedures are supported for versions 2.1.0 and higher: - -- `sp_sproc_columns` -- `sp_sproc_columns_100` -- `sp_helprole` -- `sp_helprolemember` - -The following System-provided Stored Procedures are supported for versions 1.2.0 and higher: - -- `sp_table_privileges` -- `sp_column_privileges` -- `sp_special_columns` -- `sp_fkeys` -- `sp_stored_procedures` -- `xp_qv` -- `sp_describe_undeclared_parameters` -- `sp_helpuser` - -The following System-provided Stored Procedures are supported for versions 1.1.0 and higher: - -- `sp_statistics` -- `sp_statistics_100` -- `sp_updatestats` -- `sp_pkeys` -- `sp_databases` -- `sp_cursor` -- `sp_cursoropen` -- `sp_cursorprepare` -- `sp_cursorexecute` -- `sp_cursorprepexec` -- `sp_cursorunprepare` -- `sp_cursorfetch` -- `sp_cursoroption` -- `sp_cursorclose` - -The following System-provided Stored Procedures are supported for versions 1.0.0 and higher: - -- `sp_helpdb` -- `sp_getapplock` -- `sp_releaseapplock` -- `sp_columns` -- `sp_columns_100` -- `sp_columns_managed` -- `sp_cursor_list` -- `sp_datatype_info` -- `sp_datatype_info_100` -- `sp_describe_CURSOR` -- `sp_DESCRIBE_FIRST_RESULT_SET` -- `sp_DESCRIBE_UNDECLARED_PARAMETERS` -- `sp_executesql` -- `sp_oledb_ro_usrname` -- `sp_prepare` -- `sp_tablecollations_100` -- `sp_tables` -- `sp_unprepare` -- `sp_statistics` -- `sp_statistics_100` -- `sp_updatestats` -- `sp_databases` -- `sp_cursor` -- `sp_cursoropen` -- `sp_cursorprepare` -- `sp_cursorexecute` -- `sp_cursorprepexec` -- `sp_cursorunprepare` -- `sp_cursorfetch` -- `sp_cursoroption` -- `sp_cursorclose` -| - -## Unsupported Stored Procedures - -Babelfish provides limited support for SQL Server stored procedures. In the following list of unsupported stored procedures, `%` represents any combination of characters: - -- `sp_add%` -- `sp_adjustpublisheridentityrange` -- `sp_agent_%` -- `sp_alter_nt_job_mem_configs` -- `sp_altermessage` -- `sp_apply_job_to_targets` -- `sp_approlepassword` -- `sp_article%` -- `sp_assembl%` -- `sp_attach%` -- `sp_audit_write` -- `sp_autoadmin_%` -- `sp_autoindex%` -- `sp_autostats` -- `sp_availability_group_command_internal` -- `sp_backup_%` -- `sp_bcp_dbcmptlevel` -- `sp_begin_parallel_nested_tran` -- `sp_bindefault` -- `sp_bindrule` -- `sp_bindsession` -- `sp_browsemergesnapshotfolder` -- `sp_browsereplcmds` -- `sp_browsesnapshotfolder` -- `sp_build_histogram` -- `sp_can_tlog_be_applied` -- `sp_catalogs%` -- `sp_cdc_%` -- `sp_certify_removable` -- `sp_change%` -- `sp_check%` -- `sp_clean%` -- `sp_clear_dbmaintplan_by_db` -- `sp_cloud_update_blob_tier` -- `sp_column%` -- `sp_commit_parallel_nested_tran` -- `sp_configure%` -- `sp_constr_col%` -- `sp_control_dbmasterkey_password` -- `sp_control_plan_guide` -- `sp_convert_jobid_to_char` -- `sp_copymergesnapshot` -- `sp_copysnapshot` -- `sp_copysubscription` -- `sp_create_file_statistics` -- `sp_create_job` -- `sp_create_log_shipping_monitor_account` -- `sp_create_plan_guide%` -- `sp_create_removable` -- `sp_createmergepalrole` -- `sp_createorphan` -- `sp_createstats` -- `sp_createtranpalrole` -- `sp_cursor%` -- `sp_cycle_agent_errorlog` -- `sp_cycle_errorlog` -- `sp_databases` -- `sp_datatype_info%` -- `sp_db_ebcdic277_2` -- `sp_db_increased_partitions` -- `sp_db_selective_xml_index` -- `sp_db_vardecimal_storage_format` -- `sp_dbcmptlevel` -- `sp_dbfixedrolepermission` -- `sp_dbmmonitor%` -- `sp_dbremove` -- `sp_ddopen` -- `sp_defaultdb` -- `sp_defaultlanguage` -- `sp_delete%` -- `sp_denylogin` -- `sp_depends` -- `sp_describe_%` -- `sp_detach_db` -- `sp_detach_schedule` -- `sp_diagnostic_showplan_log_dbid` -- `sp_disableagentoffload` -- `sp_distcounters` -- `sp_do_backup` -- `sp_downloaded_row_limiter` -- `sp_drop%` -- `sp_dsninfo` -- `sp_enable_heterogeneous_subscription` -- `sp_enable_sql_debug` -- `sp_enableagentoffload` -- `sp_enclave_send_keys` -- `sp_enlist_tsx` -- `sp_enum%` -- `sp_enum_login_for_proxy` -- `sp_enum_proxy_for_subsystem` -- `sp_enum_sqlagent_subsystems` -- `sp_enum_sqlagent_subsystems_internal` -- `sp_estimate_data_compression_savings` -- `sp_estimated_rowsize_reduction_for_vardecimal` -- `sp_execute` -- `sp_execute_external_script` -- `sp_execute_remote` -- `sp_expired_subscription_cleanup` -- `sp_externalmailqueuelistener` -- `sp_fido_%` -- `sp_filestream%` -- `sp_firstonly_bitmap` -- `sp_fkeys` -- `sp_flush%` -- `sp_force_slog_truncation` -- `sp_foreign%` -- `sp_fulltext_%` -- `sp_generate_agent_parameter` -- `sp_generate_server_description` -- `sp_generate_target_server_job_assignment_sql` -- `sp_generatefilters` -- `sp_get_backup_diagnostics` -- `sp_get_chunked_jobstep_params` -- `sp_get_composite_job_info` -- `sp_get_database_scoped_credential` -- `sp_get_distributor` -- `sp_get_encryption_option` -- `sp_get_file_statistics_hash` -- `sp_get_job_alerts` -- `sp_get_job_status_mergesubscription_agent` -- `sp_get_jobstep_db_username` -- `sp_get_log_shipping_monitor_info` -- `sp_get_mergepublishedarticleproperties` -- `sp_get_message_description` -- `sp_get_oracle_publisher_metadata` -- `sp_get_proxy_properties` -- `sp_get_query_template` -- `sp_get_redirected_publisher` -- `sp_get_schedule_description` -- `sp_get_sqlagent_properties` -- `sp_get_striping_option` -- `sp_get_traceflag_status_internal` -- `sp_getagentparameterlist` -- `sp_getapplock` -- `sp_getattachmentdata` -- `sp_getbindtoken` -- `sp_getdefaultdatatypemapping` -- `sp_getmergedeletetype` -- `sp_getprocessorusage` -- `sp_getpublisherlink` -- `sp_getqueuedarticlesynctraninfo` -- `sp_getqueuedrows` -- `sp_getschemalock` -- `sp_getsqlqueueversion` -- `sp_getsubscription_status_hsnapshot` -- `sp_getsubscriptiondtspackagename` -- `sp_gettopologyinfo` -- `sp_getvolumefreespace` -- `sp_grant_login_to_proxy` -- `sp_grant_proxy_to_subsystem` -- `sp_grant_publication_access` -- `sp_grantdbaccess` -- `sp_grantlogin` -- `sp_help%` -- `sp_http_%` -- `sp_identitycolumnforreplication` -- `sp_ih%` -- `sp_index%` -- `sp_internal_alter_nt_job_limits` -- `sp_invalidate_textptr` -- `sp_is_makegeneration_needed` -- `sp_is_sqlagent_starting` -- `sp_isprohibited` -- `sp_ivindexhasnullcols` -- `sp_jobhistory_row_limiter` -- `sp_kill_filestream_non_transacted_handles` -- `sp_kill_oldest_transaction_on_secondary` -- `sp_lightweightmergemetadataretentioncleanup` -- `sp_link_publication` -- `sp_linkedservers%` -- `sp_lock` -- `sp_log_shipping_%` -- `sp_logshippinginstallmetadata` -- `sp_lookupcustomresolver` -- `sp_mailitemresultsets` -- `sp_maintplan_%` -- `sp_manage_jobs_by_login` -- `sp_mapdown_bitmap` -- `sp_markpendingschemachange` -- `sp_marksubscriptionvalidation` -- `sp_memory_optimized_cs_migration` -- `sp_merge%` -- `sp_migrate_user_to_contained` -- `sp_monitor` -- `sp_ms%` -- `sp_multi_server_job_summary` -- `sp_new_parallel_nested_tran_id` -- `sp_notify_operator` -- `sp_oa%` -- `sp_objectfilegroup` -- `sp_oledb%` -- `sp_orbitmap` -- `sp_password` -- `sp_peerconflictdetection_tableaug` -- `sp_polybase_%` -- `sp_post_msx_operation` -- `sp_postagentinfo` -- `sp_posttracertoken` -- `sp_prepare` -- `sp_prepexec` -- `sp_prepexecrpc` -- `sp_primary%` -- `sp_procedure%` -- `sp_process_DialogTimer` -- `sp_processlogshipping%` -- `sp_processresponse` -- `sp_procoption` -- `sp_prop_oledb_provider` -- `sp_provider_types%` -- `sp_publication%` -- `sp_publish%` -- `sp_purge_jobhistory` -- `sp_query_store_%` -- `sp_rbpex_exec_cmd` -- `sp_rda_%` -- `sp_read_settings` -- `sp_readerrorlog` -- `sp_readrequest` -- `sp_reassign_proxy` -- `sp_recompile` -- `sp_redirect_publisher` -- `sp_refresh%` -- `sp_register%` -- `sp_reinit%` -- `sp_releaseapplock` -- `sp_releaseschemalock` -- `sp_remote_data_archive_event` -- `sp_remoteoption` -- `sp_remove%` -- `sp_rename` -- `sp_renamedb` -- `sp_repl%` -- `sp_requestpeer%` -- `sp_reserve_http_namespace` -- `sp_reset_connection` -- `sp_reset_session_context` -- `sp_resetsnapshotdeliveryprogress` -- `sp_resetstatus` -- `sp_resign_database` -- `sp_resolve_logins` -- `sp_restoredbreplication` -- `sp_restoremergeidentityrange` -- `sp_resync%` -- `sp_revoke%` -- `sp_rollback_parallel_nested_tran` -- `sp_runmailquery` -- `sp_schemafilter` -- `sp_schemata_rowset` -- `sp_script%` -- `sp_sem_add_message` -- `sp_sem_drop_message` -- `sp_send_dbmail` -- `sp_sendmailmessage` -- `sp_sendmailqueues` -- `sp_sequence_get_range` -- `sp_server_diagnostics` -- `sp_server_info` -- `sp_serveroption` -- `sp_set_db_backup` -- `sp_set_distributed_query_context` -- `sp_set_instance_backup` -- `sp_set_local_time` -- `sp_set_parameter` -- `sp_set_session_context` -- `sp_set_session_resource_group` -- `sp_set_sqlagent_properties` -- `sp_setapprole` -- `sp_setautosapasswordanddisable` -- `sp_setdefaultdatatypemapping` -- `sp_setnetname` -- `sp_setobdcertificate` -- `sp_setoraclepackageversion` -- `sp_setreplfailovermode` -- `sp_setsubscriptionxactseqno` -- `sp_settriggerorder` -- `sp_setuserbylogin` -- `sp_show_file_statistics` -- `sp_showcolv` -- `sp_showinitialmemo_xml` -- `sp_showlineage` -- `sp_showmemo_xml` -- `sp_showpendingchanges` -- `sp_showrowreplicainfo` -- `sp_sm_detach` -- `sp_spaceused%` -- `sp_sparse_columns%` -- `sp_special_columns%` -- `sp_sproc_columns%` -- `sp_sqlagent%` -- `sp_sqlexec` -- `sp_srvrolepermission` -- `sp_ssis_%` -- `sp_start%` -- `sp_statistics%` -- `sp_stop%` -- `sp_stored_procedures` -- `sp_subscribe` -- `sp_subscription%` -- `sp_syscollector_%` -- `sp_sysdac_%` -- `sp_sysmail_activate` -- `sp_sysmanagement_%` -- `sp_syspolicy%` -- `sp_syspolicy_%` -- `sp_sysutility_%` -- `sp_table%` -- `sp_target_server_summary` -- `sp_testlinkedserver` -- `sp_trace_%` -- `sp_try_set_session_context` -- `sp_unbindefault` -- `sp_unbindrule` -- `sp_uniquetaskname` -- `sp_unprepare` -- `sp_unregister%` -- `sp_unsetapprole` -- `sp_unsubscribe` -- `sp_update_agent_profile` -- `sp_update_alert` -- `sp_update_category` -- `sp_update_job` -- `sp_update_jobschedule` -- `sp_update_jobstep` -- `sp_update_log_shipping_monitor_info` -- `sp_update_notification` -- `sp_update_operator` -- `sp_update_proxy` -- `sp_update_replication_job_parameter` -- `sp_update_schedule` -- `sp_update_targetservergroup` -- `sp_update_user_instance` -- `sp_updateextendedproperty` -- `sp_updatestats` -- `sp_upgrade_log_shipping` -- `sp_user_counter%` -- `sp_usertypes%` -- `sp_validate%` -- `sp_validate_user` -- `sp_verify_alert` -- `sp_verify_category` -- `sp_verify_category_identifiers` -- `sp_verify_credential_identifiers` -- `sp_verify_job` -- `sp_verify_job_date` -- `sp_verify_job_identifiers` -- `sp_verify_job_time` -- `sp_verify_jobproc_caller` -- `sp_verify_jobstep` -- `sp_verify_login_identifiers` -- `sp_verify_notification` -- `sp_verify_operator` -- `sp_verify_operator_identifiers` -- `sp_verify_performance_condition` -- `sp_verify_proxy` -- `sp_verify_proxy_identifiers` -- `sp_verify_proxy_permissions` -- `sp_verify_schedule` -- `sp_verify_schedule_identifiers` -- `sp_verify_subsystem` -- `sp_verify_subsystem_identifiers` -- `sp_verify_subsystems` -- `sp_verifypublisher` -- `sp_views%` -- `sp_vupgrade%` -- `sp_who` -- `sp_who2` -- `sp_write_sysjobstep_log` -- `sp_xa_%` -- `sp_xml_preparedocument` -- `sp_xml_removedocument` -- `sp_xml_schema_rowset%` -- `sp_xp_cmdshell_proxy_account` -- `sp_xtp_%` -- `sp_sqljdbc_%` -- `xp_%` diff --git a/_limitations/usf_1.0.0.md b/_limitations/usf_1.0.0.md deleted file mode 100644 index 239f3e02..00000000 --- a/_limitations/usf_1.0.0.md +++ /dev/null @@ -1,208 +0,0 @@ ---- -layout: default -title: Version 1.0.0 -nav_order: 1 ---- - -## Babelfish Version 1.0.0 - -| Feature | Options | Notes | -| ------- | ------- | ------- | -| ::function call (old syntax) | Unsupported | | -| @@variable | Unsupported : `@@CONNECTIONS`, `@@CPU_BUSY`, `@@CURSOR_ROWS`, `@@DBTS`, `@@IDLE`, `@@IO_BUSY`, `@@LANGID`, `@@LANGUAGE`, `@@LOCK_TIMEOUT`, `@@MAX_CONNECTIONS`, `@@MICROSOFTVERSION`, `@@NESTLEVEL`, `@@PACKET_ERRORS`, `@@PACK_RECEIVED`, `@@PACK_SENT`, `@@PROCID`, `@@REMSERVER`, `@@SERVICENAME`, `@@TEXTSIZE`, `@@TIMETICKS`, `@@TOTAL_ERRORS`, `@@TOTAL_READ`, `@@TOTAL_WRITE` | | -| ADD SIGNATURE | Unsupported | | -| ALTER AUTHORIZATION | Unsupported | | -| ALTER DATABASE | Unsupported | | -| ALTER DATABASE options | Unsupported | | -| ALTER FUNCTION | Unsupported | | -| ALTER INDEX | Unsupported |[Index rebuilding workaround](https://babelfishpg.org/docs/workaround/rebuilding_table_indexes/) | -| ALTER PROCEDURE | Unsupported | | -| ALTER ROLE | Unsupported | | -| ALTER SCHEMA | Unsupported | | -| ALTER SERVER CONFIGURATION | Unsupported | | -| ALTER SERVER ROLE | Unsupported : `BULKADMIN`, `DBCREATOR`, `DISKADMIN`, `PROCESSADMIN`, `SECURITYADMIN`, `SERVERADMIN`, `SETUPADMIN` | | -| ALTER TABLE | Unsupported : `ADD MULTIPLE COLUMNS/CONSTRAINTS`, `ADD PERIOD FOR SYSTEM TIME`, `ALTER COLUMN NOT NULL`, `ALTER COLUMN NULL`, `CHECK CONSTRAINT`, `DISABLE CHANGE_TRACKING`, `DROP CONSTRAINT_BY_NAME_ONLY`, `DROP MULTIPLE COLUMNS`, `DROP MULTIPLE CONSTRAINTS`, `DROP MULTIPLE ITEMS`, `DROP PERIOD FOR SYSTEM_TIME`, `ENABLE CHANGE_TRACKING`, `NOCHECK CONSTRAINT`, `REBUILD`, `SET FILESTREAM_ON`, `SET FILETABLE`, `SET LOCK_ESCALATION`, `SET SYSTEM_VERSIONING` | | -| ALTER TRIGGER | Unsupported | | -| ALTER VIEW | Unsupported | | -| Aggregate functions | Unsupported : `APPROX_COUNT_DISTINCT`, `CHECKSUM_AGG`, `GROUPING_ID`, `ROWCOUNT_BIG`, `STDEV`, `STDEVP`, `VAR`, `VARP` | | -| BULK INSERT | Unsupported | | -| CHECKPOINT | Unsupported | | -| CHECKSUM | Supported : `arg1=SINGLE ARGUMENT` | | -| CLOSE KEY | Unsupported | | -| CLUSTERED index | Unsupported | | -| COLLATE | Unsupported |[COLLATE DATABASE_DEFAULT workaround](https://babelfishpg.org/docs/workaround/collate_database_default/) | -| COLUMNPROPERTY | Unsupported | | -| CONNECTIONPROPERTY | Supported : `arg1=net_transport`, `protocol_type`, `auth_scheme`, `local_tcp_port` | | -| CREATE DATABASE options | Unsupported : `ALLOW_SNAPSHOT_ISOLATION`, `ANSI_NULLS`, `ANSI_NULL_DEFAULT`, `ANSI_PADDING`, `ANSI_WARNINGS`, `ARITHABORT`, `AUTO_CLOSE`, `AUTO_SHRINK`, `AUTO_UPDATE_STATISTICS`, `AUTO_UPDATE_STATISTICS_ASYNC`, `CATALOG_COLLATION`, `COMPATIBILITY_LEVEL`, `CONCAT_NULL_YIELDS_NULL`, `CONTAINMENT=PARTIAL`, `CURSOR_CLOSE_ON_COMMIT`, `CURSOR_DEFAULT`, `DATE_CORRELATION_OPTIMIZATION`, `DB_CHAINING`, `DELAYED_DURABILITY`, `DISABLE_BROKER`, `FILESTREAM`, `HONOR_BROKER_PRIORITY`, `MULTI_USER`, `NUMERIC_ROUNDABORT`, `PAGE_VERIFY`, `PARAMETERIZATION`, `QUERY_STORE`, `QUOTED_IDENTIFIER`, `READ_COMMITTED_SNAPSHOT`, `RECOVERY`, `RECURSIVE_TRIGGERS`, `TARGET_RECOVERY_TIME`, `TRUSTWORTHY` | | -| CREATE ROLE | Unsupported | | -| CREATE SERVER ROLE | Unsupported | | -| CURSOR parameters | Unsupported | | -| Case-sensitive collation | Unsupported : `CATALOG_COLLATION`, `DATABASE`, `SERVER` | | -| Column attribute | Unsupported | | -| Compound operator containing whitespace | Unsupported | | -| Cross-database reference | Unsupported | | -| Cursor options | Unsupported : `DYNAMIC`, `FAST_FORWARD`, `FOR UPDATE`, `KEYSET`, `OPTIMISTIC`, `SCROLL`, `SCROLL_LOCKS`, `TYPE_WARNING` |[Dynamically defined cursor workaround](https://babelfishpg.org/docs/workaround/dynamically_defined_cursor/) | -| DATABASEPROPERTYEX | Supported : `arg2=Collation`, `Edition`, `IsAutoClose`, `IsAutoCreateStatistics`, `IsInStandBy`, `IsTornPageDetectionEnabled`, `Status`, `Updateability`, `Version` | | -| DATEADD | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MINUTE`, `MM`, `MONTH`, `N`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY` | | -| DATEDIFF | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY` | | -| DATENAME | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY` | | -| DATEPART | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY` | | -| DB role options | Unsupported | | -| DB roles | Unsupported | | -| DBA statements | Unsupported | | -| DBCC statements | Unsupported | | -| DELETE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `WHERE CURRENT OF` | | -| DENY | Unsupported | | -| DESC constraint | Unsupported | | -| DISABLE TRIGGER | Unsupported | | -| DML Table Source | Unsupported | | -| DROP IF EXISTS | Unsupported : `ROLE`, `SCHEMA`, `USER` | | -| DROP INDEX | Unsupported : `INDEX ON SCHEMA.TABLE`, `SCHEMA.TABLE.INDEX`, `TABLE.INDEX` | | -| DROP multiple objects | Unsupported : `DATABASE`, `INDEX`, `TRIGGER` | | -| Datatypes | Unsupported : `CHARACTER VARYING`, `GEOGRAPHY`, `GEOMETRY`, `HIERARCHYID`, `NATIONAL CHARACTER`, `NATIONAL CHARACTER VARYING`, `NCHARACTER`, `NCHARACTER VARYING`, `ROWVERSION`, `TIMESTAMP`, `XML COLUMN_SET FOR ALL_SPARSE_COLUMNS`, `XML(xmlschema)` | | -| Double-quoted string | Unsupported : `EMBEDDED_DOUBLE_QUOTE`, `EMBEDDED_SINGLE_QUOTE` | | -| Dynamic SQL | Unsupported | | -| ENABLE TRIGGER | Unsupported | | -| EXECUTE AS | Unsupported | | -| EXECUTE SQL function | Unsupported | | -| Execute procedure options | Unsupported : `RECOMPILE` | | -| Execute string options | Unsupported | | -| FETCH cursor | Unsupported : `ABSOLUTE`, `FIRST`, `LAST`, `PRIOR`, `RELATIVE` | | -| FOR REPLICATION | Unsupported | | -| Features in computed columns | Unsupported | | -| Function options | Unsupported : `ATOMIC NATIVELY COMPILED`, `CLR`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `INLINE`, `SCHEMABINDING` | | -| GLOBAL cursor | Unsupported | | -| GRANT | Unsupported | | -| GROUP BY ALL | Unsupported | | -| GROUP BY ROLLUP/CUBE (old syntax) | Unsupported | | -| Geospatial features | Unsupported | | -| Global Temporary Tables | Unsupported | | -| HASHBYTES | Supported : `arg1=MD5`, `SHA1`, `SHA2_256`, `SHA2_512` | | -| HIERARCHYID features | Unsupported | | -| IGNORE_DUP_KEY index | Unsupported | | -| INDEXKEY_PROPERTY | Supported : `arg4=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| INDEXPROPERTY | Unsupported | | -| INFORMATION_SCHEMA | Unsupported | | -| INSERT | Unsupported : `DEFAULT VALUES`, `EXECUTE SP_EXECUTESQL`, `EXECUTE(EXPRESSION)`, `EXECUTE(STRING)`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `TOP` | | -| INSERT BULK | Unsupported | | -| Index attribute | Unsupported | | -| Index options | Unsupported | | -| Indexed view | Unsupported | | -| Inline index | Unsupported | | -| Instead-Of Trigger | Unsupported | | -| JSON features | Unsupported | | -| Join hint | Unsupported | | -| LIKE '[...]' | Unsupported | | -| LOGINPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Lateral join | Unsupported | | -| Leading dots in identifier | Unsupported | | -| Line continuation character | Unsupported | | -| Login options | Unsupported : `ADD CREDENTIAL`, `CHECK_EXPIRATION`, `CHECK_POLICY`, `CREDENTIAL`, `DROP CREDENTIAL`, `FROM ASYMMETRIC KEY`, `FROM CERTIFICATE`, `FROM WINDOWS`, `MUST_CHANGE`, `NAME`, `NO CREDENTIAL`, `OLD_PASSWORD`, `PASSWORD HASHED`, `SID`, `UNLOCK` | | -| MERGE | Unsupported | | -| Materialized view | Unsupported | | -| Maximum columns per index | Supported : `32` | | -| Maximum identifier length | Supported : `63` | | -| Maximum parameters per function | Supported : `100` | | -| Maximum parameters per procedure | Supported : `100` | | -| Maximum precision IDENTITY column | Supported : `18` | | -| Miscellaneous objects | Unsupported : `AGGREGATE`, `APPLICATION ROLE`, `ASSEMBLY`, `ASYMMETRIC KEY`, `AVAILABILITY GROUP`, `CERTIFICATE`, `COLUMN ENCRYPTION KEY`, `COLUMN MASTER KEY`, `CONTRACT`, `CREDENTIAL`, `CRYPTOGRAPHIC PROVIDER`, `DEFAULT`, `DIAGNOSTIC SESSION`, `EXTERNAL DATA SOURCE`, `EXTERNAL LIBRARY`, `EXTERNAL RESOURCE POOL`, `FULLTEXT CATALOG`, `FULLTEXT INDEX`, `FULLTEXT STOPLIST`, `MASTER KEY`, `MESSAGE TYPE`, `QUEUE`, `QUEUE`, `REMOTE SERVICE BINDING`, `RESOURCE GOVERNOR`, `ROLE`, `ROUTE`, `RULE`, `SERVER AUDIT`, `SERVER AUDIT SPECIFICATION`, `SERVER ROLE`, `SERVICE`, `SERVICE MASTER KEY`, `SYMMETRIC KEY`, `SYNONYM`, `USER`, `WORKLOAD CLASSIFIER`, `WORKLOAD GROUP` | | -| NEXT VALUE FOR | Unsupported | | -| NONCLUSTERED HASH index | Unsupported | | -| NOT FOR REPLICATION | Unsupported | | -| NUMERIC/DECIMAL column with non-numeric default | Unsupported | | -| Non-PERSISTED computed columns | Unsupported | | -| Nullable column | Unsupported | | -| Numeric assignment to datetime variable/parameter/column | Unsupported | | -| Numeric representation of datetime | Unsupported | | -| OBJECTPROPERTY | Unsupported | | -| OBJECTPROPERTYEX | Unsupported | | -| ODBC Outer Join | Unsupported | | -| ODBC literal | Unsupported | | -| ODBC scalar function | Unsupported | | -| OPEN KEY | Unsupported | | -| Parameter value DEFAULT | Unsupported |[DEFAULT parameter value workaround](https://babelfishpg.org/docs/workaround/default_param_values/) | -| Partitioning | Unsupported |[Partitioning Workaround](https://babelfishpg.org/docs/workaround/partitioned_table/) - Babelfish code supports PostgreSQL-style partitioning on the PostgreSQL port, but use of PostgreSQL-styled partitioned tables from the TDS port is not recommended. | -| Procedure options | Unsupported : `ATOMIC NATIVELY COMPILED`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `RECOMPILE`, `SCHEMABINDING` | | -| Procedure versioning (declaration) | Unsupported | | -| Procedure versioning (execution) | Unsupported | | -| Query hint | Unsupported | | -| READTEXT | Unsupported | | -| REVOKE | Unsupported | | -| Regular variable named @@v | Unsupported | | -| Remote object reference | Unsupported | | -| SCHEMA options | Unsupported | | -| SCHEMA_ID with N arguments | Supported : `1` | | -| SCHEMA_NAME with N arguments | Supported : `1` | | -| SECURITY DEFINER transaction mgmt | Unsupported | | -| SELECT TOP PERCENT | Unsupported : `0`, `EXPRESSION`, `NONZERO`, `VARIABLE` | | -| SELECT TOP WITH TIES | Unsupported | | -| SELECT TOP in Table-Valued Function | Unsupported | | -| SELECT TOP without ORDER BY | Unsupported | | -| SELECT..PIVOT | Unsupported | | -| SELECT..UNPIVOT | Unsupported | | -| SEQUENCE options | Unsupported | | -| SERVERPROPERTY | Supported : `arg1=Collation`, `CollationID`, `Edition`, `IsSingleUser`, `ServerName`, `Babelfish` | | -| SET ANSI_NULL_DFLT_OFF | Supported : `OFF` | | -| SET ANSI_NULL_DFLT_ON | Supported : `ON` | | -| SET ANSI_PADDING | Supported : `ON` | | -| SET ANSI_WARNINGS | Supported : `ON` | | -| SET ARITHABORT | Supported : `ON` | | -| SET ARITHIGNORE | Supported : `OFF` | | -| SET CONTEXT_INFO | Unsupported | | -| SET CURSOR_CLOSE_ON_COMMIT | Supported : `OFF` | | -| SET DATEFORMAT | Unsupported | | -| SET DEADLOCK_PRIORITY | Unsupported | | -| SET FMTONLY | Unsupported | | -| SET LANGUAGE | Supported : `english`, `us_english` | | -| SET LOCK_TIMEOUT | Unsupported | | -| SET NOEXEC | Supported : `OFF` | | -| SET NO_BROWSETABLE | Unsupported | | -| SET NUMERIC_ROUNDABORT | Supported : `OFF` | | -| SET OFFSETS | Unsupported | | -| SET PARSEONLY | Unsupported | | -| SET QUERY_GOVERNOR_COST_LIMIT | Unsupported | | -| SET QUOTED_IDENTIFIER in batch | Unsupported | | -| SET ROWCOUNT | Unsupported : `NONZERO`, `VARIABLE` |[SET ROWCOUNT workaround](https://babelfishpg.org/docs/workaround/set_rowcount/) | -| SET SHOWPLAN_ALL | Unsupported | | -| SET SHOWPLAN_TEXT | Unsupported | | -| SET SHOWPLAN_XML | Unsupported | | -| SET STATISTICS | Unsupported | | -| SET TEXTSIZE | Unsupported | | -| SET TRANSACTION ISOLATION LEVEL | Supported : `READ COMMITTED`, `READ UNCOMMITTED`, `SNAPSHOT` | | -| SETUSER | Unsupported | | -| SQL graph | Unsupported | | -| SQL_VARIANT_PROPERTY | Supported : `arg2=*` | | -| STRING_AGG() WITHIN GROUP | Unsupported | | -| Scalar UDF in table DDL | Unsupported : `ALTER TABLE DEFAULT` | | -| Server role options | Unsupported : `AUTHORIZATION`, `NAME` | | -| Service Broker | Unsupported | | -| Special characters in identifier | Unsupported | | -| Special characters in parameter | Unsupported | | -| Special column names | Unsupported | | -| Syntax Issues | Unsupported | | -| T-SQL Outer Join operator | Unsupported | | -| TIMESTAMP column without column name | Unsupported | | -| TRIGGER_NESTLEVEL with N arguments | Unsupported | | -| TYPEPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Table hint | Unsupported | | -| Table value constructor | Unsupported | | -| Temporal table | Unsupported | | -| Temporary procedures | Unsupported | | -| Traceflags | Unsupported | | -| Transactions | Unsupported : `BEGIN DISTRIBUTED TRANSACTION`, `DELAYED_DURABILITY`, `MARK` | | -| Transition table reference for multi-DML trigger | Unsupported | | -| Trigger created with schema name | Unsupported | | -| Trigger options | Unsupported : `APPEND`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `NATIVE_COMPILATION`, `SCHEMABINDING` | | -| UPDATE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `WHERE CURRENT OF` | | -| UPDATE STATISTICS | Unsupported | | -| UPDATETEXT | Unsupported | | -| Unquoted string | Unsupported | | -| User options | Unsupported | | -| Variable aggregates across rows | Unsupported | | -| Variable assignment dependency | Unsupported | | -| Variable procedure name | Unsupported | | -| View options | Unsupported : `CHECK OPTION`, `ENCRYPTION`, `VIEW_METADATA`, `WITHOUT SCHEMABINDING` | | -| WAITFOR | Unsupported | | -| WRITETEXT | Unsupported | | -| XML features | Unsupported : `EXIST`, `MODIFY`, `NODES`, `QUERY`, `SELECT FOR XML AUTO`, `SELECT FOR XML AUTO ELEMENTS`, `SELECT FOR XML EXPLICIT`, `SELECT FOR XML PATH ELEMENTS`, `SELECT FOR XML RAW ELEMENTS`, `SELECTIVE XML INDEX`, `VALUE`, `WITH XMLNAMESPACES`, `XML INDEX`, `XML SCHEMA COLLECTION`, `XML TYPE DEFINITION` | | -| expression AT TIME ZONE | Unsupported | | diff --git a/_limitations/usf_1.1.0.md b/_limitations/usf_1.1.0.md deleted file mode 100644 index 1d6bab38..00000000 --- a/_limitations/usf_1.1.0.md +++ /dev/null @@ -1,204 +0,0 @@ ---- -layout: default -title: Version 1.1.0 -nav_order: 1 ---- - -## Babelfish Version 1.1.0 - -| Feature | Options | Notes | -| ------- | ------- | ------- | -| ::function call (old syntax) | Unsupported | | -| @@variable | Unsupported : `@@CONNECTIONS`, `@@CPU_BUSY`, `@@DBTS`, `@@IDLE`, `@@IO_BUSY`, `@@LANGID`, `@@LANGUAGE`, `@@LOCK_TIMEOUT`, `@@PACKET_ERRORS`, `@@PACK_RECEIVED`, `@@PACK_SENT`, `@@REMSERVER`, `@@SERVICENAME`, `@@TEXTSIZE`, `@@TIMETICKS`, `@@TOTAL_ERRORS`, `@@TOTAL_READ`, `@@TOTAL_WRITE` | | -| ADD SIGNATURE | Unsupported | | -| ALTER AUTHORIZATION | Unsupported | | -| ALTER DATABASE | Unsupported | | -| ALTER DATABASE options | Unsupported | | -| ALTER FUNCTION | Unsupported | | -| ALTER INDEX | Unsupported |[Index rebuilding workaround](https://babelfishpg.org/docs/workaround/rebuilding_table_indexes/) | -| ALTER PROCEDURE | Unsupported | | -| ALTER ROLE | Unsupported | | -| ALTER SCHEMA | Unsupported | | -| ALTER SERVER CONFIGURATION | Unsupported | | -| ALTER SERVER ROLE | Unsupported : `BULKADMIN`, `DBCREATOR`, `DISKADMIN`, `PROCESSADMIN`, `SECURITYADMIN`, `SERVERADMIN`, `SETUPADMIN` | | -| ALTER TABLE | Unsupported : `ADD MULTIPLE COLUMNS/CONSTRAINTS`, `ADD PERIOD FOR SYSTEM TIME`, `ALTER COLUMN NOT NULL`, `ALTER COLUMN NULL`, `CHECK CONSTRAINT`, `DISABLE CHANGE_TRACKING`, `DROP CONSTRAINT_BY_NAME_ONLY`, `DROP MULTIPLE COLUMNS`, `DROP MULTIPLE CONSTRAINTS`, `DROP MULTIPLE ITEMS`, `DROP PERIOD FOR SYSTEM_TIME`, `ENABLE CHANGE_TRACKING`, `NOCHECK CONSTRAINT`, `REBUILD`, `SET FILESTREAM_ON`, `SET FILETABLE`, `SET LOCK_ESCALATION`, `SET SYSTEM_VERSIONING` | | -| ALTER TRIGGER | Unsupported | | -| ALTER VIEW | Unsupported | | -| Aggregate functions | Unsupported : `APPROX_COUNT_DISTINCT`, `CHECKSUM_AGG`, `GROUPING_ID`, `ROWCOUNT_BIG`, `STDEV`, `STDEVP`, `VAR`, `VARP` | | -| BULK INSERT | Unsupported | | -| CHECKPOINT | Unsupported | | -| CHECKSUM | Supported : `arg1=SINGLE ARGUMENT` | | -| CLOSE KEY | Unsupported | | -| CLUSTERED index | Unsupported | | -| COLLATE | Unsupported |[COLLATE DATABASE_DEFAULT workaround](https://babelfishpg.org/docs/workaround/collate_database_default/) | -| COLUMNPROPERTY | Supported : `arg3=CharMaxLen`, `AllowsNull` | | -| CONNECTIONPROPERTY | Supported : `arg1=net_transport`, `protocol_type`, `auth_scheme`, `local_tcp_port` | | -| CREATE DATABASE options | Unsupported : `ALLOW_SNAPSHOT_ISOLATION`, `ANSI_NULLS`, `ANSI_NULL_DEFAULT`, `ANSI_PADDING`, `ANSI_WARNINGS`, `ARITHABORT`, `AUTO_CLOSE`, `AUTO_SHRINK`, `AUTO_UPDATE_STATISTICS`, `AUTO_UPDATE_STATISTICS_ASYNC`, `CATALOG_COLLATION`, `COMPATIBILITY_LEVEL`, `CONCAT_NULL_YIELDS_NULL`, `CONTAINMENT=PARTIAL`, `CURSOR_CLOSE_ON_COMMIT`, `CURSOR_DEFAULT`, `DATE_CORRELATION_OPTIMIZATION`, `DB_CHAINING`, `DELAYED_DURABILITY`, `DISABLE_BROKER`, `FILESTREAM`, `HONOR_BROKER_PRIORITY`, `MULTI_USER`, `NUMERIC_ROUNDABORT`, `PAGE_VERIFY`, `PARAMETERIZATION`, `QUERY_STORE`, `QUOTED_IDENTIFIER`, `READ_COMMITTED_SNAPSHOT`, `RECOVERY`, `RECURSIVE_TRIGGERS`, `TARGET_RECOVERY_TIME`, `TRUSTWORTHY` | | -| CREATE ROLE | Unsupported | | -| CREATE SERVER ROLE | Unsupported | | -| CURSOR parameters | Unsupported | | -| Case-sensitive collation | Unsupported : `CATALOG_COLLATION`, `DATABASE`, `SERVER` | | -| Column attribute | Unsupported | | -| Compound operator containing whitespace | Unsupported | | -| Cross-database reference | Unsupported | | -| Cursor options | Unsupported : `DYNAMIC`, `FAST_FORWARD`, `FOR UPDATE`, `KEYSET`, `OPTIMISTIC`, `SCROLL`, `SCROLL_LOCKS`, `TYPE_WARNING` |[Dynamically defined cursor workaround](https://babelfishpg.org/docs/workaround/dynamically_defined_cursor/) | -| DATABASEPROPERTYEX | Supported : `arg2=Collation`, `Edition`, `IsAutoClose`, `IsAutoCreateStatistics`, `IsInStandBy`, `IsTornPageDetectionEnabled`, `Status`, `Updateability`, `Version` | | -| DATEADD | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MINUTE`, `MM`, `MONTH`, `N`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY` | | -| DATEDIFF | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY` | | -| DATENAME | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY` | | -| DATEPART | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY` | | -| DB role options | Unsupported | | -| DB roles | Unsupported | | -| DBA statements | Unsupported | | -| DBCC statements | Unsupported | | -| DELETE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `WHERE CURRENT OF` | | -| DENY | Unsupported | | -| DESC constraint | Unsupported | | -| DISABLE TRIGGER | Unsupported | | -| DML Table Source | Unsupported | | -| DROP IF EXISTS | Unsupported : `ROLE`, `SCHEMA`, `USER` | | -| DROP INDEX | Unsupported : `INDEX ON SCHEMA.TABLE`, `SCHEMA.TABLE.INDEX`, `TABLE.INDEX` | | -| DROP multiple objects | Unsupported : `DATABASE`, `INDEX`, `TRIGGER` | | -| Datatypes | Unsupported : `CHARACTER VARYING`, `GEOGRAPHY`, `GEOMETRY`, `HIERARCHYID`, `NATIONAL CHARACTER`, `NATIONAL CHARACTER VARYING`, `NCHARACTER`, `NCHARACTER VARYING`, `ROWVERSION`, `TIMESTAMP`, `XML COLUMN_SET FOR ALL_SPARSE_COLUMNS`, `XML(xmlschema)` | | -| Double-quoted string | Unsupported : `EMBEDDED_DOUBLE_QUOTE`, `EMBEDDED_SINGLE_QUOTE` | | -| Dynamic SQL | Unsupported | | -| ENABLE TRIGGER | Unsupported | | -| EXECUTE AS | Unsupported | | -| EXECUTE SQL function | Unsupported | | -| Execute procedure options | Unsupported : `RECOMPILE` | | -| Execute string options | Unsupported | | -| FETCH cursor | Unsupported : `ABSOLUTE`, `FIRST`, `LAST`, `PRIOR`, `RELATIVE` | | -| FOR REPLICATION | Unsupported | | -| Features in computed columns | Unsupported | | -| Function options | Unsupported : `ATOMIC NATIVELY COMPILED`, `CLR`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `INLINE`, `SCHEMABINDING` | | -| GLOBAL cursor | Unsupported | | -| GRANT | Unsupported | | -| GROUP BY ALL | Unsupported | | -| GROUP BY ROLLUP/CUBE (old syntax) | Unsupported | | -| Geospatial features | Unsupported | | -| Global Temporary Tables | Unsupported | | -| HASHBYTES | Supported : `arg1=MD5`, `SHA1`, `SHA2_256`, `SHA2_512` | | -| HIERARCHYID features | Unsupported | | -| IGNORE_DUP_KEY index | Unsupported | | -| INDEXKEY_PROPERTY | Supported : `arg4=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| INDEXPROPERTY | Unsupported | | -| INFORMATION_SCHEMA | Unsupported | | -| INSERT | Unsupported : `DEFAULT VALUES`, `EXECUTE SP_EXECUTESQL`, `EXECUTE(EXPRESSION)`, `EXECUTE(STRING)`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `TOP` | | -| INSERT BULK | Unsupported | | -| Index attribute | Unsupported | | -| Index options | Unsupported | | -| Indexed view | Unsupported | | -| Inline index | Unsupported | | -| Instead-Of Trigger | Unsupported | | -| JSON features | Unsupported | | -| Join hint | Unsupported | | -| LIKE '[...]' | Unsupported | | -| LOGINPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Lateral join | Unsupported | | -| Line continuation character | Unsupported | | -| Login options | Unsupported : `ADD CREDENTIAL`, `CHECK_EXPIRATION`, `CHECK_POLICY`, `CREDENTIAL`, `DROP CREDENTIAL`, `FROM ASYMMETRIC KEY`, `FROM CERTIFICATE`, `FROM WINDOWS`, `MUST_CHANGE`, `NAME`, `NO CREDENTIAL`, `OLD_PASSWORD`, `PASSWORD HASHED`, `SID`, `UNLOCK` | | -| MERGE | Unsupported | | -| Materialized view | Unsupported | | -| Maximum columns per index | Supported : `32` | | -| Maximum identifier length | Supported : `63` | | -| Maximum parameters per function | Supported : `100` | | -| Maximum parameters per procedure | Supported : `100` | | -| Maximum precision IDENTITY column | Supported : `18` | | -| Miscellaneous objects | Unsupported : `AGGREGATE`, `APPLICATION ROLE`, `ASSEMBLY`, `ASYMMETRIC KEY`, `AVAILABILITY GROUP`, `CERTIFICATE`, `COLUMN ENCRYPTION KEY`, `COLUMN MASTER KEY`, `CONTRACT`, `CREDENTIAL`, `CRYPTOGRAPHIC PROVIDER`, `DEFAULT`, `DIAGNOSTIC SESSION`, `EXTERNAL DATA SOURCE`, `EXTERNAL LIBRARY`, `EXTERNAL RESOURCE POOL`, `FULLTEXT CATALOG`, `FULLTEXT INDEX`, `FULLTEXT STOPLIST`, `MASTER KEY`, `MESSAGE TYPE`, `QUEUE`, `QUEUE`, `REMOTE SERVICE BINDING`, `RESOURCE GOVERNOR`, `ROLE`, `ROUTE`, `RULE`, `SERVER AUDIT`, `SERVER AUDIT SPECIFICATION`, `SERVER ROLE`, `SERVICE`, `SERVICE MASTER KEY`, `SYMMETRIC KEY`, `SYNONYM`, `USER`, `WORKLOAD CLASSIFIER`, `WORKLOAD GROUP` | | -| NEXT VALUE FOR | Unsupported | | -| NONCLUSTERED HASH index | Unsupported | | -| NOT FOR REPLICATION | Unsupported | | -| Non-PERSISTED computed columns | Unsupported | | -| Nullable column | Unsupported | | -| Numeric assignment to datetime variable/parameter/column | Unsupported | | -| Numeric representation of datetime | Unsupported | | -| OBJECTPROPERTY | Unsupported | | -| OBJECTPROPERTYEX | Unsupported | | -| ODBC Outer Join | Unsupported | | -| ODBC literal | Unsupported | | -| ODBC scalar function | Unsupported | | -| OPEN KEY | Unsupported | | -| Parameter value DEFAULT | Unsupported |[DEFAULT parameter value workaround](https://babelfishpg.org/docs/workaround/default_param_values/) | -| Partitioning | Unsupported |[Partitioning Workaround](https://babelfishpg.org/docs/workaround/partitioned_table/) - Babelfish code supports PostgreSQL-style partitioning on the PostgreSQL port, but use of PostgreSQL-styled partitioned tables from the TDS port is not recommended. | -| Procedure options | Unsupported : `ATOMIC NATIVELY COMPILED`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `RECOMPILE`, `SCHEMABINDING` | | -| Procedure versioning (declaration) | Unsupported | | -| Procedure versioning (execution) | Unsupported | | -| Query hint | Unsupported | | -| READTEXT | Unsupported | | -| REVOKE | Unsupported | | -| Regular variable named @@v | Unsupported | | -| Remote object reference | Unsupported | | -| SCHEMA options | Unsupported | | -| SCHEMA_ID with N arguments | Supported : `1` | | -| SCHEMA_NAME with N arguments | Supported : `1`, `0` | | -| SECURITY DEFINER transaction mgmt | Unsupported | | -| SELECT TOP PERCENT | Unsupported : `0`, `EXPRESSION`, `NONZERO`, `VARIABLE` | | -| SELECT TOP WITH TIES | Unsupported | | -| SELECT TOP in Table-Valued Function | Unsupported | | -| SELECT TOP without ORDER BY | Unsupported | | -| SELECT..PIVOT | Unsupported | | -| SELECT..UNPIVOT | Unsupported | | -| SEQUENCE options | Unsupported | | -| SERVERPROPERTY | Supported : `arg1=Collation`, `CollationID`, `Edition`, `IsSingleUser`, `ServerName`, `Babelfish` | | -| SET ANSI_NULL_DFLT_OFF | Supported : `OFF` | | -| SET ANSI_NULL_DFLT_ON | Supported : `ON` | | -| SET ANSI_PADDING | Supported : `ON` | | -| SET ANSI_WARNINGS | Supported : `ON` | | -| SET ARITHABORT | Supported : `ON` | | -| SET ARITHIGNORE | Supported : `OFF` | | -| SET CONTEXT_INFO | Unsupported | | -| SET CURSOR_CLOSE_ON_COMMIT | Supported : `OFF` | | -| SET DATEFORMAT | Unsupported | | -| SET DEADLOCK_PRIORITY | Unsupported | | -| SET FMTONLY | Unsupported | | -| SET LANGUAGE | Supported : `english`, `us_english` | | -| SET LOCK_TIMEOUT | Unsupported | | -| SET NOEXEC | Supported : `OFF` | | -| SET NO_BROWSETABLE | Unsupported | | -| SET NUMERIC_ROUNDABORT | Supported : `OFF` | | -| SET OFFSETS | Unsupported | | -| SET PARSEONLY | Unsupported | | -| SET QUERY_GOVERNOR_COST_LIMIT | Unsupported | | -| SET QUOTED_IDENTIFIER in batch | Unsupported | | -| SET ROWCOUNT | Unsupported : `NONZERO`, `VARIABLE` |[SET ROWCOUNT workaround](https://babelfishpg.org/docs/workaround/set_rowcount/) | -| SET SHOWPLAN_ALL | Unsupported | | -| SET SHOWPLAN_TEXT | Unsupported | | -| SET SHOWPLAN_XML | Unsupported | | -| SET STATISTICS | Unsupported | | -| SET TEXTSIZE | Unsupported | | -| SET TRANSACTION ISOLATION LEVEL | Supported : `READ COMMITTED`, `READ UNCOMMITTED`, `SNAPSHOT` | | -| SETUSER | Unsupported | | -| SQL graph | Unsupported | | -| SQL_VARIANT_PROPERTY | Supported : `arg2=*` | | -| STRING_AGG() WITHIN GROUP | Unsupported | | -| Scalar UDF in table DDL | Unsupported : `ALTER TABLE DEFAULT` | | -| Server role options | Unsupported : `AUTHORIZATION`, `NAME` | | -| Service Broker | Unsupported | | -| Special characters in identifier | Unsupported | | -| Special characters in parameter | Unsupported | | -| Special column names | Unsupported | | -| Syntax Issues | Unsupported | | -| T-SQL Outer Join operator | Unsupported | | -| TIMESTAMP column without column name | Unsupported | | -| TRIGGER_NESTLEVEL with N arguments | Supported : `0` | | -| TYPEPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Table hint | Unsupported | | -| Table value constructor | Unsupported | | -| Temporal table | Unsupported | | -| Temporary procedures | Unsupported | | -| Traceflags | Unsupported | | -| Transactions | Unsupported : `BEGIN DISTRIBUTED TRANSACTION`, `DELAYED_DURABILITY`, `MARK` | | -| Trigger options | Unsupported : `APPEND`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `NATIVE_COMPILATION`, `SCHEMABINDING` | | -| UPDATE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `WHERE CURRENT OF` | | -| UPDATE STATISTICS | Unsupported | | -| UPDATETEXT | Unsupported | | -| Unquoted string | Unsupported | | -| User options | Unsupported | | -| Variable aggregates across rows | Unsupported | | -| Variable assignment dependency | Unsupported | | -| Variable procedure name | Unsupported | | -| View options | Unsupported : `CHECK OPTION`, `ENCRYPTION`, `VIEW_METADATA`, `WITHOUT SCHEMABINDING` | | -| WAITFOR | Unsupported | | -| WRITETEXT | Unsupported | | -| XML features | Unsupported : `EXIST`, `MODIFY`, `NODES`, `QUERY`, `SELECT FOR XML AUTO`, `SELECT FOR XML AUTO ELEMENTS`, `SELECT FOR XML EXPLICIT`, `SELECT FOR XML PATH ELEMENTS`, `SELECT FOR XML RAW ELEMENTS`, `SELECTIVE XML INDEX`, `VALUE`, `WITH XMLNAMESPACES`, `XML INDEX`, `XML SCHEMA COLLECTION`, `XML TYPE DEFINITION` | | -| expression AT TIME ZONE | Unsupported | | diff --git a/_limitations/usf_1.2.0.md b/_limitations/usf_1.2.0.md deleted file mode 100644 index 78d571bd..00000000 --- a/_limitations/usf_1.2.0.md +++ /dev/null @@ -1,202 +0,0 @@ ---- -layout: default -title: Version 1.2.0 -nav_order: 1 ---- - -## Babelfish Version 1.2.0 - -| Feature | Options | Notes | -| ------- | ------- | ------- | -| ::function call (old syntax) | Unsupported | | -| @@variable | Unsupported : `@@CONNECTIONS`, `@@CPU_BUSY`, `@@IDLE`, `@@IO_BUSY`, `@@LANGID`, `@@LANGUAGE`, `@@PACKET_ERRORS`, `@@PACK_RECEIVED`, `@@PACK_SENT`, `@@REMSERVER`, `@@TEXTSIZE`, `@@TIMETICKS`, `@@TOTAL_ERRORS`, `@@TOTAL_READ`, `@@TOTAL_WRITE` | | -| ADD SIGNATURE | Unsupported | | -| ALTER AUTHORIZATION | Unsupported | | -| ALTER DATABASE | Unsupported | | -| ALTER DATABASE options | Unsupported | | -| ALTER FUNCTION | Unsupported | | -| ALTER INDEX | Unsupported |[Index rebuilding workaround](https://babelfishpg.org/docs/workaround/rebuilding_table_indexes/) | -| ALTER PROCEDURE | Unsupported | | -| ALTER ROLE | Unsupported | | -| ALTER SCHEMA | Unsupported | | -| ALTER SERVER CONFIGURATION | Unsupported | | -| ALTER SERVER ROLE | Unsupported : `BULKADMIN`, `DBCREATOR`, `DISKADMIN`, `PROCESSADMIN`, `SECURITYADMIN`, `SERVERADMIN`, `SETUPADMIN` | | -| ALTER TABLE | Unsupported : `ADD MULTIPLE COLUMNS/CONSTRAINTS`, `ADD PERIOD FOR SYSTEM TIME`, `ALTER COLUMN NOT NULL`, `ALTER COLUMN NULL`, `CHECK CONSTRAINT`, `DISABLE CHANGE_TRACKING`, `DROP CONSTRAINT_BY_NAME_ONLY`, `DROP MULTIPLE COLUMNS`, `DROP MULTIPLE CONSTRAINTS`, `DROP MULTIPLE ITEMS`, `DROP PERIOD FOR SYSTEM_TIME`, `ENABLE CHANGE_TRACKING`, `NOCHECK CONSTRAINT`, `REBUILD`, `SET FILESTREAM_ON`, `SET FILETABLE`, `SET LOCK_ESCALATION`, `SET SYSTEM_VERSIONING` | | -| ALTER TRIGGER | Unsupported | | -| ALTER VIEW | Unsupported | | -| Aggregate functions | Unsupported : `APPROX_COUNT_DISTINCT`, `CHECKSUM_AGG`, `GROUPING_ID`, `ROWCOUNT_BIG`, `STDEV`, `STDEVP`, `VAR`, `VARP` | | -| BULK INSERT | Unsupported | | -| CHECKPOINT | Unsupported | | -| CHECKSUM | Supported : `arg1=SINGLE ARGUMENT`, `arg1=STAR`, `MULTIPLE ARGUMENTS` | | -| CLOSE KEY | Unsupported | | -| CLUSTERED index | Unsupported | | -| COLLATE | Unsupported |[COLLATE DATABASE_DEFAULT workaround](https://babelfishpg.org/docs/workaround/collate_database_default/) | -| COLUMNPROPERTY | Supported : `arg3=CharMaxLen`, `AllowsNull` | | -| CONNECTIONPROPERTY | Supported : `arg1=net_transport`, `protocol_type`, `auth_scheme`, `local_tcp_port`, `arg1=physical_net_transport`, `client_net_address` | | -| CREATE DATABASE options | Unsupported : `ALLOW_SNAPSHOT_ISOLATION`, `ANSI_NULLS`, `ANSI_NULL_DEFAULT`, `ANSI_PADDING`, `ANSI_WARNINGS`, `ARITHABORT`, `AUTO_CLOSE`, `AUTO_SHRINK`, `AUTO_UPDATE_STATISTICS`, `AUTO_UPDATE_STATISTICS_ASYNC`, `CATALOG_COLLATION`, `COMPATIBILITY_LEVEL`, `CONCAT_NULL_YIELDS_NULL`, `CONTAINMENT=PARTIAL`, `CURSOR_CLOSE_ON_COMMIT`, `CURSOR_DEFAULT`, `DATE_CORRELATION_OPTIMIZATION`, `DB_CHAINING`, `DELAYED_DURABILITY`, `DISABLE_BROKER`, `FILESTREAM`, `HONOR_BROKER_PRIORITY`, `MULTI_USER`, `NUMERIC_ROUNDABORT`, `PAGE_VERIFY`, `PARAMETERIZATION`, `QUERY_STORE`, `QUOTED_IDENTIFIER`, `READ_COMMITTED_SNAPSHOT`, `RECOVERY`, `RECURSIVE_TRIGGERS`, `TARGET_RECOVERY_TIME`, `TRUSTWORTHY` | | -| CREATE ROLE | Unsupported | | -| CREATE SERVER ROLE | Unsupported | | -| CURSOR parameters | Unsupported | | -| Case-sensitive collation | Unsupported : `CATALOG_COLLATION`, `DATABASE`, `SERVER` | | -| Column attribute | Unsupported | | -| Compound operator containing whitespace | Unsupported | | -| Cross-database reference | Unsupported | | -| Cursor options | Unsupported : `DYNAMIC`, `FAST_FORWARD`, `FOR UPDATE`, `KEYSET`, `OPTIMISTIC`, `SCROLL`, `SCROLL_LOCKS`, `TYPE_WARNING` |[Dynamically defined cursor workaround](https://babelfishpg.org/docs/workaround/dynamically_defined_cursor/) | -| DATABASEPROPERTYEX | Supported : `arg2=Collation`, `Edition`, `IsAutoClose`, `IsAutoCreateStatistics`, `IsInStandBy`, `IsTornPageDetectionEnabled`, `Status`, `Updateability`, `Version` | | -| DATEADD | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MINUTE`, `MM`, `MONTH`, `N`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY` | | -| DATEDIFF | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY` | | -| DATENAME | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY` | | -| DATEPART | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY` | | -| DB role options | Unsupported | | -| DB roles | Unsupported | | -| DBA statements | Unsupported | | -| DBCC statements | Unsupported | | -| DELETE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `WHERE CURRENT OF` | | -| DENY | Unsupported | | -| DESC constraint | Unsupported | | -| DISABLE TRIGGER | Unsupported | | -| DML Table Source | Unsupported | | -| DROP IF EXISTS | Unsupported : `ROLE` | | -| DROP INDEX | Unsupported : `INDEX ON SCHEMA.TABLE`, `SCHEMA.TABLE.INDEX`, `TABLE.INDEX` | | -| DROP multiple objects | Unsupported : `DATABASE`, `INDEX`, `TRIGGER` | | -| Datatypes | Unsupported : `CHARACTER VARYING`, `GEOGRAPHY`, `GEOMETRY`, `HIERARCHYID`, `NATIONAL CHARACTER`, `NATIONAL CHARACTER VARYING`, `NCHARACTER`, `NCHARACTER VARYING`, `XML COLUMN_SET FOR ALL_SPARSE_COLUMNS`, `XML(xmlschema)` | | -| Double-quoted string | Unsupported : `EMBEDDED_DOUBLE_QUOTE`, `EMBEDDED_SINGLE_QUOTE` | | -| Dynamic SQL | Unsupported | | -| ENABLE TRIGGER | Unsupported | | -| EXECUTE AS | Unsupported | | -| EXECUTE SQL function | Unsupported | | -| Execute procedure options | Unsupported : `RECOMPILE` | | -| Execute string options | Unsupported | | -| FETCH cursor | Unsupported : `ABSOLUTE`, `FIRST`, `LAST`, `PRIOR`, `RELATIVE` | | -| FOR REPLICATION | Unsupported | | -| Features in computed columns | Unsupported | | -| Function options | Unsupported : `ATOMIC NATIVELY COMPILED`, `CLR`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `INLINE`, `SCHEMABINDING` | | -| GLOBAL cursor | Unsupported | | -| GRANT | Supported : `ALL PRIVILEGES ON OBJECT`, `SELECT ON OBJECT`, `INSERT ON OBJECT`, `UPDATE ON OBJECT`, `DELETE ON OBJECT`, `REFERENCES ON OBJECT`, `EXECUTE ON OBJECT` | | -| GROUP BY ALL | Unsupported | | -| GROUP BY ROLLUP/CUBE (old syntax) | Unsupported | | -| Geospatial features | Unsupported | | -| Global Temporary Tables | Unsupported | | -| HASHBYTES | Supported : `arg1=MD5`, `SHA1`, `SHA2_256`, `SHA2_512` | | -| HIERARCHYID features | Unsupported | | -| IGNORE_DUP_KEY index | Unsupported | | -| INDEXKEY_PROPERTY | Supported : `arg4=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| INDEXPROPERTY | Unsupported | | -| INFORMATION_SCHEMA | Unsupported : `CHECK_CONSTRAINTS`, `COLUMN_DOMAIN_USAGE`, `COLUMN_PRIVILEGES`, `CONSTRAINT_COLUMN_USAGE`, `CONSTRAINT_TABLE_USAGE`, `DOMAIN_CONSTRAINTS`, `KEY_COLUMN_USAGE`, `PARAMETERS`, `REFERENTIAL_CONSTRAINTS`, `ROUTINES`, `ROUTINE_COLUMNS`, `SCHEMATA`, `TABLE_PRIVILEGES`, `VIEWS`, `VIEW_COLUMN_USAGE`, `VIEW_TABLE_USAGE` | | -| INSERT | Unsupported : `DEFAULT VALUES`, `EXECUTE SP_EXECUTESQL`, `EXECUTE(EXPRESSION)`, `EXECUTE(STRING)`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `TOP` | | -| INSERT BULK | Unsupported | | -| Index attribute | Unsupported | | -| Index options | Unsupported | | -| Indexed view | Unsupported | | -| Inline index | Unsupported | | -| Instead-Of Trigger | Unsupported : `VIEW` | | -| JSON features | Unsupported | | -| Join hint | Unsupported | | -| LIKE '[...]' | Unsupported | | -| LOGINPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Lateral join | Unsupported | | -| Line continuation character | Unsupported | | -| Login options | Unsupported : `ADD CREDENTIAL`, `CHECK_EXPIRATION`, `CHECK_POLICY`, `CREDENTIAL`, `DROP CREDENTIAL`, `FROM ASYMMETRIC KEY`, `FROM CERTIFICATE`, `FROM WINDOWS`, `MUST_CHANGE`, `NAME`, `NO CREDENTIAL`, `OLD_PASSWORD`, `PASSWORD HASHED`, `SID`, `UNLOCK` | | -| MERGE | Unsupported | | -| Materialized view | Unsupported | | -| Maximum columns per index | Supported : `32` | | -| Maximum identifier length | Supported : `63` | | -| Maximum parameters per function | Supported : `100` | | -| Maximum parameters per procedure | Supported : `100` | | -| Maximum precision IDENTITY column | Supported : `18` | | -| Miscellaneous objects | Unsupported : `AGGREGATE`, `APPLICATION ROLE`, `ASSEMBLY`, `ASYMMETRIC KEY`, `AVAILABILITY GROUP`, `CERTIFICATE`, `COLUMN ENCRYPTION KEY`, `COLUMN MASTER KEY`, `CONTRACT`, `CREDENTIAL`, `CRYPTOGRAPHIC PROVIDER`, `DEFAULT`, `DIAGNOSTIC SESSION`, `EXTERNAL DATA SOURCE`, `EXTERNAL LIBRARY`, `EXTERNAL RESOURCE POOL`, `FULLTEXT CATALOG`, `FULLTEXT INDEX`, `FULLTEXT STOPLIST`, `MASTER KEY`, `MESSAGE TYPE`, `QUEUE`, `QUEUE`, `REMOTE SERVICE BINDING`, `RESOURCE GOVERNOR`, `ROLE`, `ROUTE`, `RULE`, `SERVER AUDIT`, `SERVER AUDIT SPECIFICATION`, `SERVER ROLE`, `SERVICE`, `SERVICE MASTER KEY`, `SYMMETRIC KEY`, `SYNONYM`, `WORKLOAD CLASSIFIER`, `WORKLOAD GROUP` | | -| NEXT VALUE FOR | Unsupported | | -| NONCLUSTERED HASH index | Unsupported | | -| NOT FOR REPLICATION | Unsupported | | -| Non-PERSISTED computed columns | Unsupported | | -| Nullable column | Unsupported | | -| Numeric assignment to datetime variable/parameter/column | Unsupported | | -| Numeric representation of datetime | Unsupported | | -| OBJECTPROPERTY | Unsupported | | -| OBJECTPROPERTYEX | Unsupported | | -| ODBC Outer Join | Unsupported | | -| ODBC literal | Unsupported | | -| ODBC scalar function | Unsupported | | -| OPEN KEY | Unsupported | | -| Parameter value DEFAULT | Unsupported |[DEFAULT parameter value workaround](https://babelfishpg.org/docs/workaround/default_param_values/) | -| Partitioning | Unsupported |[Partitioning Workaround](https://babelfishpg.org/docs/workaround/partitioned_table/) - Babelfish code supports PostgreSQL-style partitioning on the PostgreSQL port, but use of PostgreSQL-styled partitioned tables from the TDS port is not recommended. | -| Procedure options | Unsupported : `ATOMIC NATIVELY COMPILED`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `RECOMPILE`, `SCHEMABINDING` | | -| Procedure versioning (declaration) | Unsupported | | -| Procedure versioning (execution) | Unsupported | | -| Query hint | Unsupported | | -| READTEXT | Unsupported | | -| REVOKE | Supported : `ALL PRIVILEGES ON OBJECT`, `SELECT ON OBJECT`, `INSERT ON OBJECT`, `UPDATE ON OBJECT`, `DELETE ON OBJECT`, `REFERENCES ON OBJECT`, `EXECUTE ON OBJECT`, `CASCADE` | | -| Regular variable named @@v | Unsupported | | -| Remote object reference | Unsupported | | -| SCHEMA options | Unsupported : `CREATE TABLE`, `CREATE VIEW`, `DENY`, `GRANT`, `REVOKE`, `TRANSFER`, `TRANSFER OBJECT`, `TRANSFER TYPE`, `TRANSFER XML SCHEMA COLLECTION` | | -| SCHEMA_ID with N arguments | Supported : `1`, `0` | | -| SCHEMA_NAME with N arguments | Supported : `1`, `0` | | -| SECURITY DEFINER transaction mgmt | Unsupported | | -| SELECT TOP PERCENT | Unsupported : `0`, `EXPRESSION`, `NONZERO`, `VARIABLE` | | -| SELECT TOP WITH TIES | Unsupported | | -| SELECT TOP in Table-Valued Function | Unsupported | | -| SELECT TOP without ORDER BY | Unsupported | | -| SELECT..PIVOT | Unsupported | | -| SELECT..UNPIVOT | Unsupported | | -| SEQUENCE options | Unsupported | | -| SERVERPROPERTY | Supported : `arg1=Collation`, `CollationID`, `Edition`, `IsSingleUser`, `ServerName`, `Babelfish`, `arg1=EditionID`, `EngineEdition`, `LicenseType`, `ProductVersion`, `ProductMajorVersion`, `ProductMinorVersion`, `IsIntegratedSecurityOnly`, `IsLocalDB`, `IsAdvancedAnalyticsInstalled`, `IsBigDataCluster`, `IsPolyBaseInstalled`, `IsFullTextInstalled`, `IsXTPSupported` | | -| SET ANSI_NULL_DFLT_OFF | Supported : `OFF` | | -| SET ANSI_NULL_DFLT_ON | Supported : `ON` | | -| SET ANSI_PADDING | Supported : `ON` | | -| SET ANSI_WARNINGS | Supported : `ON` | | -| SET ARITHABORT | Supported : `ON` | | -| SET ARITHIGNORE | Supported : `OFF` | | -| SET CONTEXT_INFO | Unsupported | | -| SET CURSOR_CLOSE_ON_COMMIT | Supported : `OFF` | | -| SET DATEFORMAT | Unsupported | | -| SET DEADLOCK_PRIORITY | Unsupported | | -| SET FMTONLY | Unsupported | | -| SET LANGUAGE | Supported : `english`, `us_english` | | -| SET NOEXEC | Supported : `OFF` | | -| SET NO_BROWSETABLE | Unsupported | | -| SET NUMERIC_ROUNDABORT | Supported : `OFF` | | -| SET OFFSETS | Unsupported | | -| SET PARSEONLY | Unsupported | | -| SET QUERY_GOVERNOR_COST_LIMIT | Unsupported | | -| SET QUOTED_IDENTIFIER in batch | Unsupported | | -| SET ROWCOUNT | Unsupported : `NONZERO`, `VARIABLE` |[SET ROWCOUNT workaround](https://babelfishpg.org/docs/workaround/set_rowcount/) | -| SET SHOWPLAN_ALL | Unsupported | | -| SET SHOWPLAN_TEXT | Unsupported | | -| SET SHOWPLAN_XML | Unsupported | | -| SET STATISTICS | Unsupported | | -| SET TEXTSIZE | Unsupported | | -| SET TRANSACTION ISOLATION LEVEL | Supported : `READ COMMITTED`, `READ UNCOMMITTED`, `SNAPSHOT` | | -| SETUSER | Unsupported | | -| SQL graph | Unsupported | | -| SQL_VARIANT_PROPERTY | Supported : `arg2=*` | | -| STRING_AGG() WITHIN GROUP | Unsupported | | -| Scalar UDF in table DDL | Unsupported : `ALTER TABLE DEFAULT` | | -| Server role options | Unsupported : `AUTHORIZATION`, `NAME` | | -| Service Broker | Unsupported | | -| Special characters in identifier | Unsupported | | -| Special characters in parameter | Unsupported | | -| Special column names | Unsupported | | -| Syntax Issues | Unsupported | | -| T-SQL Outer Join operator | Unsupported | | -| TRIGGER_NESTLEVEL with N arguments | Supported : `0` | | -| TYPEPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Table hint | Unsupported | | -| Table value constructor | Unsupported | | -| Temporal table | Unsupported | | -| Temporary procedures | Unsupported | | -| Traceflags | Unsupported | | -| Transactions | Unsupported : `BEGIN DISTRIBUTED TRANSACTION`, `DELAYED_DURABILITY`, `MARK` | | -| Trigger options | Unsupported : `APPEND`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `NATIVE_COMPILATION`, `SCHEMABINDING` | | -| UPDATE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `WHERE CURRENT OF` | | -| UPDATE STATISTICS | Unsupported | | -| UPDATETEXT | Unsupported | | -| Unquoted string | Unsupported | | -| User options | Unsupported : `ALLOW_ENCRYPTED_VALUE_MODIFICATIONS`, `DEFAULT_LANGUAGE`, `FROM ASYMMETRIC KEY`, `FROM CERTIFICATE`, `OLD_PASSWORD`, `PASSWORD`, `WITH LOGIN`, `WITH NAME`, `WITHOUT LOGIN` | | -| Variable aggregates across rows | Unsupported | | -| Variable assignment dependency | Unsupported | | -| Variable procedure name | Unsupported | | -| View options | Unsupported : `CHECK OPTION`, `ENCRYPTION`, `VIEW_METADATA`, `WITHOUT SCHEMABINDING` | | -| WAITFOR | Unsupported | | -| WRITETEXT | Unsupported | | -| XML features | Unsupported : `EXIST`, `MODIFY`, `NODES`, `QUERY`, `SELECT FOR XML AUTO`, `SELECT FOR XML AUTO ELEMENTS`, `SELECT FOR XML EXPLICIT`, `SELECT FOR XML PATH ELEMENTS`, `SELECT FOR XML RAW ELEMENTS`, `SELECTIVE XML INDEX`, `VALUE`, `WITH XMLNAMESPACES`, `XML INDEX`, `XML SCHEMA COLLECTION`, `XML TYPE DEFINITION` | | -| expression AT TIME ZONE | Unsupported | | diff --git a/_limitations/usf_1.3.0.md b/_limitations/usf_1.3.0.md deleted file mode 100644 index a52d6650..00000000 --- a/_limitations/usf_1.3.0.md +++ /dev/null @@ -1,202 +0,0 @@ ---- -layout: default -title: Version 1.3.0 -nav_order: 1 ---- - -## Babelfish Version 1.3.0 - -| Feature | Options | Notes | -| ------- | ------- | ------- | -| ::function call (old syntax) | Unsupported | | -| @@variable | Unsupported : `@@CONNECTIONS`, `@@CPU_BUSY`, `@@IDLE`, `@@IO_BUSY`, `@@LANGID`, `@@LANGUAGE`, `@@PACKET_ERRORS`, `@@PACK_RECEIVED`, `@@PACK_SENT`, `@@REMSERVER`, `@@TEXTSIZE`, `@@TIMETICKS`, `@@TOTAL_ERRORS`, `@@TOTAL_READ`, `@@TOTAL_WRITE` | | -| ADD SIGNATURE | Unsupported | | -| ALTER AUTHORIZATION | Unsupported | | -| ALTER DATABASE | Unsupported | | -| ALTER DATABASE options | Unsupported | | -| ALTER FUNCTION | Unsupported | | -| ALTER INDEX | Unsupported |[Index rebuilding workaround](https://babelfishpg.org/docs/workaround/rebuilding_table_indexes/) | -| ALTER PROCEDURE | Unsupported | | -| ALTER ROLE | Unsupported | | -| ALTER SCHEMA | Unsupported | | -| ALTER SERVER CONFIGURATION | Unsupported | | -| ALTER SERVER ROLE | Unsupported : `BULKADMIN`, `DBCREATOR`, `DISKADMIN`, `PROCESSADMIN`, `SECURITYADMIN`, `SERVERADMIN`, `SETUPADMIN` | | -| ALTER TABLE | Unsupported : `ADD MULTIPLE COLUMNS/CONSTRAINTS`, `ADD PERIOD FOR SYSTEM TIME`, `ALTER COLUMN NOT NULL`, `ALTER COLUMN NULL`, `CHECK CONSTRAINT`, `DISABLE CHANGE_TRACKING`, `DROP CONSTRAINT_BY_NAME_ONLY`, `DROP MULTIPLE COLUMNS`, `DROP MULTIPLE CONSTRAINTS`, `DROP MULTIPLE ITEMS`, `DROP PERIOD FOR SYSTEM_TIME`, `ENABLE CHANGE_TRACKING`, `NOCHECK CONSTRAINT`, `REBUILD`, `SET FILESTREAM_ON`, `SET FILETABLE`, `SET LOCK_ESCALATION`, `SET SYSTEM_VERSIONING` | | -| ALTER TRIGGER | Unsupported | | -| ALTER VIEW | Unsupported | | -| Aggregate functions | Unsupported : `APPROX_COUNT_DISTINCT`, `CHECKSUM_AGG`, `GROUPING_ID`, `ROWCOUNT_BIG`, `STDEV`, `STDEVP`, `VAR`, `VARP` | | -| BULK INSERT | Unsupported | | -| CHECKPOINT | Unsupported | | -| CHECKSUM | Supported : `arg1=SINGLE ARGUMENT`, `arg1=STAR`, `MULTIPLE ARGUMENTS` | | -| CLOSE KEY | Unsupported | | -| CLUSTERED index | Unsupported | | -| COLLATE | Unsupported |[COLLATE DATABASE_DEFAULT workaround](https://babelfishpg.org/docs/workaround/collate_database_default/) | -| COLUMNPROPERTY | Supported : `arg3=CharMaxLen`, `AllowsNull` | | -| CONNECTIONPROPERTY | Supported : `arg1=net_transport`, `protocol_type`, `auth_scheme`, `local_tcp_port`, `arg1=physical_net_transport`, `client_net_address` | | -| CREATE DATABASE options | Unsupported : `ALLOW_SNAPSHOT_ISOLATION`, `ANSI_NULLS`, `ANSI_NULL_DEFAULT`, `ANSI_PADDING`, `ANSI_WARNINGS`, `ARITHABORT`, `AUTO_CLOSE`, `AUTO_SHRINK`, `AUTO_UPDATE_STATISTICS`, `AUTO_UPDATE_STATISTICS_ASYNC`, `CATALOG_COLLATION`, `COMPATIBILITY_LEVEL`, `CONCAT_NULL_YIELDS_NULL`, `CONTAINMENT=PARTIAL`, `CURSOR_CLOSE_ON_COMMIT`, `CURSOR_DEFAULT`, `DATE_CORRELATION_OPTIMIZATION`, `DB_CHAINING`, `DELAYED_DURABILITY`, `DISABLE_BROKER`, `FILESTREAM`, `HONOR_BROKER_PRIORITY`, `MULTI_USER`, `NUMERIC_ROUNDABORT`, `PAGE_VERIFY`, `PARAMETERIZATION`, `QUERY_STORE`, `QUOTED_IDENTIFIER`, `READ_COMMITTED_SNAPSHOT`, `RECOVERY`, `RECURSIVE_TRIGGERS`, `TARGET_RECOVERY_TIME`, `TRUSTWORTHY` | | -| CREATE ROLE | Unsupported | | -| CREATE SERVER ROLE | Unsupported | | -| CURSOR parameters | Unsupported | | -| Case-sensitive collation | Unsupported : `CATALOG_COLLATION`, `DATABASE`, `SERVER` | | -| Column attribute | Unsupported | | -| Compound operator containing whitespace | Unsupported | | -| Cross-database reference | Unsupported | | -| Cursor options | Unsupported : `DYNAMIC`, `FAST_FORWARD`, `FOR UPDATE`, `KEYSET`, `OPTIMISTIC`, `SCROLL`, `SCROLL_LOCKS`, `TYPE_WARNING` |[Dynamically defined cursor workaround](https://babelfishpg.org/docs/workaround/dynamically_defined_cursor/) | -| DATABASEPROPERTYEX | Supported : `arg2=Collation`, `Edition`, `IsAutoClose`, `IsAutoCreateStatistics`, `IsInStandBy`, `IsTornPageDetectionEnabled`, `Status`, `Updateability`, `Version` | | -| DATEADD | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MINUTE`, `MM`, `MONTH`, `N`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY` | | -| DATEDIFF | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY` | | -| DATENAME | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY` | | -| DATEPART | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY` | | -| DB role options | Unsupported | | -| DB roles | Unsupported | | -| DBA statements | Unsupported | | -| DBCC statements | Unsupported | | -| DELETE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `WHERE CURRENT OF` | | -| DENY | Unsupported | | -| DESC constraint | Unsupported | | -| DISABLE TRIGGER | Unsupported | | -| DML Table Source | Unsupported | | -| DROP IF EXISTS | Unsupported : `ROLE` | | -| DROP INDEX | Unsupported : `INDEX ON SCHEMA.TABLE`, `SCHEMA.TABLE.INDEX`, `TABLE.INDEX` | | -| DROP multiple objects | Unsupported : `DATABASE`, `INDEX`, `TRIGGER` | | -| Datatypes | Unsupported : `CHARACTER VARYING`, `GEOGRAPHY`, `GEOMETRY`, `HIERARCHYID`, `NATIONAL CHARACTER`, `NATIONAL CHARACTER VARYING`, `NCHARACTER`, `NCHARACTER VARYING`, `XML COLUMN_SET FOR ALL_SPARSE_COLUMNS`, `XML(xmlschema)` | | -| Double-quoted string | Unsupported : `EMBEDDED_DOUBLE_QUOTE`, `EMBEDDED_SINGLE_QUOTE` | | -| Dynamic SQL | Unsupported | | -| ENABLE TRIGGER | Unsupported | | -| EXECUTE AS | Unsupported | | -| EXECUTE SQL function | Unsupported | | -| Execute procedure options | Unsupported : `RECOMPILE` | | -| Execute string options | Unsupported | | -| FETCH cursor | Unsupported : `ABSOLUTE`, `FIRST`, `LAST`, `PRIOR`, `RELATIVE` | | -| FOR REPLICATION | Unsupported | | -| Features in computed columns | Unsupported | | -| Function options | Unsupported : `ATOMIC NATIVELY COMPILED`, `CLR`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `INLINE`, `SCHEMABINDING` | | -| GLOBAL cursor | Unsupported | | -| GRANT | Supported : `ALL PRIVILEGES ON OBJECT`, `SELECT ON OBJECT`, `INSERT ON OBJECT`, `UPDATE ON OBJECT`, `DELETE ON OBJECT`, `REFERENCES ON OBJECT`, `EXECUTE ON OBJECT` | | -| GROUP BY ALL | Unsupported | | -| GROUP BY ROLLUP/CUBE (old syntax) | Unsupported | | -| Geospatial features | Unsupported | | -| Global Temporary Tables | Unsupported | | -| HASHBYTES | Supported : `arg1=MD5`, `SHA1`, `SHA2_256`, `SHA2_512` | | -| HIERARCHYID features | Unsupported | | -| IGNORE_DUP_KEY index | Unsupported | | -| INDEXKEY_PROPERTY | Supported : `arg4=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| INDEXPROPERTY | Unsupported | | -| INFORMATION_SCHEMA | Unsupported : `CHECK_CONSTRAINTS`, `COLUMN_DOMAIN_USAGE`, `COLUMN_PRIVILEGES`, `CONSTRAINT_COLUMN_USAGE`, `CONSTRAINT_TABLE_USAGE`, `DOMAIN_CONSTRAINTS`, `KEY_COLUMN_USAGE`, `PARAMETERS`, `REFERENTIAL_CONSTRAINTS`, `ROUTINES`, `ROUTINE_COLUMNS`, `SCHEMATA`, `TABLE_PRIVILEGES`, `VIEWS`, `VIEW_COLUMN_USAGE`, `VIEW_TABLE_USAGE` | | -| INSERT | Unsupported : `DEFAULT VALUES`, `EXECUTE SP_EXECUTESQL`, `EXECUTE(EXPRESSION)`, `EXECUTE(STRING)`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `TOP` | | -| INSERT BULK | Unsupported | | -| Index attribute | Unsupported | | -| Index options | Unsupported | | -| Indexed view | Unsupported | | -| Inline index | Unsupported | | -| Instead-Of Trigger | Unsupported : `VIEW` | | -| JSON features | Unsupported | | -| Join hint | Unsupported | | -| LIKE '[...]' | Unsupported | | -| LOGINPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Lateral join | Unsupported | | -| Line continuation character | Unsupported | | -| Login options | Unsupported : `ADD CREDENTIAL`, `CHECK_EXPIRATION`, `CHECK_POLICY`, `CREDENTIAL`, `DROP CREDENTIAL`, `FROM ASYMMETRIC KEY`, `FROM CERTIFICATE`, `FROM WINDOWS`, `MUST_CHANGE`, `NAME`, `NO CREDENTIAL`, `OLD_PASSWORD`, `PASSWORD HASHED`, `SID`, `UNLOCK` | | -| MERGE | Unsupported | | -| Materialized view | Unsupported | | -| Maximum columns per index | Supported : `32` | | -| Maximum identifier length | Supported : `63` | | -| Maximum parameters per function | Supported : `100` | | -| Maximum parameters per procedure | Supported : `100` | | -| Maximum precision IDENTITY column | Supported : `18` | | -| Miscellaneous objects | Unsupported : `AGGREGATE`, `APPLICATION ROLE`, `ASSEMBLY`, `ASYMMETRIC KEY`, `AVAILABILITY GROUP`, `CERTIFICATE`, `COLUMN ENCRYPTION KEY`, `COLUMN MASTER KEY`, `CONTRACT`, `CREDENTIAL`, `CRYPTOGRAPHIC PROVIDER`, `DEFAULT`, `DIAGNOSTIC SESSION`, `EXTERNAL DATA SOURCE`, `EXTERNAL LIBRARY`, `EXTERNAL RESOURCE POOL`, `FULLTEXT CATALOG`, `FULLTEXT INDEX`, `FULLTEXT STOPLIST`, `MASTER KEY`, `MESSAGE TYPE`, `QUEUE`, `QUEUE`, `REMOTE SERVICE BINDING`, `RESOURCE GOVERNOR`, `ROLE`, `ROUTE`, `RULE`, `SERVER AUDIT`, `SERVER AUDIT SPECIFICATION`, `SERVER ROLE`, `SERVICE`, `SERVICE MASTER KEY`, `SYMMETRIC KEY`, `SYNONYM`, `WORKLOAD CLASSIFIER`, `WORKLOAD GROUP` | | -| NEXT VALUE FOR | Unsupported | | -| NONCLUSTERED HASH index | Unsupported | | -| NOT FOR REPLICATION | Unsupported | | -| Non-PERSISTED computed columns | Unsupported | | -| Nullable column | Unsupported | | -| Numeric assignment to datetime variable/parameter/column | Unsupported | | -| Numeric representation of datetime | Unsupported | | -| OBJECTPROPERTY | Unsupported | | -| OBJECTPROPERTYEX | Unsupported | | -| ODBC Outer Join | Unsupported | | -| ODBC literal | Unsupported | | -| ODBC scalar function | Unsupported | | -| OPEN KEY | Unsupported | | -| Parameter value DEFAULT | Unsupported |[DEFAULT parameter value workaround](https://babelfishpg.org/docs/workaround/default_param_values/) | -| Partitioning | Unsupported |[Partitioning Workaround](https://babelfishpg.org/docs/workaround/partitioned_table/) - Babelfish code supports PostgreSQL-style partitioning on the PostgreSQL port, but use of PostgreSQL-styled partitioned tables from the TDS port is not recommended. | -| Procedure options | Unsupported : `ATOMIC NATIVELY COMPILED`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `RECOMPILE`, `SCHEMABINDING` | | -| Procedure versioning (declaration) | Unsupported | | -| Procedure versioning (execution) | Unsupported | | -| Query hint | Unsupported | | -| READTEXT | Unsupported | | -| REVOKE | Supported : `ALL PRIVILEGES ON OBJECT`, `SELECT ON OBJECT`, `INSERT ON OBJECT`, `UPDATE ON OBJECT`, `DELETE ON OBJECT`, `REFERENCES ON OBJECT`, `EXECUTE ON OBJECT`, `CASCADE` | | -| Regular variable named @@v | Unsupported | | -| Remote object reference | Unsupported | | -| SCHEMA options | Unsupported : `CREATE TABLE`, `CREATE VIEW`, `DENY`, `GRANT`, `REVOKE`, `TRANSFER`, `TRANSFER OBJECT`, `TRANSFER TYPE`, `TRANSFER XML SCHEMA COLLECTION` | | -| SCHEMA_ID with N arguments | Supported : `1`, `0` | | -| SCHEMA_NAME with N arguments | Supported : `1`, `0` | | -| SECURITY DEFINER transaction mgmt | Unsupported | | -| SELECT TOP PERCENT | Unsupported : `0`, `EXPRESSION`, `NONZERO`, `VARIABLE` | | -| SELECT TOP WITH TIES | Unsupported | | -| SELECT TOP in Table-Valued Function | Unsupported | | -| SELECT TOP without ORDER BY | Unsupported | | -| SELECT..PIVOT | Unsupported | | -| SELECT..UNPIVOT | Unsupported | | -| SEQUENCE options | Unsupported | | -| SERVERPROPERTY | Supported : `arg1=Collation`, `CollationID`, `Edition`, `IsSingleUser`, `ServerName`, `Babelfish`, `arg1=EditionID`, `EngineEdition`, `LicenseType`, `ProductVersion`, `ProductMajorVersion`, `ProductMinorVersion`, `IsIntegratedSecurityOnly`, `IsLocalDB`, `IsAdvancedAnalyticsInstalled`, `IsBigDataCluster`, `IsPolyBaseInstalled`, `IsFullTextInstalled`, `IsXTPSupported` | | -| SET ANSI_NULL_DFLT_OFF | Supported : `OFF` | | -| SET ANSI_NULL_DFLT_ON | Supported : `ON` | | -| SET ANSI_PADDING | Supported : `ON` | | -| SET ANSI_WARNINGS | Supported : `ON` | | -| SET ARITHABORT | Supported : `ON` | | -| SET ARITHIGNORE | Supported : `OFF` | | -| SET CONTEXT_INFO | Unsupported | | -| SET CURSOR_CLOSE_ON_COMMIT | Supported : `OFF` | | -| SET DATEFORMAT | Unsupported | | -| SET DEADLOCK_PRIORITY | Unsupported | | -| SET FMTONLY | Unsupported | | -| SET LANGUAGE | Supported : `english`, `us_english` | | -| SET NOEXEC | Supported : `OFF` | | -| SET NO_BROWSETABLE | Unsupported | | -| SET NUMERIC_ROUNDABORT | Supported : `OFF` | | -| SET OFFSETS | Unsupported | | -| SET PARSEONLY | Unsupported | | -| SET QUERY_GOVERNOR_COST_LIMIT | Unsupported | | -| SET QUOTED_IDENTIFIER in batch | Unsupported | | -| SET ROWCOUNT | Unsupported : `NONZERO`, `VARIABLE` |[SET ROWCOUNT workaround](https://babelfishpg.org/docs/workaround/set_rowcount/) | -| SET SHOWPLAN_ALL | Unsupported | | -| SET SHOWPLAN_TEXT | Unsupported | | -| SET SHOWPLAN_XML | Unsupported | | -| SET STATISTICS | Unsupported | | -| SET TEXTSIZE | Unsupported | | -| SET TRANSACTION ISOLATION LEVEL | Supported : `READ COMMITTED`, `READ UNCOMMITTED`, `SNAPSHOT` | | -| SETUSER | Unsupported | | -| SQL graph | Unsupported | | -| SQL_VARIANT_PROPERTY | Supported : `arg2=*` | | -| STRING_AGG() WITHIN GROUP | Unsupported | | -| Scalar UDF in table DDL | Unsupported : `ALTER TABLE DEFAULT` | | -| Server role options | Unsupported : `AUTHORIZATION`, `NAME` | | -| Service Broker | Unsupported | | -| Special characters in identifier | Unsupported | | -| Special characters in parameter | Unsupported | | -| Special column names | Unsupported | | -| Syntax Issues | Unsupported | | -| T-SQL Outer Join operator | Unsupported | | -| TRIGGER_NESTLEVEL with N arguments | Supported : `0` | | -| TYPEPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Table hint | Unsupported | | -| Table value constructor | Unsupported | | -| Temporal table | Unsupported | | -| Temporary procedures | Unsupported | | -| Traceflags | Unsupported | | -| Transactions | Unsupported : `BEGIN DISTRIBUTED TRANSACTION`, `DELAYED_DURABILITY`, `MARK` | | -| Trigger options | Unsupported : `APPEND`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `NATIVE_COMPILATION`, `SCHEMABINDING` | | -| UPDATE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `WHERE CURRENT OF` | | -| UPDATE STATISTICS | Unsupported | | -| UPDATETEXT | Unsupported | | -| Unquoted string | Unsupported | | -| User options | Unsupported : `ALLOW_ENCRYPTED_VALUE_MODIFICATIONS`, `DEFAULT_LANGUAGE`, `FROM ASYMMETRIC KEY`, `FROM CERTIFICATE`, `OLD_PASSWORD`, `PASSWORD`, `WITH LOGIN`, `WITH NAME`, `WITHOUT LOGIN` | | -| Variable aggregates across rows | Unsupported | | -| Variable assignment dependency | Unsupported | | -| Variable procedure name | Unsupported | | -| View options | Unsupported : `CHECK OPTION`, `ENCRYPTION`, `VIEW_METADATA`, `WITHOUT SCHEMABINDING` | | -| WAITFOR | Unsupported | | -| WRITETEXT | Unsupported | | -| XML features | Unsupported : `EXIST`, `MODIFY`, `NODES`, `QUERY`, `SELECT FOR XML AUTO`, `SELECT FOR XML AUTO ELEMENTS`, `SELECT FOR XML EXPLICIT`, `SELECT FOR XML PATH ELEMENTS`, `SELECT FOR XML RAW ELEMENTS`, `SELECTIVE XML INDEX`, `VALUE`, `WITH XMLNAMESPACES`, `XML INDEX`, `XML SCHEMA COLLECTION`, `XML TYPE DEFINITION` | | -| expression AT TIME ZONE | Unsupported | | diff --git a/_limitations/usf_2.1.0.md b/_limitations/usf_2.1.0.md deleted file mode 100644 index 4f84703c..00000000 --- a/_limitations/usf_2.1.0.md +++ /dev/null @@ -1,198 +0,0 @@ ---- -layout: default -title: Version 2.1.0 -nav_order: 1 ---- - -## Babelfish Version 2.1.0 - -| Feature | Options | Notes | -| ------- | ------- | ------- | -| ::function call (old syntax) | Unsupported | | -| @@variable | Unsupported : `@@CONNECTIONS`, `@@CPU_BUSY`, `@@IDLE`, `@@IO_BUSY`, `@@LANGID`, `@@LANGUAGE`, `@@PACKET_ERRORS`, `@@PACK_RECEIVED`, `@@PACK_SENT`, `@@REMSERVER`, `@@TEXTSIZE`, `@@TIMETICKS`, `@@TOTAL_ERRORS`, `@@TOTAL_READ`, `@@TOTAL_WRITE` | | -| ADD SIGNATURE | Unsupported | | -| ALTER AUTHORIZATION | Unsupported | | -| ALTER DATABASE | Unsupported | | -| ALTER DATABASE options | Unsupported | | -| ALTER FUNCTION | Unsupported | | -| ALTER INDEX | Unsupported |[Index rebuilding workaround](https://babelfishpg.org/docs/workaround/rebuilding_table_indexes/) | -| ALTER PROCEDURE | Unsupported | | -| ALTER SCHEMA | Unsupported | | -| ALTER SERVER CONFIGURATION | Unsupported | | -| ALTER SERVER ROLE | Unsupported : `BULKADMIN`, `DBCREATOR`, `DISKADMIN`, `PROCESSADMIN`, `SECURITYADMIN`, `SERVERADMIN`, `SETUPADMIN` | | -| ALTER TABLE | Unsupported : `ADD MULTIPLE COLUMNS/CONSTRAINTS`, `ADD PERIOD FOR SYSTEM TIME`, `ALTER COLUMN NOT NULL`, `ALTER COLUMN NULL`, `CHECK CONSTRAINT`, `DISABLE CHANGE_TRACKING`, `DROP CONSTRAINT_BY_NAME_ONLY`, `DROP MULTIPLE COLUMNS`, `DROP MULTIPLE CONSTRAINTS`, `DROP MULTIPLE ITEMS`, `DROP PERIOD FOR SYSTEM_TIME`, `ENABLE CHANGE_TRACKING`, `NOCHECK CONSTRAINT`, `REBUILD`, `SET FILESTREAM_ON`, `SET FILETABLE`, `SET LOCK_ESCALATION`, `SET SYSTEM_VERSIONING` | | -| ALTER TRIGGER | Unsupported | | -| ALTER VIEW | Unsupported | | -| Aggregate functions | Unsupported : `APPROX_COUNT_DISTINCT`, `CHECKSUM_AGG`, `GROUPING_ID`, `ROWCOUNT_BIG`, `STDEV`, `STDEVP`, `VAR`, `VARP` | | -| BULK INSERT | Unsupported | | -| CHECKPOINT | Unsupported | | -| CHECKSUM | Supported : `arg1=SINGLE ARGUMENT`, `arg1=STAR`, `MULTIPLE ARGUMENTS` | | -| CLOSE KEY | Unsupported | | -| CLUSTERED index | Unsupported | | -| COLLATE | Unsupported |[COLLATE DATABASE_DEFAULT workaround](https://babelfishpg.org/docs/workaround/collate_database_default/) | -| COLUMNPROPERTY | Supported : `arg3=CharMaxLen`, `AllowsNull` | | -| CONNECTIONPROPERTY | Supported : `arg1=net_transport`, `protocol_type`, `auth_scheme`, `local_tcp_port`, `arg1=physical_net_transport`, `client_net_address` | | -| CREATE DATABASE options | Unsupported : `ALLOW_SNAPSHOT_ISOLATION`, `ANSI_NULLS`, `ANSI_NULL_DEFAULT`, `ANSI_PADDING`, `ANSI_WARNINGS`, `ARITHABORT`, `AUTO_CLOSE`, `AUTO_SHRINK`, `AUTO_UPDATE_STATISTICS`, `AUTO_UPDATE_STATISTICS_ASYNC`, `CATALOG_COLLATION`, `COMPATIBILITY_LEVEL`, `CONCAT_NULL_YIELDS_NULL`, `CONTAINMENT=PARTIAL`, `CURSOR_CLOSE_ON_COMMIT`, `CURSOR_DEFAULT`, `DATE_CORRELATION_OPTIMIZATION`, `DB_CHAINING`, `DELAYED_DURABILITY`, `DISABLE_BROKER`, `FILESTREAM`, `HONOR_BROKER_PRIORITY`, `MULTI_USER`, `NUMERIC_ROUNDABORT`, `PAGE_VERIFY`, `PARAMETERIZATION`, `QUERY_STORE`, `QUOTED_IDENTIFIER`, `READ_COMMITTED_SNAPSHOT`, `RECOVERY`, `RECURSIVE_TRIGGERS`, `TARGET_RECOVERY_TIME`, `TRUSTWORTHY` | | -| CREATE SERVER ROLE | Unsupported | | -| CURSOR parameters | Unsupported | | -| Case-sensitive collation | Unsupported : `CATALOG_COLLATION`, `DATABASE`, `SERVER` | | -| Column attribute | Unsupported | | -| Compound operator containing whitespace | Unsupported | | -| Cross-database reference | Unsupported : `ALTER TABLE`, `CREATE INDEX`, `CREATE TABLE`, `DROP INDEX`, `EXECUTE`, `MERGE`, `TRUNCATE TABLE`, `UPDATE STATISTICS` | | -| Cursor options | Unsupported : `DYNAMIC`, `FAST_FORWARD`, `FOR UPDATE`, `KEYSET`, `OPTIMISTIC`, `SCROLL`, `SCROLL_LOCKS`, `TYPE_WARNING` |[Dynamically defined cursor workaround](https://babelfishpg.org/docs/workaround/dynamically_defined_cursor/) | -| DATABASEPROPERTYEX | Supported : `arg2=Collation`, `Edition`, `IsAutoClose`, `IsAutoCreateStatistics`, `IsInStandBy`, `IsTornPageDetectionEnabled`, `Status`, `Updateability`, `Version` | | -| DATEADD | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MINUTE`, `MM`, `MONTH`, `N`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY` | | -| DATEDIFF | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY` | | -| DATENAME | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY` | | -| DATEPART | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY` | | -| DB role options | Unsupported : `AUTHORIZATION` | | -| DB roles | Unsupported | | -| DBA statements | Unsupported | | -| DBCC statements | Unsupported | | -| DELETE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `WHERE CURRENT OF` | | -| DENY | Unsupported | | -| DESC constraint | Unsupported | | -| DISABLE TRIGGER | Unsupported | | -| DML Table Source | Unsupported | | -| DROP INDEX | Unsupported : `INDEX ON SCHEMA.TABLE`, `SCHEMA.TABLE.INDEX`, `TABLE.INDEX` | | -| DROP multiple objects | Unsupported : `DATABASE`, `INDEX`, `TRIGGER` | | -| Datatypes | Unsupported : `CHARACTER VARYING`, `GEOGRAPHY`, `GEOMETRY`, `HIERARCHYID`, `NATIONAL CHARACTER`, `NATIONAL CHARACTER VARYING`, `NCHARACTER`, `NCHARACTER VARYING`, `XML COLUMN_SET FOR ALL_SPARSE_COLUMNS`, `XML(xmlschema)` | | -| Double-quoted string | Unsupported : `EMBEDDED_DOUBLE_QUOTE`, `EMBEDDED_SINGLE_QUOTE` | | -| Dynamic SQL | Unsupported | | -| ENABLE TRIGGER | Unsupported | | -| EXECUTE AS | Unsupported | | -| EXECUTE SQL function | Unsupported | | -| Execute procedure options | Unsupported : `RECOMPILE` | | -| Execute string options | Unsupported | | -| FETCH cursor | Unsupported : `ABSOLUTE`, `FIRST`, `LAST`, `PRIOR`, `RELATIVE` | | -| FOR REPLICATION | Unsupported | | -| Features in computed columns | Unsupported | | -| Function options | Unsupported : `ATOMIC NATIVELY COMPILED`, `CLR`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `INLINE`, `SCHEMABINDING` | | -| GLOBAL cursor | Unsupported | | -| GRANT | Supported : `ALL PRIVILEGES ON OBJECT`, `SELECT ON OBJECT`, `INSERT ON OBJECT`, `UPDATE ON OBJECT`, `DELETE ON OBJECT`, `REFERENCES ON OBJECT`, `EXECUTE ON OBJECT` | | -| GROUP BY ROLLUP/CUBE (old syntax) | Unsupported | | -| Geospatial features | Unsupported | | -| Global Temporary Tables | Unsupported | | -| HASHBYTES | Supported : `arg1=MD5`, `SHA1`, `SHA2_256`, `SHA2_512` | | -| HIERARCHYID features | Unsupported | | -| IGNORE_DUP_KEY index | Unsupported | | -| INDEXKEY_PROPERTY | Supported : `arg4=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| INDEXPROPERTY | Unsupported | | -| INFORMATION_SCHEMA | Unsupported : `CHECK_CONSTRAINTS`, `COLUMN_DOMAIN_USAGE`, `COLUMN_PRIVILEGES`, `CONSTRAINT_COLUMN_USAGE`, `CONSTRAINT_TABLE_USAGE`, `DOMAIN_CONSTRAINTS`, `KEY_COLUMN_USAGE`, `PARAMETERS`, `REFERENTIAL_CONSTRAINTS`, `ROUTINES`, `ROUTINE_COLUMNS`, `SCHEMATA`, `TABLE_PRIVILEGES`, `VIEWS`, `VIEW_COLUMN_USAGE`, `VIEW_TABLE_USAGE` | | -| INSERT | Unsupported : `DEFAULT VALUES`, `EXECUTE SP_EXECUTESQL`, `EXECUTE(EXPRESSION)`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `TOP` | | -| INSERT BULK | Unsupported | | -| Index attribute | Unsupported | | -| Index options | Unsupported | | -| Indexed view | Unsupported | | -| Inline index | Unsupported | | -| Instead-Of Trigger | Unsupported : `VIEW` | | -| JSON features | Unsupported | | -| Join hint | Unsupported | | -| LIKE '[...]' | Unsupported | | -| LOGINPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Lateral join | Unsupported | | -| Line continuation character | Unsupported | | -| Login options | Unsupported : `ADD CREDENTIAL`, `CHECK_EXPIRATION`, `CHECK_POLICY`, `CREDENTIAL`, `DROP CREDENTIAL`, `FROM ASYMMETRIC KEY`, `FROM CERTIFICATE`, `FROM WINDOWS`, `MUST_CHANGE`, `NAME`, `NO CREDENTIAL`, `OLD_PASSWORD`, `PASSWORD HASHED`, `SID`, `UNLOCK` | | -| MERGE | Unsupported | | -| Materialized view | Unsupported | | -| Maximum columns per index | Supported : `32` | | -| Maximum identifier length | Supported : `63` | | -| Maximum parameters per function | Supported : `100` | | -| Maximum parameters per procedure | Supported : `100` | | -| Maximum precision IDENTITY column | Supported : `18` | | -| Miscellaneous objects | Unsupported : `AGGREGATE`, `APPLICATION ROLE`, `ASSEMBLY`, `ASYMMETRIC KEY`, `AVAILABILITY GROUP`, `CERTIFICATE`, `COLUMN ENCRYPTION KEY`, `COLUMN MASTER KEY`, `CONTRACT`, `CREDENTIAL`, `CRYPTOGRAPHIC PROVIDER`, `DEFAULT`, `DIAGNOSTIC SESSION`, `EXTERNAL DATA SOURCE`, `EXTERNAL LIBRARY`, `EXTERNAL RESOURCE POOL`, `FULLTEXT CATALOG`, `FULLTEXT INDEX`, `FULLTEXT STOPLIST`, `MASTER KEY`, `MESSAGE TYPE`, `QUEUE`, `QUEUE`, `REMOTE SERVICE BINDING`, `RESOURCE GOVERNOR`, `ROUTE`, `RULE`, `SERVER AUDIT`, `SERVER AUDIT SPECIFICATION`, `SERVER ROLE`, `SERVICE`, `SERVICE MASTER KEY`, `SYMMETRIC KEY`, `SYNONYM`, `WORKLOAD CLASSIFIER`, `WORKLOAD GROUP` | | -| NEXT VALUE FOR | Unsupported | | -| NONCLUSTERED HASH index | Unsupported | | -| NOT FOR REPLICATION | Unsupported | | -| Non-PERSISTED computed columns | Unsupported | | -| Nullable column | Unsupported | | -| Numeric assignment to datetime variable/parameter/column | Unsupported | | -| Numeric representation of datetime | Unsupported | | -| OBJECTPROPERTY | Unsupported | | -| OBJECTPROPERTYEX | Unsupported | | -| ODBC Outer Join | Unsupported | | -| ODBC literal | Unsupported | | -| ODBC scalar function | Unsupported | | -| OPEN KEY | Unsupported | | -| Parameter value DEFAULT | Unsupported |[DEFAULT parameter value workaround](https://babelfishpg.org/docs/workaround/default_param_values/) | -| Partitioning | Unsupported |[Partitioning Workaround](https://babelfishpg.org/docs/workaround/partitioned_table/) - Babelfish code supports PostgreSQL-style partitioning on the PostgreSQL port, but use of PostgreSQL-styled partitioned tables from the TDS port is not recommended. | -| Procedure options | Unsupported : `ATOMIC NATIVELY COMPILED`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `RECOMPILE`, `SCHEMABINDING` | | -| Procedure versioning (declaration) | Unsupported | | -| Procedure versioning (execution) | Unsupported | | -| Query hint | Unsupported | | -| READTEXT | Unsupported | | -| REVOKE | Supported : `ALL PRIVILEGES ON OBJECT`, `SELECT ON OBJECT`, `INSERT ON OBJECT`, `UPDATE ON OBJECT`, `DELETE ON OBJECT`, `REFERENCES ON OBJECT`, `EXECUTE ON OBJECT`, `CASCADE` | | -| Regular variable named @@v | Unsupported | | -| Remote object reference | Unsupported | | -| SCHEMA options | Unsupported : `CREATE TABLE`, `CREATE VIEW`, `DENY`, `GRANT`, `REVOKE`, `TRANSFER`, `TRANSFER OBJECT`, `TRANSFER TYPE`, `TRANSFER XML SCHEMA COLLECTION` | | -| SCHEMA_ID with N arguments | Supported : `1`, `0` | | -| SCHEMA_NAME with N arguments | Supported : `1`, `0` | | -| SECURITY DEFINER transaction mgmt | Unsupported | | -| SELECT TOP PERCENT | Unsupported : `0`, `EXPRESSION`, `NONZERO`, `VARIABLE` | | -| SELECT TOP WITH TIES | Unsupported | | -| SELECT TOP in Table-Valued Function | Unsupported | | -| SELECT TOP without ORDER BY | Unsupported | | -| SELECT..PIVOT | Unsupported | | -| SELECT..UNPIVOT | Unsupported | | -| SEQUENCE options | Unsupported | | -| SERVERPROPERTY | Supported : `arg1=Collation`, `CollationID`, `Edition`, `IsSingleUser`, `ServerName`, `Babelfish`, `arg1=EditionID`, `EngineEdition`, `LicenseType`, `ProductVersion`, `ProductMajorVersion`, `ProductMinorVersion`, `IsIntegratedSecurityOnly`, `IsLocalDB`, `IsAdvancedAnalyticsInstalled`, `IsBigDataCluster`, `IsPolyBaseInstalled`, `IsFullTextInstalled`, `IsXTPSupported` | | -| SET ANSI_NULL_DFLT_OFF | Supported : `OFF` | | -| SET ANSI_NULL_DFLT_ON | Supported : `ON` | | -| SET ANSI_PADDING | Supported : `ON` | | -| SET ANSI_WARNINGS | Supported : `ON` | | -| SET ARITHABORT | Supported : `ON` | | -| SET ARITHIGNORE | Supported : `OFF` | | -| SET CONTEXT_INFO | Unsupported | | -| SET CURSOR_CLOSE_ON_COMMIT | Supported : `OFF` | | -| SET DATEFORMAT | Unsupported | | -| SET DEADLOCK_PRIORITY | Unsupported | | -| SET FMTONLY | Unsupported | | -| SET LANGUAGE | Supported : `english`, `us_english` | | -| SET NOEXEC | Supported : `OFF` | | -| SET NO_BROWSETABLE | Unsupported | | -| SET NUMERIC_ROUNDABORT | Supported : `OFF` | | -| SET OFFSETS | Unsupported | | -| SET PARSEONLY | Unsupported | | -| SET QUERY_GOVERNOR_COST_LIMIT | Unsupported | | -| SET QUOTED_IDENTIFIER in batch | Unsupported | | -| SET ROWCOUNT | Unsupported : `NONZERO`, `VARIABLE` |[SET ROWCOUNT workaround](https://babelfishpg.org/docs/workaround/set_rowcount/) | -| SET SHOWPLAN_ALL | Unsupported | | -| SET SHOWPLAN_TEXT | Unsupported | | -| SET SHOWPLAN_XML | Unsupported | | -| SET STATISTICS | Unsupported | | -| SET TEXTSIZE | Unsupported | | -| SET TRANSACTION ISOLATION LEVEL | Supported : `READ COMMITTED`, `READ UNCOMMITTED`, `SNAPSHOT` | | -| SETUSER | Unsupported | | -| SQL graph | Unsupported | | -| SQL_VARIANT_PROPERTY | Supported : `arg2=*` | | -| STRING_AGG() WITHIN GROUP | Unsupported | | -| Scalar UDF in table DDL | Unsupported : `ALTER TABLE DEFAULT` | | -| Server role options | Unsupported : `AUTHORIZATION`, `NAME` | | -| Service Broker | Unsupported | | -| Special characters in identifier | Unsupported | | -| Special characters in parameter | Unsupported | | -| Special column names | Unsupported | | -| Syntax Issues | Unsupported | | -| T-SQL Outer Join operator | Unsupported | | -| TRIGGER_NESTLEVEL with N arguments | Supported : `0` | | -| TYPEPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Table hint | Unsupported | | -| Table value constructor | Unsupported | | -| Temporal table | Unsupported | | -| Temporary procedures | Unsupported | | -| Traceflags | Unsupported | | -| Transactions | Unsupported : `BEGIN DISTRIBUTED TRANSACTION`, `DELAYED_DURABILITY`, `MARK` | | -| Trigger options | Unsupported : `APPEND`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `NATIVE_COMPILATION`, `SCHEMABINDING` | | -| UPDATE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `WHERE CURRENT OF` | | -| UPDATE STATISTICS | Unsupported | | -| UPDATETEXT | Unsupported | | -| Unquoted string | Unsupported | | -| User options | Unsupported : `ALLOW_ENCRYPTED_VALUE_MODIFICATIONS`, `DEFAULT_LANGUAGE`, `FROM ASYMMETRIC KEY`, `FROM CERTIFICATE`, `OLD_PASSWORD`, `PASSWORD`, `WITH LOGIN`, `WITH NAME`, `WITHOUT LOGIN` | | -| Variable aggregates across rows | Unsupported | | -| Variable assignment dependency | Unsupported | | -| Variable procedure name | Unsupported | | -| View options | Unsupported : `CHECK OPTION`, `ENCRYPTION`, `VIEW_METADATA`, `WITHOUT SCHEMABINDING` | | -| WAITFOR | Unsupported | | -| WRITETEXT | Unsupported | | -| XML features | Unsupported : `EXIST`, `MODIFY`, `NODES`, `QUERY`, `SELECT FOR XML AUTO`, `SELECT FOR XML AUTO ELEMENTS`, `SELECT FOR XML EXPLICIT`, `SELECT FOR XML PATH ELEMENTS`, `SELECT FOR XML RAW ELEMENTS`, `SELECTIVE XML INDEX`, `VALUE`, `WITH XMLNAMESPACES`, `XML INDEX`, `XML SCHEMA COLLECTION`, `XML TYPE DEFINITION` | | -| expression AT TIME ZONE | Unsupported | | diff --git a/_limitations/usf_2.2.0.md b/_limitations/usf_2.2.0.md deleted file mode 100644 index 93853538..00000000 --- a/_limitations/usf_2.2.0.md +++ /dev/null @@ -1,191 +0,0 @@ ---- -layout: default -title: Version 2.2.0 -nav_order: 1 ---- - -## Babelfish Version 2.2.0 - -| Feature | Options | Notes | -| ------- | ------- | ------- | -| @@variable | Unsupported : `@@CONNECTIONS`, `@@CPU_BUSY`, `@@IDLE`, `@@IO_BUSY`, `@@LANGID`, `@@PACKET_ERRORS`, `@@PACK_RECEIVED`, `@@PACK_SENT`, `@@REMSERVER`, `@@TEXTSIZE`, `@@TIMETICKS`, `@@TOTAL_ERRORS`, `@@TOTAL_READ`, `@@TOTAL_WRITE` | | -| ADD SIGNATURE | Unsupported | | -| ALTER AUTHORIZATION | Unsupported | | -| ALTER DATABASE | Unsupported | | -| ALTER DATABASE options | Unsupported | | -| ALTER FUNCTION | Unsupported | | -| ALTER INDEX | Unsupported |[Index rebuilding workaround](https://babelfishpg.org/docs/workaround/rebuilding_table_indexes/) | -| ALTER PROCEDURE | Unsupported | | -| ALTER SCHEMA | Unsupported | | -| ALTER SERVER CONFIGURATION | Unsupported | | -| ALTER SERVER ROLE | Unsupported : `BULKADMIN`, `DBCREATOR`, `DISKADMIN`, `PROCESSADMIN`, `SECURITYADMIN`, `SERVERADMIN`, `SETUPADMIN` | | -| ALTER TABLE | Unsupported : `ADD MULTIPLE COLUMNS/CONSTRAINTS`, `ADD PERIOD FOR SYSTEM TIME`, `ALTER COLUMN NOT NULL`, `ALTER COLUMN NULL`, `CHECK CONSTRAINT`, `DISABLE CHANGE_TRACKING`, `DROP CONSTRAINT_BY_NAME_ONLY`, `DROP MULTIPLE COLUMNS`, `DROP MULTIPLE CONSTRAINTS`, `DROP MULTIPLE ITEMS`, `DROP PERIOD FOR SYSTEM_TIME`, `ENABLE CHANGE_TRACKING`, `NOCHECK CONSTRAINT`, `REBUILD`, `SET FILESTREAM_ON`, `SET FILETABLE`, `SET LOCK_ESCALATION`, `SET SYSTEM_VERSIONING` | | -| ALTER TRIGGER | Unsupported | | -| ALTER VIEW | Unsupported | | -| Aggregate functions | Unsupported : `APPROX_COUNT_DISTINCT`, `CHECKSUM_AGG`, `GROUPING_ID`, `ROWCOUNT_BIG`, `STDEV`, `STDEVP`, `VAR`, `VARP` | | -| BULK INSERT | Unsupported | | -| CHECKPOINT | Unsupported | | -| CHECKSUM | Supported : `arg1=SINGLE ARGUMENT`, `arg1=STAR`, `MULTIPLE ARGUMENTS` | | -| CLOSE KEY | Unsupported | | -| CLUSTERED index | Unsupported | | -| COLUMNPROPERTY | Supported : `arg3=CharMaxLen`, `AllowsNull` | | -| CONNECTIONPROPERTY | Supported : `arg1=net_transport`, `protocol_type`, `auth_scheme`, `local_tcp_port`, `arg1=physical_net_transport`, `client_net_address` | | -| CREATE DATABASE options | Unsupported : `ALLOW_SNAPSHOT_ISOLATION`, `ANSI_NULLS`, `ANSI_NULL_DEFAULT`, `ANSI_PADDING`, `ANSI_WARNINGS`, `ARITHABORT`, `AUTO_CLOSE`, `AUTO_SHRINK`, `AUTO_UPDATE_STATISTICS`, `AUTO_UPDATE_STATISTICS_ASYNC`, `CATALOG_COLLATION`, `COMPATIBILITY_LEVEL`, `CONCAT_NULL_YIELDS_NULL`, `CONTAINMENT=PARTIAL`, `CURSOR_CLOSE_ON_COMMIT`, `CURSOR_DEFAULT`, `DATE_CORRELATION_OPTIMIZATION`, `DB_CHAINING`, `DELAYED_DURABILITY`, `DISABLE_BROKER`, `FILESTREAM`, `HONOR_BROKER_PRIORITY`, `MULTI_USER`, `NUMERIC_ROUNDABORT`, `PAGE_VERIFY`, `PARAMETERIZATION`, `QUERY_STORE`, `QUOTED_IDENTIFIER`, `READ_COMMITTED_SNAPSHOT`, `RECOVERY`, `RECURSIVE_TRIGGERS`, `TARGET_RECOVERY_TIME`, `TRUSTWORTHY` | | -| CREATE SERVER ROLE | Unsupported | | -| CURSOR parameters | Unsupported | | -| Case-sensitive collation | Unsupported : `CATALOG_COLLATION`, `DATABASE`, `SERVER` | | -| Column attribute | Unsupported | | -| Compound operator containing whitespace | Unsupported | | -| Cross-database reference | Unsupported : `ALTER TABLE`, `CREATE INDEX`, `CREATE TABLE`, `DROP INDEX`, `MERGE`, `TRUNCATE TABLE`, `UPDATE STATISTICS` | | -| Cursor options | Unsupported : `DYNAMIC`, `FAST_FORWARD`, `FOR UPDATE`, `KEYSET`, `OPTIMISTIC`, `SCROLL`, `SCROLL_LOCKS`, `TYPE_WARNING` |[Dynamically defined cursor workaround](https://babelfishpg.org/docs/workaround/dynamically_defined_cursor/) | -| DATABASEPROPERTYEX | Supported : `arg2=Collation`, `Edition`, `IsAutoClose`, `IsAutoCreateStatistics`, `IsInStandBy`, `IsTornPageDetectionEnabled`, `Status`, `Updateability`, `Version` | | -| DATEADD | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MINUTE`, `MM`, `MONTH`, `N`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY`, `arg1=MILLISECOND`, `MS`, `W` | | -| DATEDIFF | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DY`, `HH`, `HOUR`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `WEEK`, `WK`, `WW`, `Y`, `YEAR`, `YY`, `YYYY`, `arg1=W` | | -| DATENAME | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY`, `arg1=W` | | -| DATEPART | Supported : `arg1=D`, `DAY`, `DAYOFYEAR`, `DD`, `DW`, `DY`, `HH`, `HOUR`, `ISO_WEEK`, `ISOWK`, `ISOWW`, `M`, `MCS`, `MICROSECOND`, `MILLISECOND`, `MINUTE`, `MM`, `MONTH`, `MS`, `N`, `NANOSECOND`, `NS`, `Q`, `QQ`, `QUARTER`, `S`, `SECOND`, `SS`, `TZ`, `TZOFFSET`, `WEEK`, `WEEKDAY`, `WK`, `WW`, `YEAR`, `YY`, `YYYY`, `arg1=W` | | -| DB role options | Unsupported : `AUTHORIZATION` | | -| DB roles | Unsupported | | -| DBA statements | Unsupported | | -| DBCC statements | Unsupported | | -| DELETE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, Two `OUTPUT` clauses, `WHERE CURRENT OF` | | -| DENY | Unsupported | | -| DESC constraint | Unsupported | | -| DISABLE TRIGGER | Unsupported | | -| DML Table Source | Unsupported | | -| DROP INDEX | Unsupported : `INDEX ON SCHEMA.TABLE`, `SCHEMA.TABLE.INDEX`, `TABLE.INDEX` | | -| DROP multiple objects | Unsupported : `DATABASE`, `INDEX`, `TRIGGER` | | -| Datatypes | Unsupported : `CHARACTER VARYING`, `GEOGRAPHY`, `GEOMETRY`, `HIERARCHYID`, `NATIONAL CHARACTER`, `NATIONAL CHARACTER VARYING`, `NCHARACTER`, `NCHARACTER VARYING`, `XML COLUMN_SET FOR ALL_SPARSE_COLUMNS`, `XML(xmlschema)` | | -| Double-quoted string | Unsupported : `EMBEDDED_DOUBLE_QUOTE`, `EMBEDDED_SINGLE_QUOTE` | | -| Dynamic SQL | Unsupported | | -| ENABLE TRIGGER | Unsupported | | -| EXECUTE AS | Unsupported | | -| EXECUTE SQL function | Unsupported | | -| Execute procedure options | Unsupported : `RECOMPILE` | | -| Execute string options | Unsupported | | -| FETCH cursor | Unsupported : `ABSOLUTE`, `FIRST`, `LAST`, `PRIOR`, `RELATIVE` | | -| FOR REPLICATION | Unsupported | | -| Features in computed columns | Unsupported | | -| Function options | Unsupported : `ATOMIC NATIVELY COMPILED`, `CLR`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `INLINE`, `SCHEMABINDING` | | -| GLOBAL cursor | Unsupported | | -| GRANT | Supported : `ALL PRIVILEGES ON OBJECT`, `SELECT ON OBJECT`, `INSERT ON OBJECT`, `UPDATE ON OBJECT`, `DELETE ON OBJECT`, `REFERENCES ON OBJECT`, `EXECUTE ON OBJECT` | | -| GROUP BY ROLLUP/CUBE (old syntax) | Unsupported | | -| Geospatial features | Unsupported | | -| Global Temporary Tables | Unsupported | | -| HASHBYTES | Supported : `arg1=MD5`, `SHA1`, `SHA2_256`, `SHA2_512` | | -| HIERARCHYID features | Unsupported | | -| IGNORE_DUP_KEY index | Unsupported | | -| INDEXKEY_PROPERTY | Supported : `arg4=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| INDEXPROPERTY | Supported : `arg3=IndexFillFactor`, `IndexID`, `IsClustered`, `IsDisabled`, `IsHypothetical`, `IsPadIndex`, `IsPageLockDisallowed`, `IsRowLockDisallowed`, `IsUnique` | | -| INFORMATION_SCHEMA | Unsupported : `COLUMN_PRIVILEGES`, `CONSTRAINT_TABLE_USAGE`, `DOMAIN_CONSTRAINTS`, `KEY_COLUMN_USAGE`, `PARAMETERS`, `REFERENTIAL_CONSTRAINTS`, `ROUTINE_COLUMNS`, `SCHEMATA`, `TABLE_PRIVILEGES`, `VIEW_COLUMN_USAGE`, `VIEW_TABLE_USAGE` | | -| INSERT | Unsupported : `DEFAULT VALUES`, `EXECUTE SP_EXECUTESQL`, `EXECUTE(EXPRESSION)`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `TOP` | | -| INSERT BULK | Unsupported | | -| Index attribute | Unsupported | | -| Index options | Unsupported | | -| Indexed view | Unsupported | | -| Inline index | Unsupported | | -| Instead-Of Trigger | Unsupported : `VIEW` | | -| JSON features | Unsupported | | -| Join hint | Unsupported | | -| LIKE '[...]' | Unsupported | | -| LOGINPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Line continuation character | Unsupported | | -| Login options | Unsupported : `ADD CREDENTIAL`, `CHECK_EXPIRATION`, `CHECK_POLICY`, `CREDENTIAL`, `DROP CREDENTIAL`, `FROM ASYMMETRIC KEY`, `FROM CERTIFICATE`, `FROM WINDOWS`, `MUST_CHANGE`, `NAME`, `NO CREDENTIAL`, `OLD_PASSWORD`, `PASSWORD HASHED`, `SID`, `UNLOCK` | | -| MERGE | Unsupported | | -| Materialized view | Unsupported | | -| Maximum columns per index | Supported : `32` | | -| Maximum identifier length | Supported : `63` | | -| Maximum parameters per function | Supported : `100` | | -| Maximum parameters per procedure | Supported : `100` | | -| Maximum precision IDENTITY column | Supported : `18` | | -| Miscellaneous objects | Unsupported : `AGGREGATE`, `APPLICATION ROLE`, `ASSEMBLY`, `ASYMMETRIC KEY`, `AVAILABILITY GROUP`, `CERTIFICATE`, `COLUMN ENCRYPTION KEY`, `COLUMN MASTER KEY`, `CONTRACT`, `CREDENTIAL`, `CRYPTOGRAPHIC PROVIDER`, `DEFAULT`, `DIAGNOSTIC SESSION`, `EXTERNAL DATA SOURCE`, `EXTERNAL LIBRARY`, `EXTERNAL RESOURCE POOL`, `FULLTEXT CATALOG`, `FULLTEXT INDEX`, `FULLTEXT STOPLIST`, `MASTER KEY`, `MESSAGE TYPE`, `QUEUE`, `QUEUE`, `REMOTE SERVICE BINDING`, `RESOURCE GOVERNOR`, `ROUTE`, `RULE`, `SERVER AUDIT`, `SERVER AUDIT SPECIFICATION`, `SERVER ROLE`, `SERVICE`, `SERVICE MASTER KEY`, `SYMMETRIC KEY`, `SYNONYM`, `WORKLOAD CLASSIFIER`, `WORKLOAD GROUP` | | -| NEXT VALUE FOR | Unsupported | | -| NONCLUSTERED HASH index | Unsupported | | -| NOT FOR REPLICATION | Unsupported | | -| Non-PERSISTED computed columns | Unsupported | | -| Nullable column | Unsupported | | -| Numeric assignment to datetime variable/parameter/column | Unsupported | | -| Numeric representation of datetime | Unsupported : `CONVERT`, `DATEADD`, `DATEDIFF`, `DATENAME`, `DATEPART`, `PARSE`, `TRY_CAST`, `TRY_CONVERT`, `TRY_PARSE` | | -| OBJECTPROPERTY | Supported : `arg2=ExecIsAnsiNullsOn`, `ExecIsQuotedIdentOn`, `IsDefault`, `IsDefaultCnst`, `IsDeterministic`, `IsIndexed`, `IsInlineFunction`, `IsMSShipped`, `IsPrimaryKey`, `IsProcedure`, `IsRule`, `IsScalarFunction`, `IsSchemaBound`, `IsTable`, `IsTableFunction`, `IsTrigger`, `IsUserTable`, `IsView`, `OwnerId`, `TableFulltextPopulateStatus`, `TableHasVarDecimalStorageFormat` | | -| OBJECTPROPERTYEX | Supported : `arg2=ExecIsAnsiNullsOn`, `ExecIsQuotedIdentOn`, `IsDefault`, `IsDefaultCnst`, `IsDeterministic`, `IsIndexed`, `IsInlineFunction`, `IsMSShipped`, `IsPrimaryKey`, `IsProcedure`, `IsRule`, `IsScalarFunction`, `IsSchemaBound`, `IsTable`, `IsTableFunction`, `IsTrigger`, `IsUserTable`, `IsView`, `OwnerId`, `TableFulltextPopulateStatus`, `TableHasVarDecimalStorageFormat`, `BaseType` | | -| ODBC Outer Join | Unsupported | | -| ODBC literal | Unsupported | | -| ODBC scalar function | Unsupported | | -| OPEN KEY | Unsupported | | -| Parameter value DEFAULT | Unsupported |[DEFAULT parameter value workaround](https://babelfishpg.org/docs/workaround/default_param_values/) | -| Partitioning | Unsupported |[Partitioning Workaround](https://babelfishpg.org/docs/workaround/partitioned_table/) - Babelfish code supports PostgreSQL-style partitioning on the PostgreSQL port, but use of PostgreSQL-styled partitioned tables from the TDS port is not recommended. | -| Procedure options | Unsupported : `ATOMIC NATIVELY COMPILED`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `RECOMPILE`, `SCHEMABINDING` | | -| Procedure versioning (declaration) | Unsupported | | -| Procedure versioning (execution) | Unsupported | | -| Query hint | Unsupported | | -| READTEXT | Unsupported | | -| REVOKE | Supported : `ALL PRIVILEGES ON OBJECT`, `SELECT ON OBJECT`, `INSERT ON OBJECT`, `UPDATE ON OBJECT`, `DELETE ON OBJECT`, `REFERENCES ON OBJECT`, `EXECUTE ON OBJECT`, `CASCADE` | | -| Regular variable named @@v | Unsupported | | -| Remote object reference | Unsupported | | -| SCHEMA options | Unsupported : `CREATE TABLE`, `CREATE VIEW`, `DENY`, `GRANT`, `REVOKE`, `TRANSFER`, `TRANSFER OBJECT`, `TRANSFER TYPE`, `TRANSFER XML SCHEMA COLLECTION` | | -| SCHEMA_ID with N arguments | Supported : `1`, `0` | | -| SCHEMA_NAME with N arguments | Supported : `1`, `0` | | -| SECURITY DEFINER transaction mgmt | Unsupported | | -| SELECT TOP PERCENT | Unsupported : `0`, `EXPRESSION`, `NONZERO`, `VARIABLE` | | -| SELECT TOP WITH TIES | Unsupported | | -| SELECT TOP in Table-Valued Function | Unsupported | | -| SELECT TOP without ORDER BY | Unsupported | | -| SELECT..PIVOT | Unsupported | | -| SELECT..UNPIVOT | Unsupported | | -| SEQUENCE options | Unsupported | | -| SERVERPROPERTY | Supported : `arg1=Collation`, `CollationID`, `Edition`, `IsSingleUser`, `ServerName`, `Babelfish`, `arg1=EditionID`, `EngineEdition`, `LicenseType`, `ProductVersion`, `ProductMajorVersion`, `ProductMinorVersion`, `IsIntegratedSecurityOnly`, `IsLocalDB`, `IsAdvancedAnalyticsInstalled`, `IsBigDataCluster`, `IsPolyBaseInstalled`, `IsFullTextInstalled`, `IsXTPSupported`, `arg1=MachineName`, `InstanceName` | | -| SET ANSI_NULL_DFLT_OFF | Supported : `OFF` | | -| SET ANSI_NULL_DFLT_ON | Supported : `ON` | | -| SET ANSI_PADDING | Supported : `ON` | | -| SET ANSI_WARNINGS | Supported : `ON` | | -| SET ARITHABORT | Supported : `ON` | | -| SET ARITHIGNORE | Supported : `OFF` | | -| SET CONTEXT_INFO | Unsupported | | -| SET CURSOR_CLOSE_ON_COMMIT | Supported : `OFF` | | -| SET DATEFORMAT | Unsupported | | -| SET DEADLOCK_PRIORITY | Unsupported | | -| SET FMTONLY | Unsupported | | -| SET LANGUAGE | Supported : `english`, `us_english` | | -| SET NOEXEC | Supported : `OFF` | | -| SET NUMERIC_ROUNDABORT | Supported : `OFF` | | -| SET OFFSETS | Unsupported | | -| SET QUERY_GOVERNOR_COST_LIMIT | Unsupported | | -| SET QUOTED_IDENTIFIER in batch | Unsupported | | -| SET ROWCOUNT | Unsupported : `NONZERO`, `VARIABLE` |[SET ROWCOUNT workaround](https://babelfishpg.org/docs/workaround/set_rowcount/) | -| SET SHOWPLAN_TEXT | Unsupported | | -| SET SHOWPLAN_XML | Unsupported | | -| SET TEXTSIZE | Unsupported | | -| SET TRANSACTION ISOLATION LEVEL | Supported : `READ COMMITTED`, `READ UNCOMMITTED`, `SNAPSHOT` | | -| SETUSER | Unsupported | | -| SQL graph | Unsupported | | -| SQL_VARIANT_PROPERTY | Supported : `arg2=*` | | -| STRING_AGG() WITHIN GROUP | Unsupported | | -| Scalar UDF in table DDL | Unsupported : `ALTER TABLE DEFAULT` | | -| Server role options | Unsupported : `AUTHORIZATION`, `NAME` | | -| Service Broker | Unsupported | | -| Special characters in identifier | Unsupported | | -| Special characters in parameter | Unsupported | | -| Special column names | Unsupported | | -| Syntax Issues | Unsupported | | -| T-SQL Outer Join operator | Unsupported | | -| TRIGGER_NESTLEVEL with N arguments | Supported : `0` | | -| TYPEPROPERTY | Supported : `arg2=NO_SUPPORTED_ARGUMENTS_RIGHT_NOW` | | -| Table hint | Unsupported | | -| Table value constructor | Unsupported | | -| Temporal table | Unsupported | | -| Temporary procedures | Unsupported | | -| Traceflags | Unsupported | | -| Transactions | Unsupported : `BEGIN DISTRIBUTED TRANSACTION`, `DELAYED_DURABILITY`, `MARK` | | -| Trigger options | Unsupported : `APPEND`, `ENCRYPTION`, `EXECUTE AS CALLER`, `EXECUTE AS OWNER`, `EXECUTE AS SELF`, `EXECUTE AS USER`, `EXTERNAL`, `NATIVE_COMPILATION`, `SCHEMABINDING` | | -| UPDATE | Unsupported : `OPENDATASOURCE`, `OPENQUERY`, `OPENROWSET`, `OUTPUT OUTPUT`, `WHERE CURRENT OF` | | -| UPDATE STATISTICS | Unsupported | | -| UPDATETEXT | Unsupported | | -| Unquoted string | Unsupported | | -| User options | Unsupported : `ALLOW_ENCRYPTED_VALUE_MODIFICATIONS`, `DEFAULT_LANGUAGE`, `FROM ASYMMETRIC KEY`, `FROM CERTIFICATE`, `OLD_PASSWORD`, `PASSWORD`, `WITH LOGIN`, `WITH NAME`, `WITHOUT LOGIN` | | -| Variable aggregates across rows | Unsupported | | -| Variable assignment dependency | Unsupported | | -| Variable procedure name | Unsupported | | -| View options | Unsupported : `CHECK OPTION`, `ENCRYPTION`, `VIEW_METADATA`, `WITHOUT SCHEMABINDING` | | -| WAITFOR | Unsupported | | -| WRITETEXT | Unsupported | | -| XML features | Unsupported : `EXIST`, `MODIFY`, `NODES`, `QUERY`, `SELECT FOR XML AUTO`, `SELECT FOR XML AUTO ELEMENTS`, `SELECT FOR XML EXPLICIT`, `SELECT FOR XML PATH ELEMENTS`, `SELECT FOR XML RAW ELEMENTS`, `SELECTIVE XML INDEX`, `VALUE`, `WITH XMLNAMESPACES`, `XML INDEX`, `XML SCHEMA COLLECTION`, `XML TYPE DEFINITION` | | -| expression AT TIME ZONE | Unsupported | | diff --git a/_posts/2022-05-09-babelfish-release-1-2-0.md b/_posts/2022-05-09-babelfish-release-1-2-0.md deleted file mode 100644 index b8cbc1a9..00000000 --- a/_posts/2022-05-09-babelfish-release-1-2-0.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: post -author: Simon Lightstone -authors: - - Simon Lightstone -comments: true -title: "Babelfish for PostgreSQL version 1.2.0: JSON, Rowversion, and more" -categories: -- releases ---- -The Babelfish for PostgreSQL project continues to move forward. Recently, important capabilities were added in Babelfish 1.2.0, including support for ROWVERSION, easier logins with SSMS, and better JSON support with JSON_QUERY. To review the long list of improvements, [see the release notes](https://babelfishpg.org/docs/versions/babelfish-1-2-0.html). - -Build directions for Babelfish and its prerequisites, along with Babelfish source distributions for 1.2.0 can be found in [the *babelfish-for-postgresql* repository](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/tag/BABEL_1_2_0__PG_13_6). - -Enjoy and stay tuned! diff --git a/_posts/2022-07-06-babelfish-release-2-1-0.md b/_posts/2022-07-06-babelfish-release-2-1-0.md deleted file mode 100644 index b3504031..00000000 --- a/_posts/2022-07-06-babelfish-release-2-1-0.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: post -author: Simon Lightstone -authors: - - Simon Lightstone -comments: true -title: "Babelfish 2.1.0 has been released (updated)" -categories: -- releases ---- - -Update: We recently released Babelfish 2.1.0-a to address an issue fixed in [PostgreSQL version 14.4](https://www.postgresql.org/docs/release/14.4/). - -Our users have asked us to make Babelfish easier to use, and we’ve responded with a feature-packed release. After installing 2.1.0-a, the latest stable release, you can browse database tables and column types with SQL Server Management Studio (SSMS). This release also adds support for creating roles on the TDS port with the CREATE ROLE command, and improves cross-database reference support for queries. - -We’re happy to announce that Babelfish delivers on these user requests, as well as others. As always, build directions for Babelfish and its prerequisites, along with Babelfish source distributions for 2.1.0a can be found in the [babelfish-for-postgresql repository](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/tag/BABEL_2_1_0a__PG_14_3). - -We hope you relish the benefits and improved usability of Babelfish! - -Note: In response to an issue in PostgreSQL 14.3 which can corrupt indexes, that was fixed in [PostgreSQL version 14.4](https://www.postgresql.org/docs/release/14.4/), the Babelfish team has backported the fix and released Babelfish 2.1.0-a, up from 2.1.0. For those using 2.1.0, we recommend you move to 2.1.0-a as soon as possible. - diff --git a/_posts/2022-07-28-babelfish-release-2-1-0a.md b/_posts/2022-07-28-babelfish-release-2-1-0a.md deleted file mode 100644 index 23c4dc2a..00000000 --- a/_posts/2022-07-28-babelfish-release-2-1-0a.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: post -author: Simon Lightstone -authors: - - Simon Lightstone -comments: true -title: "Babelfish 2.1.0a with community backpatch for indexing" -categories: -- releases ---- - -We’re happy to announce the release of Babelfish 2.1.0a, which includes community updates made to PostgreSQL 14.4 to patch potential index corruption introduced by the `CREATE INDEX CONCURRENTLY` / `REINDEX CONCURRENTLY` commands. You'll find the full list of improvements made in this release in the [release notes](https://babelfishpg.org/docs/versions/babelfish-2-1-0-a.html). Build directions and the Babelfish source distributions for 2.1.0a can be found in the [babelfish-for-postgresql repository](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/tag/BABEL_2_1_0a__PG_14_3). \ No newline at end of file diff --git a/_posts/2022-11-15-babelfish-release-2-2-0.md b/_posts/2022-11-15-babelfish-release-2-2-0.md deleted file mode 100644 index 6e146051..00000000 --- a/_posts/2022-11-15-babelfish-release-2-2-0.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: post -author: Bill Ramos -authors: - - Bill Ramos -comments: true -title: "Babelfish 2.2.0 is available" -categories: -- releases ---- - -We’re happy to announce the release of Babelfish 2.2.0, which includes community updates made to PostgreSQL 14.5. This release includes support for a number of features requested by our users: - -- Support for old-style function calls with `::` preceding the function name. -- Support for data migration using the BCP client and the `bcp` utility. -- Support for cross-database stored procedure execution. -- Support for `CROSS APPLY` and `OUTER APPLY` (lateral join). -- Support for additional catalog objects. - -You'll find the full list of improvements made in this release in the [release notes](https://babelfishpg.org/docs/versions/babelfish-2-2-0.html). Build directions and the Babelfish source distributions for 2.2.0 can be found in the [babelfish-for-postgresql repository](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/releases/tag/BABEL_2_2_0__PG_14_5). \ No newline at end of file diff --git a/_usage/migration.md b/_usage/migration.md index 1412db5d..c061e868 100644 --- a/_usage/migration.md +++ b/_usage/migration.md @@ -56,10 +56,7 @@ permissions. These are disabled by default in SSMS. ### Deploying the schema and migrating the data Babelfish implements most T-SQL statements, so it should be relatively easy to -port the generated DDL to Babelfish. If you are facing errors or problems, -we recommend that you check out our -[discussion about differences in functionality](/docs/usage/limitations-of-babelfish) -and adjust your DDL code if necessary. +port the generated DDL to Babelfish. Run the DDL on your new Babelfish server to recreate your schema on Babelfish, either with sqlcmd or with SSMS. @@ -72,9 +69,7 @@ Once the schema and data have been migrated successfully, you can reconfigure yo client applications to connect to the Babelfish instance instead of to SQL Server. Point your applications to the new data source, and launch your tests. -To a client, Babelfish is expected to look just like a normal SQL Server. Unless -you hit a [limitation](/docs/usage/limitations-of-babelfish), your apps should work -normally. However, we recommend thorough testing. +To a client, Babelfish is expected to look just like a normal SQL Server. Your apps should work normally. However, we recommend thorough testing. ### Moving to production diff --git a/_usage/security.md b/_usage/security.md index 70c9aad9..f896b165 100644 --- a/_usage/security.md +++ b/_usage/security.md @@ -52,6 +52,4 @@ Babelfish also creates a *dbname*_db_owner and a