Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .codacy.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
engines:
tsqllint:
exclude_paths:
# These fixtures use PostgreSQL grammar, not Transact-SQL.
- "src/test/resources/postgresql/**"
exclude_paths:
- "site/**"
Original file line number Diff line number Diff line change
Expand Up @@ -641,7 +641,7 @@ public enum Feature {
/**
* @see Grant
*/
grant,
grant, revoke, createRole, alterRole, alterDefaultPrivileges,
/**
* @see Function
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
*/
package net.sf.jsqlparser.statement;

import net.sf.jsqlparser.statement.role.CreateRole;
import net.sf.jsqlparser.statement.role.AlterRole;
import net.sf.jsqlparser.statement.grant.Revoke;
import net.sf.jsqlparser.statement.grant.AlterDefaultPrivileges;
import net.sf.jsqlparser.statement.create.trigger.CreateTrigger;
import net.sf.jsqlparser.statement.create.type.CreateType;
import net.sf.jsqlparser.statement.alter.AlterType;
import net.sf.jsqlparser.statement.create.domain.CreateDomain;
Expand Down Expand Up @@ -854,6 +859,31 @@ public <S> Void visit(TableFunction tableFunction, S context) {
}
}

@Override
public <S> Void visit(CreateRole statement, S context) {
return schemaOnly();
}

@Override
public <S> Void visit(AlterRole statement, S context) {
return schemaOnly();
}

@Override
public <S> Void visit(Revoke statement, S context) {
return schemaOnly();
}

@Override
public <S> Void visit(AlterDefaultPrivileges statement, S context) {
return schemaOnly();
}

@Override
public <S> Void visit(CreateTrigger statement, S context) {
return schemaOnly();
}

@Override
public <S> Void visit(CreateType statement, S context) {
analysis.claimTopLevel();
Expand Down
37 changes: 37 additions & 0 deletions src/main/java/net/sf/jsqlparser/statement/StatementVisitor.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
*/
package net.sf.jsqlparser.statement;

import net.sf.jsqlparser.statement.role.CreateRole;
import net.sf.jsqlparser.statement.role.AlterRole;
import net.sf.jsqlparser.statement.grant.Revoke;
import net.sf.jsqlparser.statement.grant.AlterDefaultPrivileges;
import net.sf.jsqlparser.statement.create.type.CreateType;
import net.sf.jsqlparser.statement.alter.AlterType;
import net.sf.jsqlparser.statement.create.domain.CreateDomain;
Expand Down Expand Up @@ -400,6 +404,39 @@ default void visit(CreatePolicy createPolicy) {
this.visit(createPolicy, null);
}


default <S> T visit(CreateRole statement, S context) {
return null;
}

default void visit(CreateRole statement) {
visit(statement, null);
}

default <S> T visit(AlterRole statement, S context) {
return null;
}

default void visit(AlterRole statement) {
visit(statement, null);
}

default <S> T visit(Revoke statement, S context) {
return null;
}

default void visit(Revoke statement) {
visit(statement, null);
}

default <S> T visit(AlterDefaultPrivileges statement, S context) {
return null;
}

default void visit(AlterDefaultPrivileges statement) {
visit(statement, null);
}

default <S> T visit(CreateType statement, S context) {
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
*/
package net.sf.jsqlparser.statement;

import net.sf.jsqlparser.statement.role.CreateRole;
import net.sf.jsqlparser.statement.role.AlterRole;
import net.sf.jsqlparser.statement.role.RoleOption;
import net.sf.jsqlparser.statement.grant.Revoke;
import net.sf.jsqlparser.statement.grant.AlterDefaultPrivileges;
import net.sf.jsqlparser.statement.create.type.CreateType;
import net.sf.jsqlparser.statement.alter.AlterType;
import net.sf.jsqlparser.statement.create.domain.CreateDomain;
Expand Down Expand Up @@ -359,6 +364,11 @@ public <S> T visit(CreateTable createTable, S context) {

@Override
public <S> T visit(CreateTrigger createTrigger, S context) {
createTrigger.visit(t -> t.accept(fromItemVisitor, context),
e -> e.accept(expressionVisitor, context));
if (createTrigger.getBody() != null) {
createTrigger.getBody().accept(this, context);
}
return null;
}

Expand Down Expand Up @@ -503,6 +513,8 @@ public <S> T visit(DeclareStatement declareStatement, S context) {

@Override
public <S> T visit(Grant grant, S context) {
grant.getClause().visit(t -> t.accept(fromItemVisitor, context),
e -> e.accept(expressionVisitor, context));
return null;
}

Expand Down Expand Up @@ -605,6 +617,47 @@ public <S> T visit(Export export, S context) {
return null;
}

@Override
public <S> T visit(CreateRole statement, S context) {
for (RoleOption option : statement.getOptions()) {
if (option.getValue() != null) {
option.getValue().accept(expressionVisitor, context);
}
}
return null;
}

@Override
public <S> T visit(AlterRole statement, S context) {
for (RoleOption option : statement.getOptions()) {
if (option.getValue() != null) {
option.getValue().accept(expressionVisitor, context);
}
}
if (statement.getValues() != null) {
statement.getValues().forEach(e -> e.accept(expressionVisitor, context));
}
return null;
}

@Override
public <S> T visit(Revoke statement, S context) {
statement.getClause().visit(t -> t.accept(fromItemVisitor, context),
e -> e.accept(expressionVisitor, context));
return null;
}

@Override
public <S> T visit(AlterDefaultPrivileges statement, S context) {
if (statement.getGrant() != null) {
statement.getGrant().accept(this, context);
}
if (statement.getRevoke() != null) {
statement.getRevoke().accept(this, context);
}
return null;
}

@Override
public <S> T visit(CreateType statement, S context) {

Expand Down
Loading
Loading