[
https://issues.apache.org/jira/browse/CALCITE-1684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15902326#comment-15902326
]
Julian Hyde edited comment on CALCITE-1684 at 3/9/17 2:01 AM:
--------------------------------------------------------------
I basically agree. I would like to VARCHAR and VARBINARY of unbounded length,
similar to the "String" or "Text" types in some databases. I would store a
precision of -1, and print the type as "VARCHAR(\*)" or something. I don't want
anyone to think that you can store a string of length 2^31-1 but not a string
of length 2^31, because that's not true.
was (Author: julianhyde):
I basically agree. I would like to VARCHAR and VARBINARY of unbounded length,
similar to the "String" or "Text" types in some databases. I would store a
precision of -1, and print the type as "VARCHAR(*)" or something. I don't want
anyone to think that you can store a string of length 2^31-1 but not a string
of length 2^31, because that's not true.
> Set the precision for VARCHAR and VARBINARY to the maximum value when not
> specified
> -----------------------------------------------------------------------------------
>
> Key: CALCITE-1684
> URL: https://issues.apache.org/jira/browse/CALCITE-1684
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.11.0
> Reporter: Kevin Liew
> Assignee: Julian Hyde
> Priority: Minor
>
> The behavior for Calcite (and SQL Server) is to set {{VARCHAR}} precision to
> {{1}} when not specified whereas Phoenix sets the max integer value of
> {{2147483647}}.
> It doesn't really make sense to create a {{VARCHAR}} for a max length of
> {{1}} (it takes more bytes to store the length of each row than the actual
> value) and it shouldn't be the default behavior. I think we should adopt the
> Phoenix behavior. Do we need to make this configurable via SqlConformance or
> other?
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)