Using Babelfish product version parameter - Amazon Aurora

Using Babelfish product version parameter

A new Grand Unified Configuration (GUC) parameter called babelfishpg_tds.product_version is introduced from Babelfish 2.4.0 and 3.1.0 versions. This parameter allows you to set the SQL Server product version number as the output of Babelfish.

The parameter is a 4-part version ID string, and each part should be separated by “.”.

Syntax
Major.Minor.Build.Revision
  • Major Version: A number between 11 and 16.

  • Minor Version: A number between 0 and 255.

  • Build Version: A number between 0 and 65535.

  • Revision: 0 and any positive number.

Configuring Babelfish product version parameter

You must use the cluster parameter group to set the babelfishpg_tds.product_version parameter in the console. For more information on how to modify the DB cluster parameter, see Modifying parameters in a DB cluster parameter group.

When you set the product version parameter to an invalid value, the change will not take effect. Although the console might show you the new value, the parameter retains the previous value. Check the engine log file for details about the error messages.

For Linux, macOS, or Unix:

aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name mydbparametergroup \ --parameters "ParameterName=babelfishpg_tds.product_version,ParameterValue=15.2.4000.1,ApplyMethod=immediate"

For Windows:

aws rds modify-db-cluster-parameter-group ^ --db-cluster-parameter-group-name mydbparametergroup ^ --parameters "ParameterName=babelfishpg_tds.product_version,ParameterValue=15.2.4000.1,ApplyMethod=immediate"

Affected queries and parameter

Query/Parameter Result Effective time

SELECT @@VERSION

Returns user defined SQL Server version (babelfishpg_tsql.version value = Default)

Immediately

SELECT SERVERPROPERTY('ProductVersion')

Returns user defined SQL Server version

Immediately

SELECT SERVERPROPERTY('ProductMajorVersion')

Returns Major Version of the user defined SQL Server version

Immediately

VERSION tokens in PRELOGIN Response Message

Server returns PRELOGIN messages with user defined SQL Server version

Takes effect when a user creates a new session

SQLServerVersion in LoginAck when using JDBC

DatabaseMetaData.getDatabaseProductVersion() returns user defined SQL Server version

Takes effect when a user creates a new session

Interface with babelfishpg_tsql.version parameter

You can set the output of the @@VERSION using the parameters babelfishpg_tsql.version and babelfishpg_tds.product_version. The following examples show how these two parameters interface.

  • When babelfishpg_tsql.version parameter is "default" and babelfishpg_tds.product_version is 15.0.2000.8.

    • Output of @@version – 15.0.2000.8.

  • When babelfishpg_tsql.version parameter is set to 13.0.2000.8 and babelfishpg_tds.product_version parameter is 15.0.2000.8.

    • Output of @@version – 13.0.2000.8.