Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] SQLServer Validation fail jsqlparser Version :4.9 #2020

Open
yanceysong opened this issue Jun 12, 2024 · 1 comment
Open

[BUG] SQLServer Validation fail jsqlparser Version :4.9 #2020

yanceysong opened this issue Jun 12, 2024 · 1 comment
Labels
DDL DDL statement related MS SQL Server MS SQL Server specific feature Sponsor needed

Comments

@yanceysong
Copy link

Some keywords of SQLServer are not recognized

SQL demo 1
CREATE TABLE dbo.virtual_production_record(
id bigint NOT NULL,
machine_group_code nvarchar(255) NOT NULL,
machine_code nvarchar(255) NOT NULL,
virtual_count int NOT NULL,
start_date varchar(50) NOT NULL,
end_date varchar(50) NOT NULL,
memo nvarchar(255) NOT NULL,
creator nvarchar(50) NOT NULL,
create_date varchar(50) NOT NULL,
editor nvarchar(50) NOT NULL,
edit_date varchar(50) NOT NULL,
_d int NOT NULL,
CONSTRAINT PK_virtual_production_record PRIMARY KEY CLUSTERED
(
id ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON PRIMARY
) ON PRIMARY

He was right, but made an error “Cannot parse statement: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "CLUSTERED" <S_IDENTIFIER>
at line 14, column 54.

Was expecting:

"("”

SQL demo 2
ALTER TABLE dbo.virtual_production_record ADD CONSTRAINT DF_virtual_production_record__d DEFAULT ((0)) FOR _d

He was right, but made an error"
Cannot parse statement: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "DEFAULT" "DEFAULT"
at line 1, column 92.

Was expecting one of:

"CHECK"
"FOREIGN"
"KEY"
"PRIMARY"
"UNIQUE"
@manticore-projects
Copy link
Contributor

Greetings.

There are a few unsupported items here:

CREATE TABLE dbo.virtual_production_record (
    id                       BIGINT          NOT NULL
    , machine_group_code     NVARCHAR (255)  NOT NULL
    , machine_code           NVARCHAR (255)  NOT NULL
    , virtual_count          INT             NOT NULL
    , start_date             VARCHAR (50)    NOT NULL
    , end_date               VARCHAR (50)    NOT NULL
    , memo                   NVARCHAR (255)  NOT NULL
    , creator                NVARCHAR (50)   NOT NULL
    , create_date            VARCHAR (50)    NOT NULL
    , editor                 NVARCHAR (50)   NOT NULL
    , edit_date              VARCHAR (50)    NOT NULL
    , _d                     INT             NOT NULL
    , CONSTRAINT pk_virtual_production_record
        PRIMARY KEY /*CLUSTERED*/ ( id ) 
            WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS='ON',ALLOW_PAGE_LOCKS='ON',OPTIMIZE_FOR_SEQUENTIAL_KEY=OFF) ON PRIMARY
) ON PRIMARY
;

In general I myself have very little interest in DDL statements for specific RDBMS (unless its Oracle or Postgres or H2) and you will need to provide or sponsor an implementation if you want to make this work.

@manticore-projects manticore-projects added DDL DDL statement related MS SQL Server MS SQL Server specific feature Sponsor needed labels Jun 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DDL DDL statement related MS SQL Server MS SQL Server specific feature Sponsor needed
Projects
None yet
Development

No branches or pull requests

2 participants