From 6c985843aa24b54969ebe7c20e2febf8711a1273 Mon Sep 17 00:00:00 2001 From: u$f Date: Wed, 11 Sep 2024 12:36:04 +0200 Subject: [PATCH] edit --- src/main/java/org/usf/jquery/core/CombinedOperator.java | 2 +- src/main/java/org/usf/jquery/core/DBColumn.java | 2 +- src/main/java/org/usf/jquery/core/Operator.java | 7 ++++--- src/main/java/org/usf/jquery/core/TypedOperator.java | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/usf/jquery/core/CombinedOperator.java b/src/main/java/org/usf/jquery/core/CombinedOperator.java index d45e243..e5d8715 100644 --- a/src/main/java/org/usf/jquery/core/CombinedOperator.java +++ b/src/main/java/org/usf/jquery/core/CombinedOperator.java @@ -21,7 +21,7 @@ default OperationColumn operation(JDBCType type, Object... args) { @Override default String id() { - return null; + return "CombinedOperator"; //do better } @Override diff --git a/src/main/java/org/usf/jquery/core/DBColumn.java b/src/main/java/org/usf/jquery/core/DBColumn.java index 368bb0c..437d7df 100644 --- a/src/main/java/org/usf/jquery/core/DBColumn.java +++ b/src/main/java/org/usf/jquery/core/DBColumn.java @@ -442,7 +442,7 @@ static NamedColumn allColumns(@NonNull DBView view) { @Override public String sql(QueryContext ctx) { ctx.viewAlias(view); - return "*"; //lazy + return "*"; } @Override diff --git a/src/main/java/org/usf/jquery/core/Operator.java b/src/main/java/org/usf/jquery/core/Operator.java index dc09a18..e3f5fdb 100644 --- a/src/main/java/org/usf/jquery/core/Operator.java +++ b/src/main/java/org/usf/jquery/core/Operator.java @@ -218,7 +218,7 @@ static TypedOperator yearMonth() {//YYYY-MM return new TypedOperator(VARCHAR, op, required(DATE, TIMESTAMP, TIMESTAMP_WITH_TIMEZONE)); } - static TypedOperator yearWeek() {//YYYY-'W'WW //!ISO + static TypedOperator yearWeek() {//YYYY-'W'WW CombinedOperator op = args-> { var col = requireNArgs(1, args, ()-> "yearWeek")[0]; return concat().operation(varchar().operation(year().operation(col)), @@ -239,8 +239,9 @@ static TypedOperator monthDay() {//MM-DD static TypedOperator hourMinute() {//HH:MM CombinedOperator op = args-> { var col = requireNArgs(1, args, ()-> "hourMinute")[0]; - var time = JDBCType.typeOf(col).filter(t-> t == TIME).isPresent() ? col : time().operation(col); - return left().operation(varchar().operation(time), 5); + var tim = JDBCType.typeOf(col).filter(t-> t == TIME) + .map(t-> col).orElseGet(()-> time().operation(col)); + return left().operation(varchar().operation(tim), 5); }; return new TypedOperator(VARCHAR, op, required(TIME, TIMESTAMP, TIMESTAMP_WITH_TIMEZONE)); } diff --git a/src/main/java/org/usf/jquery/core/TypedOperator.java b/src/main/java/org/usf/jquery/core/TypedOperator.java index 283a460..dbef029 100644 --- a/src/main/java/org/usf/jquery/core/TypedOperator.java +++ b/src/main/java/org/usf/jquery/core/TypedOperator.java @@ -46,7 +46,7 @@ public OperationColumn operation(Object... args) { @Override // do not delegate this public OperationColumn operation(JDBCType type, Object... args) { return operator.is(CombinedOperator.class) - ? operator.operation(type, args) //no sql + ? operator.operation(type, parameterSet.assertArguments(args)) //no sql : Operator.super.operation(type, args); }