Skip to content

[BUG] JSQLParser Version 5.0 : Failure to parse CHARACTER SET #2091

Open
@micheltuu

Description

@micheltuu

Failing SQL Feature:

Starting with JSQLParser 5.0, CHARACTER SET is not properly parsed and result in an error

SQL Example:

E.g. this query

ALTER TABLE `jobs`.`runs` MODIFY COLUMN quartzId varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
MODIFY COLUMN triggerInfo text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
MODIFY COLUMN lifeCycleState varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
MODIFY COLUMN userVisibleState varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
MODIFY COLUMN sparkConf text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
MODIFY COLUMN clusterId varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
MODIFY COLUMN sparkVersion varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
MODIFY COLUMN runOutputPathName varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
MODIFY COLUMN nodeTypeId varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
MODIFY COLUMN actionIds varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
MODIFY COLUMN miscMessage varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
MODIFY COLUMN thinStats longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

results in

net.sf.jsqlparser.JSQLParserException: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "SET" "SET"
    at line 2, column 42.

while it works fine with JSQLParser 4.9

Software Information:

JSqlParser version 5.0
Mysql 8

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions