Skip to content

Commit 4f38853

Browse files
authored
v.2024-04 (#122)
1 parent de00653 commit 4f38853

File tree

7 files changed

+553
-241
lines changed

7 files changed

+553
-241
lines changed

BabelfishCompassUser.Optimistic.cfg

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -816,6 +816,7 @@ default_classification=Ignored
816816

817817

818818
[Extended property type]
819+
default_classification=Ignored
819820

820821

821822
[Datetime converted to (VAR)BINARY]
@@ -841,7 +842,11 @@ default_classification=Ignored
841842

842843
[DROP SENSITIVITY CLASSIFICATION]
843844

845+
844846
[FULLTEXT INDEX]
845847

846848

847-
[FULLTEXT CONTAINS]
849+
[FULLTEXT CONTAINS]
850+
851+
852+
# end

BabelfishCompass_UserGuide.docx

-3.48 KB
Binary file not shown.

BabelfishCompass_UserGuide.pdf

68 Bytes
Binary file not shown.

BabelfishFeatures.cfg

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
# this must always be the first section:
1616
[Babelfish for T-SQL]
1717
# only Babelfish version numbers listed here can be referenced the rules below:
18-
valid_versions=1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.5.0, 1.6.0, 2.1.0, 2.2.0, 2.3.0, 2.4.0, 2.5.0, 3.1.0, 3.2.0, 3.3.0, 3.4.0, 4.0.0
18+
valid_versions=1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.5.0, 1.6.0, 2.1.0, 2.2.0, 2.3.0, 2.4.0, 2.5.0, 3.1.0, 3.2.0, 3.3.0, 3.4.0, 3.5.0, 4.0.0, 4.1.0
1919
# x.y.1/2/3 etc are bugfix releases for x.y.0 (no new T-SQL features supported), and are typically based on a newer PG release
2020
file_format=2 # version number for format of this .cfg file. This is not expected to change much
21-
file_timestamp=Feb-2024 # identifies the version of this file, together with the latest Babelfish version supported
21+
file_timestamp=Apr-2024 # identifies the version of this file, together with the latest Babelfish version supported
2222
# format: dd-MON-yyyy or MON-yyyy
2323

2424
# Basic principle:
@@ -141,6 +141,8 @@ list=HIERARCHYID,GEOGRAPHY,GEOMETRY,TIMESTAMP,ROWVERSION,CURSOR,XML,XML(xmlschem
141141
# all other datatypes (not mentioned here) are supported
142142
supported-1.0.0=XML,CURSOR
143143
supported-1.2.0=TIMESTAMP,ROWVERSION
144+
supported-3.5.0-3.*=GEOGRAPHY,GEOMETRY
145+
supported-4.1.0=GEOGRAPHY,GEOMETRY
144146
report_group-HIERARCHYID=HIERARCHYID
145147
report_group-XML=XML,XML(xmlschema),XML COLUMN_SET FOR ALL_SPARSE_COLUMNS
146148
report_group-Cursors=CURSOR
@@ -203,6 +205,8 @@ complexity_score-MEDIUM=EXIST,VALUE,QUERY,NODES
203205
rule=for_clause
204206
list=SELECT FOR JSON AUTO,SELECT FOR JSON AUTO ROOT,SELECT FOR JSON AUTO INCLUDE_NULL_VALUES,SELECT FOR JSON AUTO WITHOUT_ARRAY_WRAPPER,SELECT FOR JSON PATH,SELECT FOR JSON PATH ROOT,SELECT FOR JSON PATH INCLUDE_NULL_VALUES,SELECT FOR JSON PATH WITHOUT_ARRAY_WRAPPER
205207
supported-2.3.0=SELECT FOR JSON PATH,SELECT FOR JSON PATH ROOT,SELECT FOR JSON PATH INCLUDE_NULL_VALUES,SELECT FOR JSON PATH WITHOUT_ARRAY_WRAPPER
208+
supported-3.5.0-3.*=SELECT FOR JSON AUTO,SELECT FOR JSON AUTO ROOT,SELECT FOR JSON AUTO INCLUDE_NULL_VALUES,SELECT FOR JSON AUTO WITHOUT_ARRAY_WRAPPER
209+
supported-4.1.0=SELECT FOR JSON AUTO,SELECT FOR JSON AUTO ROOT,SELECT FOR JSON AUTO INCLUDE_NULL_VALUES,SELECT FOR JSON AUTO WITHOUT_ARRAY_WRAPPER
206210
report_group=JSON
207211
complexity_score=HIGH
208212

@@ -214,6 +218,8 @@ complexity_score=HIGH
214218

215219
[Geospatial features]
216220
rule=function_call
221+
supported-3.5.0-3.*=STX,STY,LAT,LONG,STASTEXT,STASBINARY,STDISTANCE,STPOINTFROMTEXT
222+
supported-4.1.0=STX,STY,LAT,LONG,STASTEXT,STASBINARY,STDISTANCE,STPOINTFROMTEXT
217223
report_group=Geospatial
218224
complexity_score=HIGH
219225

@@ -247,6 +253,7 @@ supported-3.1.0=OPENQUERY
247253
supported-3.2.0=CONTEXT_INFO,ROWCOUNT_BIG,DATABASE_PRINCIPAL_ID,TIMEFROMPARTS,DATETIME2FROMPARTS
248254
supported-3.3.0=PARSENAME,EOMONTH,HOST_ID,SMALLDATETIMEFROMPARTS
249255
supported-3.4.0=SWITCHOFFSET,TODATETIMEOFFSET,COL_NAME,COL_LENGTH,DATETRUNC,IDENTITY,TYPE_ID,TYPE_NAME
256+
reviewmanually-3.5.0-3.*=CONTAINS
250257
reviewmanually-4.0.0=CONTAINS
251258
default_classification-ReviewSemantics=NEWSEQUENTIALID
252259
report_group-Filestream=FILETABLEROOTPATH,GETFILENAMESPACEPATH,GETPATHLOCATOR,PATHNAME
@@ -521,6 +528,8 @@ complexity_score=LOW
521528
rule=drop_index
522529
list=INDEX ON TABLE,INDEX ON SCHEMA.TABLE,TABLE.INDEX,SCHEMA.TABLE.INDEX
523530
supported-1.0.0=INDEX ON TABLE
531+
supported-3.5.0-3.*=INDEX ON SCHEMA.TABLE,TABLE.INDEX,SCHEMA.TABLE.INDEX
532+
supported-4.1.0=INDEX ON SCHEMA.TABLE,TABLE.INDEX,SCHEMA.TABLE.INDEX
524533
report_group=DDL
525534
complexity_score=LOW
526535

@@ -614,6 +623,7 @@ complexity_score=HIGH
614623
rule=create_or_alter_dml_trigger
615624
list=TABLE,VIEW
616625
supported-1.2.0=TABLE
626+
supported-3.5.0-3.*=VIEW
617627
supported-4.0.0=VIEW
618628
report_group=Triggers
619629
complexity_score=HIGH
@@ -695,6 +705,8 @@ complexity_score-HIGH=EXTERNAL,CLR,ATOMIC NATIVELY COMPILED,ENCRYPTION
695705
[Missing AS keyword in scalar CREATE FUNCTION]
696706
rule=create_or_alter_function
697707
list=USER-DEFINED DATATYPE,BIT,DATETIME,DATETIME2,SMALLDATETIME,DATETIMEOFFSET,TIMESTAMP,ROWVERSION,UNIQUEIDENTIFIER,SQL_VARIANT,TINYINT,CHAR,VARCHAR,NCHAR,NVARCHAR,BINARY,VARBINARY
708+
supported-3.5.0-3.*=*
709+
supported-4.1.0=*
698710
report_group=Functions
699711
complexity_score=LOW
700712

@@ -1020,6 +1032,8 @@ supported-3.1.0=linked_logins,servers
10201032
supported-3.2.0=sysusers,syslogins
10211033
supported-3.3.0=extended_properties
10221034
supported-3.4.0=database_permissions,server_role_members
1035+
supported-3.5.0-3.*=availability_groups,availability_replicas
1036+
supported-4.1.0=availability_groups,availability_replicas
10231037
10241038
[INFORMATION_SCHEMA]
10251039
rule=full_object_name
@@ -1045,6 +1059,8 @@ supported-3.1.0=sp_linkedservers,sp_addlinkedserver,sp_dropserver,sp_addlinkedsr
10451059
supported-3.2.0=sp_serveroption
10461060
supported-3.3.0=sp_testlinkedserver,sp_enum_oledb_providers,sp_addextendedproperty,sp_updateextendedproperty,sp_dropextendedproperty
10471061
supported-3.4.0=sp_who,sp_changedbowner
1062+
supported-3.5.0-3.*=sp_procedure_params_100_managed
1063+
supported-4.1.0=sp_procedure_params_100_managed
10481064
default_classification-ReviewManually=sp_db_vardecimal_storage_format,sp_fulltext_database
10491065
report_group-XML=sp_xml_preparedocument,sp_xml_removedocument,sp_xml_schema_rowset,sp_xml_schema_rowset2
10501066
report_group-Distributed Transactions(XA)=sp_sqljdbc_xa_install,sp_sqljdbc_xa_uninstall,sp_sqljdbc_xa_internal_remove,sp_xa_commit,sp_xa_end,sp_xa_forget,sp_xa_forget_ex,sp_xa_init,sp_xa_init_ex,sp_xa_prepare,sp_xa_prepare_ex,sp_xa_recover,sp_xa_rollback,sp_xa_rollback_ex,sp_xa_start,xp_sqljdbc_xa_commit,xp_sqljdbc_xa_end,xp_sqljdbc_xa_forget,xp_sqljdbc_xa_forget_ex,xp_sqljdbc_xa_init,xp_sqljdbc_xa_init_ex,xp_sqljdbc_xa_prepare,xp_sqljdbc_xa_prepare_ex,xp_sqljdbc_xa_recover,xp_sqljdbc_xa_rollback,xp_sqljdbc_xa_rollback_ex,xp_sqljdbc_xa_start
@@ -1162,18 +1178,24 @@ complexity_score=MEDIUM
11621178
[Comparison operator]
11631179
rule=comparison_operator
11641180
list=!>,!<
1181+
supported-3.5.0-3.*=*
1182+
supported-4.1.0=*
11651183
report_group=Operators
11661184
complexity_score=LOW
11671185
11681186
[Compound operator containing whitespace]
11691187
rule=comparison_operator
11701188
list=<=,>=,<>,!=,!>,!<,*=,=*
1189+
supported-3.5.0-3.*=*
1190+
supported-4.1.0=*
11711191
report_group=Operators
11721192
complexity_score=LOW
11731193
11741194
[PG operator requiring whitespace]
11751195
rule=comparison_operator
11761196
list==@@,>@@,<@@
1197+
supported-3.5.0-3.*=*
1198+
supported-4.1.0=*
11771199
report_group=Operators
11781200
complexity_score=LOW
11791201
@@ -1529,6 +1551,7 @@ list=SEQUENCE,SYNONYM,QUEUE,ASSEMBLY,AGGREGATE,APPLICATION ROLE,ASYMMETRIC KEY,C
15291551
supported-1.0.0=SEQUENCE,LOGIN
15301552
supported-1.2.0=USER
15311553
supported-2.1.0=ROLE
1554+
supported-3.5.0-3.*=FULLTEXT INDEX
15321555
supported-4.0.0=FULLTEXT INDEX
15331556
report_group-DDL=SEQUENCE,SYNONYM,DEFAULT,RULE
15341557
report_group-Users=LOGIN,SERVER ROLE,ROLE
@@ -1569,9 +1592,11 @@ complexity_score=HIGH
15691592
15701593
[Syntax Issues]
15711594
rule=update_statement,delete_statement
1572-
list=UPDATE TABVAR VIA CORRELATION IN FUNCTION,DELETE TABVAR VIA CORRELATION IN FUNCTION,UPDATE CORRELATION SET UNQUALIFIED COLUMN,UPDATE QUALIFIED SET COLUMN,NO COMMA COLUMN TABCONSTRAINT
1595+
list=UPDATE TABVAR VIA CORRELATION IN FUNCTION,DELETE TABVAR VIA CORRELATION IN FUNCTION,UPDATE CORRELATION SET UNQUALIFIED COLUMN,UPDATE QUALIFIED SET COLUMN,NO COMMA COLUMN TABCONSTRAINT,STRING_AGG() WORKAROUND WITH FOR XML PATH
15731596
supported-2.4.0=UPDATE CORRELATION SET UNQUALIFIED COLUMN,UPDATE QUALIFIED SET COLUMN
15741597
supported-3.2.0=UPDATE TABVAR VIA CORRELATION IN FUNCTION,DELETE TABVAR VIA CORRELATION IN FUNCTION
1598+
supported-3.5.0-3.*=NO COMMA COLUMN TABCONSTRAINT
1599+
supported-4.1.0=NO COMMA COLUMN TABCONSTRAINT
15751600
report_group=Syntax Issues
15761601
15771602
[Dynamic SQL]
@@ -1593,6 +1618,7 @@ default_classification=ReviewManually
15931618
[FULLTEXT INDEX]
15941619
rule=ddl_statement
15951620
list=CREATE,DROP,ALTER
1621+
supported-3.5.0-3.*=CREATE,DROP
15961622
supported-4.0.0=CREATE,DROP
15971623
15981624
[FULLTEXT CONTAINS]
@@ -1601,5 +1627,5 @@ list=FORMSOF,ISABOUT,NEAR,INFLECTIONAL,THESAURUS
16011627
complexity_score=HIGH
16021628
16031629
#-----------------------------------------------------------------------------------
1604-
#file checksum=6b153fb4
1630+
#file checksum=d21da65a
16051631
#--- end ---------------------------------------------------------------------------

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11

2+
# 2024-04
3+
- Added support for Babelfish v.4.1.0 and v.3.5.0.
4+
- Detect and rewrite often-seen FOR XML PATH workaround for STRING_AGG().
5+
- Various small enhancements.
6+
27
# 2024-02
38
- Updated support for Babelfish v.4.0.0.
49

0 commit comments

Comments
 (0)