• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

babelfish-for-postgresql / babelfish_extensions / 25799300680 / 1
77%
BABEL_6_X_DEV: 77%

Build:
DEFAULT BRANCH: BABEL_6_X_DEV
Ran 13 May 2026 01:12PM UTC
Files 122
Run time 6s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 May 2026 12:32PM UTC coverage: 77.207% (+0.01%) from 77.196%
25799300680.1

push

github

web-flow
Fix sql_variant type resolution in CASE, UNION, INTERSECT, EXCEPT, VALUES, and COALESCE expressions (#4795) (#4808)

Expressions fail when sql_variant is mixed with other types in type-resolution contexts:

-- CASE: fails
SELECT CASE WHEN 1 = 1 THEN SERVERPROPERTY('IsFullTextInstalled') ELSE CAST(0 AS bit) END;
-- Error: CASE/WHEN could not convert type sql_variant to "bit"
-- COALESCE: fails
SELECT COALESCE(CAST(NULL AS sql_variant), CAST('hello' AS varchar(50)));
-- Error: COALESCE could not convert type sql_variant to "varchar"
The same class of issue affects UNION, INTERSECT, EXCEPT, and VALUES when sql_variant is mixed with non-char types.

Fix
select_common_type_setop - Added a pre-scan before the main loop: if any expression is sql_variant, return it immediately as the common type. This applies to all contexts routed through this function (CASE, UNION, INTERSECT, EXCEPT, VALUES). sql_variant has the highest TSQL precedence (0) and can hold any type, so it always wins.

select_common_type_for_coalesce_function - In the NULL-skipping logic, if the NULL arg's type is sql_variant, still consider it for precedence before continuing.

Both fixes use is_tsql_sqlvariant_datatype to narrowly target only sql_variant. No other types or code paths are affected.

select_common_type_for_coalesce_function also includes a minor cleanup: the UNKNOWNOID (string literal) handling was simplified by replacing ptype in-place and falling through to the shared precedence comparison, instead of duplicating the comparison inline with a separate continue. This is semantically equivalent and notstrictly required for the sql_variant fix.

Tasks:
BABEL-6402
BABEL-6427

cherry-picked from babelfish-for-postgresql#4706

signed-off-by: Mohit Raj mrxmohit@amazon.com

53410 of 69178 relevant lines covered (77.21%)

651641.09 hits per line

Source Files on job 25799300680.1
  • Tree
  • List 122
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25799300680
  • d331c18f on github
  • Prev Job for on BABEL_6_X_DEV (#25743099516.1)
  • Next Job for on BABEL_6_X_DEV (#25815795942.1)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc