Babelfish 1.1.1
- Babelfish Version: 1.1.1
- PostgreSQL Server Version: 13.5
- Download source distributions:
- Babelfish Compass
- Date: November 4, 2022
Overview
This version of Babelfish (1.1.1) contains all of the features and limitations of Babelfish version 1.1.0, as well as a security enhancement that fixes critical issues in Babelfish due to incorrect handling of user input for some application features.
The above items and other new features 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.1 is compatible with the latest major version; a dump/restore is not required to upgrade to the newer version. To upgrade:
-
Install the new binaries; for details, see [Compiling Babelfish From Source] (https://babelfishpg.org/docs/installation/compiling-babelfish-from-source/).
-
Start the new server.
-
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:
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:
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
....
Use the following command to check the version of Babelfish that you have installed:
babelfish_db[124386]# SELECT sys.serverProperty('BabelfishVersion') AS BabelfishVersion;
babelfishversion
------------------
1.1.1
(1 row)
Changes
- Fix critical issue due to incorrect handling of user input for some application features (Sharu Goel)
- Add syntax support for
'ALIAS' = <expression>
in theCREATE FUNCTION
statement, sub-queries and CTE (Jungkook Lee) - Support omitted database/schema in object name (for example,
..objname
) inDDL
andEXECUTE
(Sangil Song) - Support a leading dot in a qualified column name (
.<table>.<column>
) (Sangil Song) - Support
FOREIGN KEY REFERENCES
table without column list (Zheng Li) - Support
CREATE TRIGGER
andDROP 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 is0
when1
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
, andimage
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 NULLdate
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.
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.
Babelfish for PostgreSQL is open source software that uses the Apache License version 2 (ALv2) and PostgreSQL License. ALv2 grants you well-understood usage rights; you can use, modify, extend, embed, monetize, resell, and offer Babelfish for PostgreSQL as part of your products and services. The source for the entire project is available on GitHub and you’re welcome to build from source for customized deployments.
Version: 1.1.1Release Date: Nov 04, 2022