From 8f6d910ccd8627df06cae3241375c707d7e8405f Mon Sep 17 00:00:00 2001 From: minleejae Date: Fri, 11 Sep 2026 12:46:33 +0900 Subject: [PATCH] Support SQL Server constraint clustering with explicit dialect --- .../statement/create/table/Index.java | 26 +++- .../create/table/NamedConstraint.java | 7 + .../net/sf/jsqlparser/parser/JSqlParserCC.jjt | 30 +++- src/site/sphinx/usage.rst | 7 +- .../SqlServerConstraintClusteringTest.java | 130 ++++++++++++++++++ 5 files changed, 195 insertions(+), 5 deletions(-) create mode 100644 src/test/java/net/sf/jsqlparser/statement/create/SqlServerConstraintClusteringTest.java diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java b/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java index 0aa9bd896..d5a4f4b05 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java @@ -27,6 +27,10 @@ public enum Kind { PRIMARY_KEY, UNIQUE, INDEX, FULLTEXT, SPATIAL, FOREIGN_KEY, CHECK, EXCLUDE, DEFAULT, OTHER } + public enum Clustering { + CLUSTERED, NONCLUSTERED + } + private final List name = new ArrayList<>(); private String type; private String using; @@ -35,12 +39,31 @@ public enum Kind { private String commentText; private String indexKeyword; private Kind kind = Kind.OTHER; + private Clustering clustering; private Boolean nullsDistinct; private List includeColumns; private List