Skip to content

Support all the different ways to specify character types #6650

@nicktobey

Description

@nicktobey

In MySQL, the following are all equivalent.

CHARACTER VARYING(10)
CHAR VARYING(10)
VARCHAR(10)

The following are also all equivalent.

CHARACTER VARYING(10) CHARACTER SET utf8
CHAR VARYING(10) CHARACTER SET utf8
VARCHAR(10) CHARACTER SET utf8
NATIONAL CHARACTER VARYING(10)
NATIONAL CHAR VARYING(10)
NATIONAL VARCHAR(10)
NCHAR VARYING(10)
NCHAR VARCHAR(10)
NVARCHAR(10)

However, some of these forms are not parsed by Dolt:

Expression Supported in Dolt
CHARACTER VARYING(10)
CHAR VARYING(10)
VARCHAR(10)
CHARACTER VARYING(10) CHARACTER SET utf8
CHAR VARYING(10) CHARACTER SET utf8
VARCHAR(10) CHARACTER SET utf8
NATIONAL CHARACTER VARYING(10)
NATIONAL CHAR VARYING(10)
NATIONAL VARCHAR(10)
NCHAR VARYING(10)
NCHAR VARCHAR(10)
NVARCHAR(10)

Of the 4859 tests in sqllogictest that are still failing on dolt, 101 are failing because of NCHAR VARYING(10).

We can create additional tests to verify the other forms as well.

Metadata

Metadata

Assignees

Labels

correctnessWe don't return the same result as MySQLsqlIssue with SQL

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions