@Override public SQLExpression toProtoSQL( List<SQLExpression> args, SQLDialect dialect ) { if ( args.size() != 1 ) { throw new IllegalArgumentException( "Unable to map function '" + NAME + "' to SQL. Expected a single argument." ); } SQLExpression arg = args.get( 0 ); // TODO infer type information on arguments // arg.cast( expr ); SQLOperationBuilder builder = new SQLOperationBuilder( VARCHAR ); builder.add( "area(" ); builder.add( arg ); builder.add( ")" ); return builder.toOperation(); }
@Override public SQLExpression toProtoSQL( List<SQLExpression> args, SQLDialect dialect ) { if ( args.size() != 1 ) { throw new IllegalArgumentException( "Unable to map function '" + NAME + "' to SQL. Expected a single argument." ); } SQLExpression arg = args.get( 0 ); // TODO infer type information on arguments // arg.cast( expr ); SQLOperationBuilder builder = new SQLOperationBuilder( VARCHAR ); builder.add( "lower(" ); builder.add( arg ); builder.add( ")" ); return builder.toOperation(); }
@Override public SQLExpression toProtoSQL( List<SQLExpression> args, SQLDialect dialect ) { if ( args.size() != 1 ) { throw new IllegalArgumentException( "Unable to map function '" + NAME + "' to SQL. Expected a single argument." ); } SQLExpression arg = args.get( 0 ); // TODO infer type information on arguments // arg.cast( expr ); SQLOperationBuilder builder = new SQLOperationBuilder( VARCHAR ); builder.add( "upper(" ); builder.add( arg ); builder.add( ")" ); return builder.toOperation(); }
private SQLOperation getOperationFromBuilder( PropertyIsLike op, SQLExpression propName, String sqlEncoded ) { SQLOperationBuilder builder = new SQLOperationBuilder(); if ( !op.isMatchCase() ) { builder.add( "LOWER(" ); } builder.add( propName ); if ( op.isMatchCase() ) { builder.add( "::TEXT LIKE '" ); } else { builder.add( "::TEXT) LIKE '" ); } builder.add( sqlEncoded ); builder.add( "'" ); return builder.toOperation(); }
/** * Translates the given {@link SortProperty} array into an {@link SQLExpression}. * * @param sortCrits * sort criteria to be translated, must not be <code>null</code> * @return corresponding SQL expression, never <code>null</code> * @throws UnmappableException * if translation is not possible (usually due to unmappable property names) * @throws FilterEvaluationException * if the filter contains invalid {@link ValueReference}s */ protected SQLExpression toProtoSQL( SortProperty[] sortCrits ) throws UnmappableException, FilterEvaluationException { SQLOperationBuilder builder = new SQLOperationBuilder(); for ( int i = 0; i < sortCrits.length; i++ ) { SortProperty sortCrit = sortCrits[i]; if ( i > 0 ) { builder.add( "," ); } builder.add( toProtoSQL( sortCrit.getSortProperty() ) ); if ( sortCrit.getSortOrder() ) { builder.add( " ASC" ); } else { builder.add( " DESC" ); } } return builder.toOperation(); }
builder.add( sqlEncoded ); builder.add( "' ESCAPE '\\'" ); return builder.toOperation();
builder.add( argument ); return builder.toOperation();
builder.add( toProtoSQL( expr.getParams()[1], true ) ); builder.add( ")" ); sql = builder.toOperation(); break; builder.add( toProtoSQL( expr.getParams()[1], true ) ); builder.add( ")" ); sql = builder.toOperation(); break; builder.add( toProtoSQL( expr.getParams()[1], true ) ); builder.add( ")" ); sql = builder.toOperation(); break; builder.add( toProtoSQL( expr.getParams()[1], true ) ); builder.add( ")" ); sql = builder.toOperation(); break;
addExpression( builder, upper, op.isMatchCase() ); builder.add( ")" ); sqlOper = builder.toOperation(); break; builder.add( " = " ); addExpression( builder, param2, op.isMatchCase() ); sqlOper = builder.toOperation(); } else { Expression propName = propIsEqualTo.getParameter1(); builder.add( " > " ); addExpression( builder, param2, op.isMatchCase() ); sqlOper = builder.toOperation(); break; builder.add( " >= " ); addExpression( builder, param2, op.isMatchCase() ); sqlOper = builder.toOperation(); break; builder.add( " < " ); addExpression( builder, param2, op.isMatchCase() ); sqlOper = builder.toOperation(); break; builder.add( " <= " ); addExpression( builder, param2, op.isMatchCase() ); sqlOper = builder.toOperation();
return builder.toOperation();
return builder.toOperation();
return builder.toOperation();