[
https://issues.apache.org/jira/browse/CALCITE-7756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jerome Isaac Haltom updated CALCITE-7756:
-----------------------------------------
Affects Version/s: 1.42.0
> 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
> Affects Versions: 1.42.0
> Reporter: Jerome Isaac Haltom
> Priority: Major
>
> {{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)