public boolean visit(SQLDataType x) { String dataTypeName = x.getName(); print0(ucase ? dataTypeName.toUpperCase() : dataTypeName.toLowerCase()); if (x.getArguments().size() > 0) { print('('); printAndAccept(x.getArguments(), ", "); print(')'); } return false; }
public static SQLDataType transformOracleToAliyunAds(SQLDataType x) { final String dataTypeName = x.getName().toLowerCase(); SQLDataType dataType;
public String parse(boolean isReturn) throws SqlParseException { List<String> result = new ArrayList<>(); String dataType = castExpr.getDataType().getName().toUpperCase(); String fileName = String.format("doc['%s'].value",Util.expr2Object(castExpr.getExpr()));
public boolean visit(SQLColumnDefinition x) { String tableName = null; { SQLObject parent = x.getParent(); if (parent instanceof SQLCreateTableStatement) { tableName = ((SQLCreateTableStatement) parent).getName().toString(); } } if (tableName == null) { return true; } String columnName = x.getName().toString(); Column column = addColumn(tableName, columnName); if (x.getDataType() != null) { column.setDataType(x.getDataType().getName()); } for (SQLColumnConstraint item : x.getConstraints()) { if (item instanceof SQLPrimaryKey) { column.setPrimaryKey(true); } else if (item instanceof SQLUnique) { column.setUnique(true); } } return false; }
public static SQLDataType transformOracleToMySql(SQLDataType x) { final String name = x.getName(); final long nameHash = x.nameHashCode64();
public static SQLDataType transformOracleToPostgresql(SQLDataType x) { final String name = x.getName(); final long nameHash = x.nameHashCode64();
protected void printDataType(SQLDataType x) { boolean parameterized = this.parameterized; this.parameterized = false; print0(x.getName()); if (x.getArguments().size() > 0) { print('('); printAndAccept(x.getArguments(), ", "); print(')'); } Boolean withTimeZone = x.getWithTimeZone(); if (withTimeZone != null) { if (withTimeZone) { if (x.isWithLocalTimeZone()) { print0(ucase ? " WITH LOCAL TIME ZONE" : " with local time zone"); } else { print0(ucase ? " WITH TIME ZONE" : " with time zone"); } } else { print0(ucase ? " WITHOUT TIME ZONE" : " without time zone"); } } this.parameterized = parameterized; }
String dataType = column.getDataType().getName(); if (column.getDataType().getArguments().size() > 0) { dataType += "(";
@Override public boolean visit(SQLParameter x) { SQLName name = x.getName(); if (x.getDataType().getName().equalsIgnoreCase("CURSOR")) { print0(ucase ? "CURSOR " : "cursor "); x.getName().accept(this); String dataTypeName = dataType.getName(); boolean printType = (dataTypeName.startsWith("TABLE OF") && x.getDefaultValue() == null) || dataTypeName.equalsIgnoreCase("REF CURSOR")
public SQLColumnDefinition parseColumnRest(SQLColumnDefinition column) { if (lexer.token() == Token.ON) { lexer.nextToken(); accept(Token.UPDATE); SQLExpr expr = this.expr(); ((MySqlSQLColumnDefinition) column).setOnUpdate(expr); } if (identifierEquals("AUTO_INCREMENT")) { lexer.nextToken(); if (column instanceof MySqlSQLColumnDefinition) { ((MySqlSQLColumnDefinition) column).setAutoIncrement(true); } return parseColumnRest(column); } if (identifierEquals("precision") && column.getDataType().getName().equalsIgnoreCase("double")) { lexer.nextToken(); } if (identifierEquals("PARTITION")) { throw new ParserException("syntax error " + lexer.token() + " " + lexer.stringVal()); } if (identifierEquals("STORAGE")) { lexer.nextToken(); SQLExpr expr = expr(); if (column instanceof MySqlSQLColumnDefinition) { ((MySqlSQLColumnDefinition) column).setStorage(expr); } } super.parseColumnRest(column); return column; }
public boolean visit(SQLDataType x) { String dataTypeName = x.getName(); print0(ucase ? dataTypeName.toUpperCase() : dataTypeName.toLowerCase()); if (x.getArguments().size() > 0) { print('('); printAndAccept(x.getArguments(), ", "); print(')'); } return false; }
public static SQLDataType transformOracleToAliyunAds(SQLDataType x) { final String dataTypeName = x.getName().toLowerCase(); SQLDataType dataType;
public boolean visit(SQLColumnDefinition x) { String tableName = null; { SQLObject parent = x.getParent(); if (parent instanceof SQLCreateTableStatement) { tableName = ((SQLCreateTableStatement) parent).getName().toString(); } } if (tableName == null) { return true; } String columnName = x.getName().toString(); Column column = addColumn(tableName, columnName); if (x.getDataType() != null) { column.setDataType(x.getDataType().getName()); } for (SQLColumnConstraint item : x.getConstraints()) { if (item instanceof SQLPrimaryKey) { column.setPrimaryKey(true); } else if (item instanceof SQLUnique) { column.setUnique(true); } } return false; }
public static SQLDataType transformOracleToMySql(SQLDataType x) { final String name = x.getName(); final long nameHash = x.nameHashCode64();
public static SQLDataType transformOracleToPostgresql(SQLDataType x) { final String name = x.getName(); final long nameHash = x.nameHashCode64();
protected void printDataType(SQLDataType x) { boolean parameterized = this.parameterized; this.parameterized = false; print0(x.getName()); if (x.getArguments().size() > 0) { print('('); printAndAccept(x.getArguments(), ", "); print(')'); } Boolean withTimeZone = x.getWithTimeZone(); if (withTimeZone != null) { if (withTimeZone) { if (x.isWithLocalTimeZone()) { print0(ucase ? " WITH LOCAL TIME ZONE" : " with local time zone"); } else { print0(ucase ? " WITH TIME ZONE" : " with time zone"); } } else { print0(ucase ? " WITHOUT TIME ZONE" : " without time zone"); } } this.parameterized = parameterized; }
String dataType = column.getDataType().getName(); if (column.getDataType().getArguments().size() > 0) { dataType += "(";
@Override public boolean visit(SQLParameter x) { SQLName name = x.getName(); if (x.getDataType().getName().equalsIgnoreCase("CURSOR")) { print0(ucase ? "CURSOR " : "cursor "); x.getName().accept(this); String dataTypeName = dataType.getName(); boolean printType = (dataTypeName.startsWith("TABLE OF") && x.getDefaultValue() == null) || dataTypeName.equalsIgnoreCase("REF CURSOR")
public static DataType parse(SQLDataType dataType) throws UnsupportedException { String typeName = dataType.getName(); if (typeName.equalsIgnoreCase("INT32")) { return DataType.INT32; } else if (typeName.equalsIgnoreCase("INT64")) { return DataType.INT64; } else if (typeName.equalsIgnoreCase("STRING")) { return DataType.STRING; } else if (typeName.equalsIgnoreCase("FLOAT")) { return DataType.FLOAT; } else if (typeName.equalsIgnoreCase("DOUBLE")) { return DataType.DOUBLE; } else if (typeName.equalsIgnoreCase("PROTOBUF")) { return DataType.PROTOBUF; } else if (typeName.equalsIgnoreCase("DATETIME")) { return DataType.DATETIME; } else { throw new UnsupportedException("Unsupported SQLDataType " + dataType); } }
private List<SqlCheckColumnInfo> buildColumnAddInfo() { if (sqlStatement instanceof SQLAlterTableStatement) { SQLAlterTableStatement alterStmt = (SQLAlterTableStatement) sqlStatement; List<SqlCheckColumnInfo> columnsAddList = new ArrayList<>(); for (SQLAlterTableItem item : alterStmt.getItems()) { if (item instanceof SQLAlterTableAddColumn) { SQLAlterTableAddColumn columnAdd = (SQLAlterTableAddColumn) item; List<SQLColumnDefinition> columnDefinitions = columnAdd.getColumns(); List<SqlCheckColumnInfo> columnInfos = new ArrayList<>(); for (SQLColumnDefinition columnDefinition : columnDefinitions) { SqlCheckColumnInfo columnInfo = new SqlCheckColumnInfo(); columnInfo.setName(columnDefinition.getName().getSimpleName()); columnInfo.setDataType(columnDefinition.getDataType().getName()); columnInfos.add(columnInfo); } columnsAddList.addAll(columnInfos); } } return columnsAddList; } return Lists.newArrayList(); }