/
SqlMultisetType.java
34 lines (29 loc) · 981 Bytes
/
SqlMultisetType.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.matty.flink.sql.parser.type;
import org.apache.calcite.sql.SqlDataTypeSpec;
import org.apache.calcite.sql.SqlIdentifier;
import org.apache.calcite.sql.SqlWriter;
import org.apache.calcite.sql.parser.SqlParserPos;
import org.apache.calcite.sql.type.SqlTypeName;
/**
* Description:
*
* @author mwt
* @version 1.0
* @date 2019-10-08
*/
public class SqlMultisetType extends SqlIdentifier implements ExtendedSqlType{
private final SqlDataTypeSpec elementType;
public SqlMultisetType(SqlParserPos pos, SqlDataTypeSpec elementType) {
super(SqlTypeName.MULTISET.getName(), pos);
this.elementType = elementType;
}
public SqlDataTypeSpec getElementType() {
return elementType;
}
@Override
public void unparse(SqlWriter writer, int leftPrec, int rightPrec) {
writer.keyword("MULTISET<");
ExtendedSqlType.unparseType(this.elementType, writer, leftPrec, rightPrec);
writer.keyword(">");
}
}