mirror of
https://github.com/querydsl/querydsl.git
synced 2026-07-12 21:20:19 +08:00
added QDateTime and QString expression libraries
updated tests for HSQLDB and MySQL
This commit is contained in:
parent
e8a6ea727d
commit
bfb0fd8e83
@ -57,19 +57,19 @@ public class HqlGrammar extends GrammarWithAlias{
|
||||
}
|
||||
|
||||
public static EComparable<Date> current_date(){
|
||||
return createComparable(OpHql.CURRENT_DATE);
|
||||
return createComparable(Date.class,Ops.OpDateTime.CURRENT_DATE);
|
||||
}
|
||||
|
||||
public static EComparable<Date> current_time(){
|
||||
return createComparable(OpHql.CURRENT_TIME);
|
||||
return createComparable(Date.class,Ops.OpDateTime.CURRENT_TIME);
|
||||
}
|
||||
|
||||
public static EComparable<Date> current_timestamp(){
|
||||
return createComparable(OpHql.CURRENT_TIMESTAMP);
|
||||
return createComparable(Date.class,Ops.OpDateTime.CURRENT_TIMESTAMP);
|
||||
}
|
||||
|
||||
public static EComparable<Date> day(Expr<Date> date){
|
||||
return createComparable(OpHql.DAY, date);
|
||||
return createComparable(Date.class,Ops.OpDateTime.DAY, date);
|
||||
}
|
||||
|
||||
public static <T> Expr<T> distinct(Path<T> left){
|
||||
@ -85,7 +85,7 @@ public class HqlGrammar extends GrammarWithAlias{
|
||||
}
|
||||
|
||||
public static EComparable<Date> hour(Expr<Date> date){
|
||||
return createComparable(OpHql.HOUR, date);
|
||||
return createComparable(Date.class,Ops.OpDateTime.HOUR, date);
|
||||
}
|
||||
|
||||
public static PComponentCollection<Integer> indices(PCollection<?> col){
|
||||
@ -145,11 +145,11 @@ public class HqlGrammar extends GrammarWithAlias{
|
||||
}
|
||||
|
||||
public static EComparable<Date> minute(Expr<Date> date){
|
||||
return createComparable(OpHql.MINUTE, date);
|
||||
return createComparable(Date.class,Ops.OpDateTime.MINUTE, date);
|
||||
}
|
||||
|
||||
public static EComparable<Date> month(Expr<Date> date){
|
||||
return createComparable(OpHql.MONTH, date);
|
||||
return createComparable(Date.class,Ops.OpDateTime.MONTH, date);
|
||||
}
|
||||
|
||||
public static <A> Expr<A> newInstance(Class<A> a, Expr<?>... args){
|
||||
@ -161,7 +161,7 @@ public class HqlGrammar extends GrammarWithAlias{
|
||||
}
|
||||
|
||||
public static EComparable<Date> second(Expr<Date> date){
|
||||
return createComparable(OpHql.SECOND, date);
|
||||
return createComparable(Date.class,Ops.OpDateTime.SECOND, date);
|
||||
}
|
||||
|
||||
public static <A> SubQuery<HqlJoinMeta,A> select(Expr<A> select){
|
||||
@ -173,15 +173,15 @@ public class HqlGrammar extends GrammarWithAlias{
|
||||
}
|
||||
|
||||
public static <D extends Number & Comparable<D>> ENumber<D> sum(Expr<D> left){
|
||||
return createNumber(left.getType(), OpHql.SUM, left);
|
||||
return createNumber(left.getType(), HqlOps.OpHql.SUM, left);
|
||||
}
|
||||
|
||||
public static EComparable<Date> sysdate(){
|
||||
return createComparable(OpHql.SYSDATE);
|
||||
return createComparable(Date.class,Ops.OpDateTime.SYSDATE);
|
||||
}
|
||||
|
||||
public static EComparable<Date> year(Expr<Date> date){
|
||||
return createComparable(OpHql.YEAR, date);
|
||||
return createComparable(Date.class,Ops.OpDateTime.YEAR, date);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -63,16 +63,18 @@ public class HqlOps extends OperationPatterns {
|
||||
|
||||
// HQL specific
|
||||
add(OpHql.SUM, "sum(%s)");
|
||||
add(OpHql.SYSDATE, "sysdate");
|
||||
add(OpHql.CURRENT_DATE, "current_date()");
|
||||
add(OpHql.CURRENT_TIME, "current_time()");
|
||||
add(OpHql.CURRENT_TIMESTAMP, "current_timestamp()");
|
||||
add(OpHql.SECOND, "second(%s)");
|
||||
add(OpHql.MINUTE, "minute(%s)");
|
||||
add(OpHql.HOUR, "hour(%s)");
|
||||
add(OpHql.DAY, "day(%s)");
|
||||
add(OpHql.MONTH, "month(%s)");
|
||||
add(OpHql.YEAR, "year(%s)");
|
||||
|
||||
// date time
|
||||
add(Ops.OpDateTime.SYSDATE, "sysdate");
|
||||
add(Ops.OpDateTime.CURRENT_DATE, "current_date()");
|
||||
add(Ops.OpDateTime.CURRENT_TIME, "current_time()");
|
||||
add(Ops.OpDateTime.CURRENT_TIMESTAMP, "current_timestamp()");
|
||||
add(Ops.OpDateTime.SECOND, "second(%s)");
|
||||
add(Ops.OpDateTime.MINUTE, "minute(%s)");
|
||||
add(Ops.OpDateTime.HOUR, "hour(%s)");
|
||||
add(Ops.OpDateTime.DAY, "day(%s)");
|
||||
add(Ops.OpDateTime.MONTH, "month(%s)");
|
||||
add(Ops.OpDateTime.YEAR, "year(%s)");
|
||||
|
||||
// quantified expressions
|
||||
add(OpQuant.AVG_IN_COL, "avg(%s)");
|
||||
@ -105,19 +107,9 @@ public class HqlOps extends OperationPatterns {
|
||||
* The Interface OpHql.
|
||||
*/
|
||||
public interface OpHql{
|
||||
Op<java.util.Date> CURRENT_DATE = new Op<java.util.Date>();
|
||||
Op<java.util.Date> CURRENT_TIME = new Op<java.util.Date>();
|
||||
Op<java.util.Date> CURRENT_TIMESTAMP = new Op<java.util.Date>();
|
||||
Op<java.util.Date> DAY = new Op<java.util.Date>();
|
||||
Op<java.util.Date> HOUR = new Op<java.util.Date>();
|
||||
Op<java.lang.Boolean> ISEMPTY = new Op<java.lang.Boolean>();
|
||||
Op<java.lang.Boolean> ISNOTEMPTY = new Op<java.lang.Boolean>();
|
||||
Op<java.util.Date> MINUTE = new Op<java.util.Date>();
|
||||
Op<java.util.Date> MONTH = new Op<java.util.Date>();
|
||||
Op<java.util.Date> SECOND = new Op<java.util.Date>();
|
||||
Op<java.lang.Number> SUM = new Op<java.lang.Number>();
|
||||
Op<java.util.Date> SYSDATE = new Op<java.util.Date>();
|
||||
Op<java.util.Date> YEAR = new Op<java.util.Date>();
|
||||
Op<Number> SUM = new Op<Number>();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user