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; }
|| dataTypeName.equals("numeric")) { int scale = 0; if (x.getArguments().size() > 1) { scale = ((SQLIntegerExpr) x.getArguments().get(1)).getNumber().intValue();
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; }
return x; List<SQLExpr> argumentns = x.getArguments(); scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); if (precision < scale) { ((SQLIntegerExpr) dataType.getArguments().get(1)).setNumber(precision);
return x; List<SQLExpr> argumentns = x.getArguments(); scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); if (precision < scale) { ((SQLIntegerExpr) dataType.getArguments().get(1)).setNumber(precision);
SQLDataType dataType = ((SQLColumnDefinition) x.getParent()).getDataType(); if (dataType.nameHashCode64() == FnvHash.Constants.TIMESTAMP && dataType.getArguments().size() == 1) { x.addParameter(dataType.getArguments().get(0).clone()); } else { x.addParameter(new SQLIntegerExpr(0));
if (column.getDataType().getArguments().size() > 0) { dataType += "("; for (int i = 0; i < column.getDataType().getArguments().size(); i++) { if (i != 0) { dataType += ","; SQLExpr arg = column.getDataType().getArguments().get(i); dataType += arg.toString();
@Override public boolean visit(PGTypeCastExpr x) { SQLExpr expr = x.getExpr(); SQLDataType dataType = x.getDataType(); if (dataType.nameHashCode64() == FnvHash.Constants.VARBIT) { dataType.accept(this); print(' '); printExpr(expr); return false; } if (expr != null) { if (expr instanceof SQLBinaryOpExpr) { print('('); expr.accept(this); print(')'); } else if (expr instanceof PGTypeCastExpr && dataType.getArguments().size() == 0) { dataType.accept(this); print('('); visit((PGTypeCastExpr) expr); print(')'); return false; } else { expr.accept(this); } } print0("::"); dataType.accept(this); return false; }
protected SQLDataType parseDataTypeRest(SQLDataType dataType) { if (lexer.token == Token.LPAREN) { lexer.nextToken(); exprList(dataType.getArguments(), dataType); accept(Token.RPAREN); } if (lexer.identifierEquals(FnvHash.Constants.PRECISION) && dataType.nameHashCode64() == FnvHash.Constants.DOUBLE) { lexer.nextToken(); dataType.setName("DOUBLE PRECISION"); } if (FnvHash.Constants.TIMESTAMP == dataType.nameHashCode64()) { if (lexer.identifierEquals(FnvHash.Constants.WITHOUT)) { lexer.nextToken(); acceptIdentifier("TIME"); acceptIdentifier("ZONE"); dataType.setWithTimeZone(false); } else if (lexer.token == Token.WITH) { lexer.nextToken(); acceptIdentifier("TIME"); acceptIdentifier("ZONE"); dataType.setWithTimeZone(true); } } return dataType; }
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; }
|| dataTypeName.equals("numeric")) { int scale = 0; if (x.getArguments().size() > 1) { scale = ((SQLIntegerExpr) x.getArguments().get(1)).getNumber().intValue();
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; }
return x; List<SQLExpr> argumentns = x.getArguments(); scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); if (precision < scale) { ((SQLIntegerExpr) dataType.getArguments().get(1)).setNumber(precision);
return x; List<SQLExpr> argumentns = x.getArguments(); scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); if (precision < scale) { ((SQLIntegerExpr) dataType.getArguments().get(1)).setNumber(precision);
this.exprParser.exprList(dataType.getArguments(), dataType); accept(Token.RPAREN);
SQLDataType dataType = ((SQLColumnDefinition) x.getParent()).getDataType(); if (dataType.nameHashCode64() == FnvHash.Constants.TIMESTAMP && dataType.getArguments().size() == 1) { x.addParameter(dataType.getArguments().get(0).clone()); } else { x.addParameter(new SQLIntegerExpr(0));
if (column.getDataType().getArguments().size() > 0) { dataType += "("; for (int i = 0; i < column.getDataType().getArguments().size(); i++) { if (i != 0) { dataType += ","; SQLExpr arg = column.getDataType().getArguments().get(i); dataType += arg.toString();
@Override public boolean visit(PGTypeCastExpr x) { SQLExpr expr = x.getExpr(); SQLDataType dataType = x.getDataType(); if (dataType.nameHashCode64() == FnvHash.Constants.VARBIT) { dataType.accept(this); print(' '); printExpr(expr); return false; } if (expr != null) { if (expr instanceof SQLBinaryOpExpr) { print('('); expr.accept(this); print(')'); } else if (expr instanceof PGTypeCastExpr && dataType.getArguments().size() == 0) { dataType.accept(this); print('('); visit((PGTypeCastExpr) expr); print(')'); return false; } else { expr.accept(this); } } print0("::"); dataType.accept(this); return false; }
protected SQLDataType parseDataTypeRest(SQLDataType dataType) { if (lexer.token == Token.LPAREN) { lexer.nextToken(); exprList(dataType.getArguments(), dataType); accept(Token.RPAREN); } if (lexer.identifierEquals(FnvHash.Constants.PRECISION) && dataType.nameHashCode64() == FnvHash.Constants.DOUBLE) { lexer.nextToken(); dataType.setName("DOUBLE PRECISION"); } if (FnvHash.Constants.TIMESTAMP == dataType.nameHashCode64()) { if (lexer.identifierEquals(FnvHash.Constants.WITHOUT)) { lexer.nextToken(); acceptIdentifier("TIME"); acceptIdentifier("ZONE"); dataType.setWithTimeZone(false); } else if (lexer.token == Token.WITH) { lexer.nextToken(); acceptIdentifier("TIME"); acceptIdentifier("ZONE"); dataType.setWithTimeZone(true); } } return dataType; }
this.exprParser.exprList(dataType.getArguments(), dataType); accept(Token.RPAREN);