Jerome Isaac Haltom created CALCITE-7756:
--------------------------------------------
Summary: Invalid unparse for VARCHAR without precision in
MssqlSqlDialect
Key: CALCITE-7756
URL: https://issues.apache.org/jira/browse/CALCITE-7756
Project: Calcite
Issue Type: Bug
Components: core
Reporter: Jerome Isaac Haltom
{{CAST(x AS VARCHAR)}} with no precision unparses as a bare {{VARCHAR}} for SQL
Server. A bare {{varchar}} is 30 characters in a CAST, so the value gets cut to
30.
{code:sql}
-- g is a uniqueidentifier, n is an nvarchar(200) holding 40 characters
SELECT CAST(g AS VARCHAR) FROM t
-- Msg 8170: Insufficient result space to convert uniqueidentifier value to char
SELECT LEN(CAST(n AS VARCHAR)) FROM t
-- 30, no error
{code}
SQL Server spells unbounded {{varchar(max)}}. I think that is what
{{MssqlSqlDialect#getCastSpec}} should write when the precision is unspecified.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)