1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.infra.binder.context.statement.ddl;
19
20 import lombok.Getter;
21 import org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
22 import org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
23 import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
24 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
25 import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CommentStatement;
26
27 import java.util.Collection;
28 import java.util.Collections;
29
30
31
32
33 @Getter
34 public final class CommentStatementContext extends CommonSQLStatementContext implements TableAvailable {
35
36 private final TablesContext tablesContext;
37
38 public CommentStatementContext(final CommentStatement sqlStatement) {
39 super(sqlStatement);
40 tablesContext = new TablesContext(null == sqlStatement.getTable() ? Collections.emptyList() : Collections.singletonList(sqlStatement.getTable()), getDatabaseType());
41 }
42
43 @Override
44 public CommentStatement getSqlStatement() {
45 return (CommentStatement) super.getSqlStatement();
46 }
47
48 @Override
49 public Collection<SimpleTableSegment> getAllTables() {
50 return tablesContext.getSimpleTableSegments();
51 }
52 }