Skip to content

Commit 1008ebc

Browse files
committed
1 parent 17e2633 commit 1008ebc

File tree

4 files changed

+42
-0
lines changed

4 files changed

+42
-0
lines changed

src/main/java/net/sf/jsqlparser/parser/feature/Feature.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,12 @@ public enum Feature {
505505
* @see CreateSequence
506506
*/
507507
createSequence,
508+
/**
509+
* SQL "CREATE SYNONYM" statement is allowed
510+
*
511+
* @see CreateSynonym
512+
*/
513+
createSynonym,
508514
/**
509515
* SQL "CREATE TRIGGER" statement is allowed
510516
*/

src/main/java/net/sf/jsqlparser/util/validation/metadata/NamedObject.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public enum NamedObject {
3838
* a name constisting of max. 3 identifiers, i.e. [catalog].[schema].[sequence]
3939
*/
4040
sequence,
41+
synonym,
4142
procedure,
4243
user,
4344
role,
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*
2+
* #%L
3+
* JSQLParser library
4+
* %%
5+
* Copyright (C) 2004 - 2020 JSQLParser
6+
* %%
7+
* Dual licensed under GNU LGPL 2.1 or Apache License 2.0
8+
* #L%
9+
*/
10+
package net.sf.jsqlparser.util.validation.validator;
11+
12+
import net.sf.jsqlparser.parser.feature.Feature;
13+
import net.sf.jsqlparser.statement.create.synonym.CreateSynonym;
14+
import net.sf.jsqlparser.util.validation.ValidationCapability;
15+
import net.sf.jsqlparser.util.validation.metadata.NamedObject;
16+
17+
/**
18+
* @author gitmotte
19+
*/
20+
public class CreateSynonymValidator extends AbstractValidator<CreateSynonym> {
21+
22+
@Override
23+
public void validate(CreateSynonym statement) {
24+
for (ValidationCapability c : getCapabilities()) {
25+
validateFeature(Feature.createSynonym);
26+
validateName(c, NamedObject.synonym, statement.getSynonym().getFullyQualifiedName(), false);
27+
}
28+
}
29+
}

src/main/java/net/sf/jsqlparser/util/validation/validator/StatementValidator.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import net.sf.jsqlparser.statement.create.procedure.CreateProcedure;
3232
import net.sf.jsqlparser.statement.create.schema.CreateSchema;
3333
import net.sf.jsqlparser.statement.create.sequence.CreateSequence;
34+
import net.sf.jsqlparser.statement.create.synonym.CreateSynonym;
3435
import net.sf.jsqlparser.statement.create.table.CreateTable;
3536
import net.sf.jsqlparser.statement.create.view.AlterView;
3637
import net.sf.jsqlparser.statement.create.view.CreateView;
@@ -248,4 +249,9 @@ public void validate(Statement statement) {
248249
statement.accept(this);
249250
}
250251

252+
@Override
253+
public void visit(CreateSynonym createSynonym) {
254+
getValidator(CreateSynonymValidator.class).validate(createSynonym);
255+
}
256+
251257
}

0 commit comments

Comments
 (0)