From 92caf69cb3fda2b95ab9abbc2a9cf0aac5513a96 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Wed, 1 Jun 2016 19:54:02 +1200 Subject: [PATCH] #728 - Remove Query.where(String) ... migrate to where().raw(...) --- src/main/java/com/avaje/ebean/Query.java | 57 ----- .../com/avaje/ebeaninternal/api/SpiQuery.java | 17 -- .../server/query/CQueryPredicates.java | 106 +-------- .../server/querydefn/DefaultOrmQuery.java | 73 +------ .../querydefn/OrmQueryDetailParser.java | 8 - .../server/querydefn/OrmQueryPlanKey.java | 12 +- .../server/querydefn/OrmQueryPlanKeyTest.java | 205 ++++++------------ .../server/querydefn/TestQueryLanguage.java | 97 --------- .../avaje/tests/el/TestUnderscoreParam.java | 36 +-- 9 files changed, 106 insertions(+), 505 deletions(-) delete mode 100644 src/test/java/com/avaje/ebeaninternal/server/querydefn/TestQueryLanguage.java diff --git a/src/main/java/com/avaje/ebean/Query.java b/src/main/java/com/avaje/ebean/Query.java index c75a5ba0d..42bbd424c 100644 --- a/src/main/java/com/avaje/ebean/Query.java +++ b/src/main/java/com/avaje/ebean/Query.java @@ -917,40 +917,6 @@ public interface Query { */ Object getId(); - /** - * Add additional clause(s) to the where clause. - *

- * This typically contains named parameters which will need to be set via - * {@link #setParameter(String, Object)}. - *

- * - *
{@code
-   *
-   * Query query = ebeanServer.createQuery(Order.class, "top");
-   * ...
-   * if (...) {
-   *   query.where("status = :status and lower(customer.name) like :custName");
-   *   query.setParameter("status", Order.NEW);
-   *   query.setParameter("custName", "rob%");
-   * }
-   *
-   * }
- * - *

- * Internally the addToWhereClause string is processed by removing named - * parameters (replacing them with ?) and by converting logical property names - * to database column names (with table alias). The rest of the string is left - * as is and it is completely acceptable and expected for the addToWhereClause - * string to include sql functions and columns. - *

- * - * @param addToWhereClause - * the clause to append to the where clause which typically contains - * named parameters. - * @return The query object - */ - Query where(String addToWhereClause); - /** * Add a single Expression to the where clause returning the query. * @@ -1061,29 +1027,6 @@ public interface Query { */ ExpressionList having(); - /** - * Add additional clause(s) to the having clause. - *

- * This typically contains named parameters which will need to be set via - * {@link #setParameter(String, Object)}. - *

- * - *
{@code
-   *
-   * List query =
-   *     ebeanServer.find(ReportOrder.class)
-   *     .having("score > :min").setParameter("min", 1)
-   *     .findList();
-   *
-   * }
- * - * @param addToHavingClause - * the clause to append to the having clause which typically contains - * named parameters. - * @return The query object - */ - Query having(String addToHavingClause); - /** * Add an expression to the having clause returning the query. *

diff --git a/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java b/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java index 67a0f4e95..6db2c9041 100644 --- a/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java +++ b/src/main/java/com/avaje/ebeaninternal/api/SpiQuery.java @@ -475,12 +475,6 @@ public interface SpiQuery extends Query { */ OrderBy getOrderBy(); - /** - * Return additional where clause. This should be added to any where clause - * that was part of the original query. - */ - String getAdditionalWhere(); - /** * Can return null if no expressions where added to the where clause. */ @@ -496,12 +490,6 @@ public interface SpiQuery extends Query { */ SpiExpressionList getTextExpression(); - /** - * Return additional having clause. Where raw String expressions are added - * to having clause rather than Expression objects. - */ - String getAdditionalHaving(); - /** * Returns true if either firstRow or maxRows has been set. */ @@ -622,11 +610,6 @@ public interface SpiQuery extends Query { */ void setDefaultSelectClause(); - /** - * Return the where clause from a parsed string query. - */ - String getRawWhereClause(); - /** * Set the generated sql for debug purposes. */ diff --git a/src/main/java/com/avaje/ebeaninternal/server/query/CQueryPredicates.java b/src/main/java/com/avaje/ebeaninternal/server/query/CQueryPredicates.java index 645221b6e..0393ce572 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/query/CQueryPredicates.java +++ b/src/main/java/com/avaje/ebeaninternal/server/query/CQueryPredicates.java @@ -2,7 +2,6 @@ package com.avaje.ebeaninternal.server.query; import com.avaje.ebean.RawSql; import com.avaje.ebeaninternal.api.BindParams; -import com.avaje.ebeaninternal.api.BindParams.OrderedList; import com.avaje.ebeaninternal.api.SpiExpressionList; import com.avaje.ebeaninternal.api.SpiQuery; import com.avaje.ebeaninternal.server.core.OrmQueryRequest; @@ -54,11 +53,6 @@ public class CQueryPredicates { */ private final BindParams bindParams; - /** - * Named bind parameters for the having clause. - */ - private OrderedList havingNamedParams; - /** * Bind values from the where expressions. */ @@ -79,11 +73,6 @@ public class CQueryPredicates { */ private String whereExprSql; - /** - * SQL generated from where with named parameters. - */ - private String whereRawSql; - /** * Bind values for having expression. */ @@ -94,11 +83,6 @@ public class CQueryPredicates { */ private String havingExprSql; - /** - * SQL generated from having with named parameters. - */ - private String havingRawSql; - private String dbHaving; /** @@ -193,11 +177,6 @@ public class CQueryPredicates { } } - if (havingNamedParams != null) { - // bind named parameters in having... - binder.bind(havingNamedParams.list(), dataBind, dataBind.log()); - } - if (having != null) { having.bind(dataBind); } @@ -214,84 +193,26 @@ public class CQueryPredicates { } } - private void buildBindHavingRawSql(boolean buildSql, boolean parseRaw, DeployParser deployParser) { - if (buildSql || bindParams != null) { - // having clause with named parameters... - havingRawSql = query.getAdditionalHaving(); - if (parseRaw) { - havingRawSql = deployParser.parse(havingRawSql); - } - if (havingRawSql != null && bindParams != null) { - // convert and order named parameters if required - havingNamedParams = BindParamsParser.parseNamedParams(bindParams, havingRawSql); - havingRawSql = havingNamedParams.getPreparedSql(); - } - } - } - /** * Convert named parameters into an OrderedList. */ - private void buildBindWhereRawSql(boolean buildSql, boolean parseRaw, DeployParser parser) { - if (buildSql || bindParams != null) { - whereRawSql = buildWhereRawSql(); - boolean hasRaw = !"".equals(whereRawSql); - if (hasRaw && parseRaw) { - // parse with encrypted property awareness. This means that if we have - // an encrypted property we will insert special named parameter place - // holders for binding the encryption key values - parser.setEncrypted(true); - whereRawSql = parser.parse(whereRawSql); - parser.setEncrypted(false); - } + private void buildBindWhereRawSql(boolean buildSql) { - if (bindParams != null) { - if (hasRaw) { - whereRawSql = BindParamsParser.parse(bindParams, whereRawSql, request.getBeanDescriptor()); - - } else if (query.isRawSql() && !buildSql) { - // RawSql query hit cached query plan. Need to convert - // named parameters into positioned parameters so that - // the named parameters are bound - RawSql.Sql sql = query.getRawSql().getSql(); - String s = sql.isParsed() ? sql.getPreWhere() : sql.getUnparsedSql(); - if (bindParams.requiresNamedParamsPrepare()) { - BindParamsParser.parse(bindParams, s); - } - } - } + if (!buildSql && query.isRawSql() && bindParams != null && bindParams.requiresNamedParamsPrepare()) { + // RawSql query hit cached query plan. Need to convert + // named parameters into positioned parameters so that + // the named parameters are bound + RawSql.Sql sql = query.getRawSql().getSql(); + String s = sql.isParsed() ? sql.getPreWhere() : sql.getUnparsedSql(); + BindParamsParser.parse(bindParams, s); } } - private String buildWhereRawSql() { - // this is the where part of a OQL query which - // may contain bind parameters... - String whereRaw = query.getRawWhereClause(); - if (whereRaw == null) { - whereRaw = ""; - } - // add any additional stuff to the where clause - String additionalWhere = query.getAdditionalWhere(); - if (additionalWhere != null) { - whereRaw += additionalWhere; - } - return whereRaw; - } - public void prepare(boolean buildSql) { DeployParser deployParser = request.createDeployParser(); - prepare(buildSql, true, deployParser); - } - - /** - * This combines the sql from named/positioned parameters and expressions. - */ - private void prepare(boolean buildSql, boolean parseRaw, DeployParser deployParser) { - buildUpdateClause(buildSql, deployParser); - buildBindWhereRawSql(buildSql, parseRaw, deployParser); - buildBindHavingRawSql(buildSql, parseRaw, deployParser); + buildBindWhereRawSql(buildSql); SpiExpressionList whereExp = query.getWhereExpressions(); if (whereExp != null) { @@ -360,7 +281,7 @@ public class CQueryPredicates { } private String deriveWhere(DeployParser deployParser) { - return parse(whereRawSql, whereExprSql, deployParser); + return parse(whereExprSql, deployParser); } /** @@ -387,12 +308,9 @@ public class CQueryPredicates { return s == null || s.length() == 0; } - private String parse(String raw, String expr, DeployParser deployParser) { + private String parse(String expr, DeployParser deployParser) { StringBuilder sb = new StringBuilder(); - if (!isEmpty(raw)) { - sb.append(raw); - } if (!isEmpty(expr)) { if (sb.length() > 0) { sb.append(" and "); @@ -403,7 +321,7 @@ public class CQueryPredicates { } private String deriveHaving(DeployParser deployParser) { - return parse(havingRawSql, havingExprSql, deployParser); + return parse(havingExprSql, deployParser); } private String parseOrderBy() { diff --git a/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java b/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java index 472b1a698..32f5db21b 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java +++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java @@ -81,11 +81,6 @@ public class DefaultOrmQuery implements SpiQuery { */ private int lazyLoadBatchSize; - /** - * The where clause from a parsed query string. - */ - private String rawWhereClause; - private OrderBy orderBy; private String loadMode; @@ -99,10 +94,6 @@ public class DefaultOrmQuery implements SpiQuery { */ private String query; - private String additionalWhere; - - private String additionalHaving; - private String lazyLoadProperty; private String lazyLoadManyPath; @@ -563,8 +554,6 @@ public class DefaultOrmQuery implements SpiQuery { copy.query = query; copy.rootTableAlias = rootTableAlias; - copy.additionalWhere = additionalWhere; - copy.additionalHaving = additionalHaving; copy.distinct = distinct; copy.sqlDistinct = sqlDistinct; copy.timeout = timeout; @@ -580,7 +569,6 @@ public class DefaultOrmQuery implements SpiQuery { copy.temporalMode = temporalMode; copy.firstRow = firstRow; copy.maxRows = maxRows; - copy.rawWhereClause = rawWhereClause; if (orderBy != null) { copy.orderBy = orderBy.copy(); } @@ -599,7 +587,6 @@ public class DefaultOrmQuery implements SpiQuery { copy.parentNode = parentNode; copy.forUpdate = forUpdate; copy.rawSql = rawSql; - copy.rawWhereClause = rawWhereClause; return copy; } @@ -831,7 +818,7 @@ public class DefaultOrmQuery implements SpiQuery { CQueryPlanKey createQueryPlanKey() { queryPlanKey = new OrmQueryPlanKey(includeTableJoin, type, detail, maxRows, firstRow, - disableLazyLoading, rawWhereClause, orderBy, query, additionalWhere, additionalHaving, + disableLazyLoading, orderBy, query, distinct, sqlDistinct, mapKey, id, bindParams, whereExpressions, havingExpressions, temporalMode, forUpdate, rootTableAlias, rawSql, updateProperties); @@ -901,14 +888,6 @@ public class DefaultOrmQuery implements SpiQuery { return rawSql != null; } - /** - * Return any additional where clauses. - */ - @Override - public String getAdditionalWhere() { - return additionalWhere; - } - /** * Return the timeout. */ @@ -917,14 +896,6 @@ public class DefaultOrmQuery implements SpiQuery { return timeout; } - /** - * Return any additional having clauses. - */ - @Override - public String getAdditionalHaving() { - return additionalHaving; - } - @Override public boolean hasMaxRowsOrFirstRow() { return maxRows > 0 || firstRow > 0; @@ -1002,10 +973,6 @@ public class DefaultOrmQuery implements SpiQuery { return this; } - protected void setRawWhereClause(String rawWhereClause) { - this.rawWhereClause = rawWhereClause; - } - @Override public DefaultOrmQuery select(String columns) { detail.select(columns); @@ -1164,14 +1131,6 @@ public class DefaultOrmQuery implements SpiQuery { return orderBy; } - /** - * Return the order by clause. - */ - @Override - public String getRawWhereClause() { - return rawWhereClause; - } - @Override public OrderBy orderBy() { return order(); @@ -1335,22 +1294,9 @@ public class DefaultOrmQuery implements SpiQuery { return query; } - @Override - public DefaultOrmQuery where(String addToWhereClause) { - if (additionalWhere == null) { - additionalWhere = addToWhereClause; - } else { - additionalWhere += " " + addToWhereClause; - } - return this; - } - @Override public DefaultOrmQuery where(Expression expression) { - if (whereExpressions == null) { - whereExpressions = new DefaultExpressionList(this, null); - } - whereExpressions.add(expression); + where().add(expression); return this; } @@ -1371,22 +1317,9 @@ public class DefaultOrmQuery implements SpiQuery { return whereExpressions; } - @Override - public DefaultOrmQuery having(String addToHavingClause) { - if (additionalHaving == null) { - additionalHaving = addToHavingClause; - } else { - additionalHaving += " " + addToHavingClause; - } - return this; - } - @Override public DefaultOrmQuery having(Expression expression) { - if (havingExpressions == null) { - havingExpressions = new DefaultExpressionList(this, null); - } - havingExpressions.add(expression); + having().add(expression); return this; } diff --git a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailParser.java b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailParser.java index 7b2109288..88fa74ee2 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailParser.java +++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailParser.java @@ -36,14 +36,6 @@ public class OrmQueryDetailParser { return detail; } - protected void assign(DefaultOrmQuery query) { - query.setOrmQueryDetail(detail); - query.setFirstRow(firstRow); - query.setMaxRows(maxRows); - query.setRawWhereClause(rawWhereClause); - query.order(rawOrderBy); - } - private void processInitial() { if (parser.isMatch("select")) { readSelect(); diff --git a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryPlanKey.java b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryPlanKey.java index 7565262fd..030c28a23 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryPlanKey.java +++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryPlanKey.java @@ -25,10 +25,7 @@ public class OrmQueryPlanKey implements CQueryPlanKey { private final int maxRows; private final int firstRow; private final boolean disableLazyLoading; - private final String rawWhereClause; private final String query; - private final String additionalWhere; - private final String additionalHaving; private final boolean distinct; private final boolean sqlDistinct; private final String mapKey; @@ -40,7 +37,7 @@ public class OrmQueryPlanKey implements CQueryPlanKey { private final int planHash; private final int bindCount; - public OrmQueryPlanKey(TableJoin includeTableJoin, SpiQuery.Type type, OrmQueryDetail detail, int maxRows, int firstRow, boolean disableLazyLoading, String rawWhereClause, OrderBy orderBy, String query, String additionalWhere, String additionalHaving, boolean distinct, boolean sqlDistinct, String mapKey, Object id, BindParams bindParams, SpiExpression whereExpressions, SpiExpression havingExpressions, SpiQuery.TemporalMode temporalMode, boolean forUpdate, String rootTableAlias, RawSql rawSql, OrmUpdateProperties updateProperties) { + public OrmQueryPlanKey(TableJoin includeTableJoin, SpiQuery.Type type, OrmQueryDetail detail, int maxRows, int firstRow, boolean disableLazyLoading, OrderBy orderBy, String query, boolean distinct, boolean sqlDistinct, String mapKey, Object id, BindParams bindParams, SpiExpression whereExpressions, SpiExpression havingExpressions, SpiQuery.TemporalMode temporalMode, boolean forUpdate, String rootTableAlias, RawSql rawSql, OrmUpdateProperties updateProperties) { this.includeTableJoin = includeTableJoin; this.type = type; @@ -48,11 +45,8 @@ public class OrmQueryPlanKey implements CQueryPlanKey { this.maxRows = maxRows; this.firstRow = firstRow; this.disableLazyLoading = disableLazyLoading; - this.rawWhereClause = rawWhereClause; this.orderByAsSting = (orderBy == null) ? null : orderBy.toStringFormat(); this.query = query; - this.additionalWhere = additionalWhere; - this.additionalHaving = additionalHaving; this.distinct = distinct; this.sqlDistinct = sqlDistinct; this.mapKey = mapKey; @@ -72,7 +66,6 @@ public class OrmQueryPlanKey implements CQueryPlanKey { builder.add(distinct).add(sqlDistinct).add(query); builder.add(firstRow).add(maxRows); builder.add(orderBy).add(forUpdate); - builder.add(rawWhereClause).add(additionalWhere).add(additionalHaving); builder.add(mapKey); builder.add(disableLazyLoading); builder.add(hasIdValue); @@ -138,10 +131,7 @@ public class OrmQueryPlanKey implements CQueryPlanKey { // if (detail != null ? !detail.equals(that.detail) : that.detail != null) return false; - if (rawWhereClause != null ? !rawWhereClause.equals(that.rawWhereClause) : that.rawWhereClause != null) return false; if (query != null ? !query.equals(that.query) : that.query != null) return false; - if (additionalWhere != null ? !additionalWhere.equals(that.additionalWhere) : that.additionalWhere != null) return false; - if (additionalHaving != null ? !additionalHaving.equals(that.additionalHaving) : that.additionalHaving != null) return false; if (mapKey != null ? !mapKey.equals(that.mapKey) : that.mapKey != null) return false; return rootTableAlias != null ? rootTableAlias.equals(that.rootTableAlias) : that.rootTableAlias == null; } diff --git a/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryPlanKeyTest.java b/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryPlanKeyTest.java index 41d8c7084..88359429a 100644 --- a/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryPlanKeyTest.java +++ b/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryPlanKeyTest.java @@ -21,8 +21,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { @Test public void equals_when_defaults() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertSame(key1, key2); } @@ -32,8 +32,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { TableJoin tableJoin = tableJoin("id", "customer_id"); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(tableJoin, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(tableJoin, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @@ -44,8 +44,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { TableJoin tableJoin1 = tableJoin("id", "customer_id"); TableJoin tableJoin2 = tableJoin("id", "other_customer_id"); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(tableJoin1, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(tableJoin2, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(tableJoin1, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(tableJoin2, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @@ -56,8 +56,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { TableJoin tableJoin1 = tableJoin("id", "customer_id"); TableJoin tableJoin2 = tableJoin("id", "customer_id"); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(tableJoin1, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(tableJoin2, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(tableJoin1, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(tableJoin2, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertSame(key1, key2); } @@ -73,8 +73,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { @Test public void equals_when_diffQueryType() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.LIST, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.LIST, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @@ -82,8 +82,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { @Test public void equals_when_firstRowsDifferent() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 10, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 10, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @@ -91,8 +91,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { @Test public void equals_when_maxRowsDifferent() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 10, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 10, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @@ -100,8 +100,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { @Test public void equals_when_firstRowsMaxRowsSame() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 10, 20, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 10, 20, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 10, 20, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 10, 20, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertSame(key1, key2); } @@ -109,26 +109,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { @Test public void equals_when_diffDisableLazyLoading() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, true, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - - assertDifferent(key1, key2); - } - - @Test - public void equals_when_diffRawWhereNull() { - - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, "rawWhere", null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - - assertDifferent(key1, key2); - } - - @Test - public void equals_when_diffRawWhere() { - - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, "rawWhere", null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, "rawDiff", null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, true, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @@ -137,8 +119,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { public void equals_when_diffOrderByNull() { OrderBy o1 = new OrderBy("id"); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, o1, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, o1, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @@ -148,8 +130,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { OrderBy o1 = new OrderBy("id, name"); OrderBy o2 = new OrderBy("id, name"); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, o1, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, o2, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, o1, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, o2, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertSame(key1, key2); } @@ -157,164 +139,121 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { @Test public void equals_when_diffQueryNull() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, "query", null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, "query", false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @Test public void equals_when_diffQuery() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, "query", null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, "queryDiff", null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, "query", false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, "queryDiff", false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @Test public void equals_when_querySame() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, "query", null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, "query", null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, "query", false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, "query", false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertSame(key1, key2); } - @Test - public void equals_when_diffAddWhereNull() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, "addWhere", null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - assertDifferent(key1, key2); - } - - @Test - public void equals_when_diffAddWhere() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, "addWhere", null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, "diff", null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - assertDifferent(key1, key2); - } - - @Test - public void equals_when_sameAddWhere() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, "addWhere", null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, "addWhere", null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - assertSame(key1, key2); - } - - @Test - public void equals_when_diffAddHavingNull() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, "addHaving", false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - assertDifferent(key1, key2); - } - - @Test - public void equals_when_diffAddHaving() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, "addHaving", false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, "diff", false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - assertDifferent(key1, key2); - } - - @Test - public void equals_when_sameAddHaving() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, "addHaving", false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, "addHaving", false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - assertSame(key1, key2); - } - - @Test public void equals_when_diffDistinct() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, true, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, true, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @Test public void equals_when_sameDistinct() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, true, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, true, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, true, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, true, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertSame(key1, key2); } @Test public void equals_when_diffSqlDistinct() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, true, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, true, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @Test public void equals_when_sameSqlDistinct() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, true, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, true, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, true, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, true, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertSame(key1, key2); } @Test public void equals_when_diffMapKeyNull() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, "mapKey", null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, "mapKey", null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @Test public void equals_when_diffMapKey() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, "mapKey", null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, "diff", null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, "mapKey", null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, "diff", null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @Test public void equals_when_sameMapKey() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, "mapKey", null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, "mapKey", null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, "mapKey", null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, "mapKey", null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertSame(key1, key2); } @Test public void equals_when_diffIdNull() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, 42, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, 42, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @Test public void equals_when_idBothGiven() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, 42, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, 23, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, 42, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, 23, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertSame(key1, key2); } @Test public void equals_when_diffTemporalMode() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.DRAFT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.DRAFT, false, null, null, null); assertDifferent(key1, key2); } @Test public void equals_when_diffForUpdate() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, true, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, true, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @Test public void equals_when_diffRootAliasNull() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, "rootAlias", null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, "rootAlias", null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @Test public void equals_when_diffRootAlias() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, "rootAlias", null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, "diff", null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, "rootAlias", null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, "diff", null, null); assertDifferent(key1, key2); } @Test public void equals_when_sameRootAlias() { - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, "rootAlias", null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, "rootAlias", null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, "rootAlias", null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, "rootAlias", null, null); assertSame(key1, key2); } @@ -341,8 +280,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { SpiExpressionList list1 = list_id_eq_42(); SpiExpressionList list2 = list_id_eq_43(); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, list1, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, list2, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, list1, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, list2, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertSame(key1, key2); } @@ -353,8 +292,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { SpiExpressionList where1 = list_id_eq_42(); SpiExpressionList where2 = list_id_eq_42_and_name_eq_rob(); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, where1, null, SpiQuery.TemporalMode.DRAFT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, where2, null, SpiQuery.TemporalMode.DRAFT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, where1, null, SpiQuery.TemporalMode.DRAFT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, where2, null, SpiQuery.TemporalMode.DRAFT, false, null, null, null); assertDifferent(key1, key2); } @@ -363,8 +302,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { SpiExpressionList list1 = list_id_eq_42(); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, list1, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, list1, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @@ -373,8 +312,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { SpiExpressionList list1 = list_id_eq_42(); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, list1, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, list1, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @@ -384,8 +323,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { SpiExpression having1 = list_id_eq_42().copyForPlanKey(); SpiExpression having2 = list_id_eq_42_and_name_eq_rob().copyForPlanKey(); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, having1, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, having2, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, having1, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, having2, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @@ -395,8 +334,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { SpiExpression having1 = list_id_eq_42().copyForPlanKey(); SpiExpression having2 = list_id_eq_42().copyForPlanKey(); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, having1, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, having2, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, having1, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, having2, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertSame(key1, key2); } @@ -405,8 +344,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { SpiExpression having1 = list_id_eq_42().copyForPlanKey(); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, having1, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, having1, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } @@ -415,8 +354,8 @@ public class OrmQueryPlanKeyTest extends BaseExpressionTest { SpiExpression having1 = list_id_eq_42().copyForPlanKey(); - OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); - OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, null, null, null, false, false, null, null, null, null, having1, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key1 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, null, SpiQuery.TemporalMode.CURRENT, false, null, null, null); + OrmQueryPlanKey key2 = new OrmQueryPlanKey(null, SpiQuery.Type.BEAN, null, 0, 0, false, null, null, false, false, null, null, null, null, having1, SpiQuery.TemporalMode.CURRENT, false, null, null, null); assertDifferent(key1, key2); } diff --git a/src/test/java/com/avaje/ebeaninternal/server/querydefn/TestQueryLanguage.java b/src/test/java/com/avaje/ebeaninternal/server/querydefn/TestQueryLanguage.java deleted file mode 100644 index ff9d8e931..000000000 --- a/src/test/java/com/avaje/ebeaninternal/server/querydefn/TestQueryLanguage.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.avaje.ebeaninternal.server.querydefn; - -import com.avaje.ebean.BaseTestCase; -import com.avaje.ebean.Ebean; -import com.avaje.ebeaninternal.api.SpiEbeanServer; -import com.avaje.ebeaninternal.server.deploy.BeanDescriptor; -import com.avaje.ebeaninternal.server.expression.DefaultExpressionFactory; -import com.avaje.tests.model.basic.Order; -import org.junit.Assert; -import org.junit.Test; - -import java.util.Set; - -public class TestQueryLanguage extends BaseTestCase { - - @Test - public void test() { - - DefaultOrmQuery q = check("find order join customer (id, name)"); - OrmQueryDetail detail = q.getDetail(); - OrmQueryProperties chunk = detail.getChunk("customer", false); - Set props = chunk.getIncluded(); - - Assert.assertTrue(props.contains("id")); - Assert.assertTrue(props.contains("name")); - - q = check("find order join customer(id, name)"); - detail = q.getDetail(); - chunk = detail.getChunk("customer", false); - props = chunk.getIncluded(); - - Assert.assertTrue(props.contains("id")); - Assert.assertTrue(props.contains("name")); - Assert.assertFalse(chunk.isCache()); - Assert.assertFalse(chunk.isReadOnly()); - - q = check("find order join customer(+cache +readonly, id, name)"); - detail = q.getDetail(); - chunk = detail.getChunk("customer", false); - props = chunk.getIncluded(); - Assert.assertTrue(props.contains("id")); - Assert.assertTrue(props.contains("name")); - Assert.assertTrue(chunk.isCache()); - Assert.assertTrue(chunk.isReadOnly()); - - q = check("find order join customer(+cache +readonly,id,name)"); - detail = q.getDetail(); - chunk = detail.getChunk("customer", false); - props = chunk.getIncluded(); - Assert.assertTrue(props.contains("id")); - Assert.assertTrue(props.contains("name")); - Assert.assertTrue(chunk.isCache()); - Assert.assertTrue(chunk.isReadOnly()); - - q = check("find order(id,status) join customer(+cache +readonly,id,name)"); - detail = q.getDetail(); - chunk = detail.getChunk("customer", false); - props = chunk.getIncluded(); - Assert.assertTrue(props.contains("id")); - Assert.assertTrue(props.contains("name")); - Assert.assertTrue(chunk.isCache()); - Assert.assertTrue(chunk.isReadOnly()); - - chunk = detail.getChunk(null, false); - props = chunk.getIncluded(); - Assert.assertTrue(props.contains("id")); - Assert.assertTrue(props.contains("status")); - Assert.assertFalse(props.contains("orderDate")); - - q = check("find order(id,status) join customer(+cache +readonly,id,name) where id > :minId order by status"); - detail = q.getDetail(); - chunk = detail.getChunk("customer", false); - props = chunk.getIncluded(); - Assert.assertTrue(props.contains("id")); - Assert.assertTrue(props.contains("name")); - Assert.assertTrue(chunk.isCache()); - Assert.assertTrue(chunk.isReadOnly()); - - String orderBy = q.getOrderBy().toStringFormat(); - Assert.assertEquals("status", orderBy); - } - - private DefaultOrmQuery check(String q) { - - SpiEbeanServer server = (SpiEbeanServer)Ebean.getServer(null); - - OrmQueryDetailParser p = new OrmQueryDetailParser(q); - p.parse(); - - BeanDescriptor desc = server.getBeanDescriptor(Order.class); - DefaultOrmQuery qry = new DefaultOrmQuery(desc, server, - new DefaultExpressionFactory(false, false)); - p.assign(qry); - - return qry; - } -} diff --git a/src/test/java/com/avaje/tests/el/TestUnderscoreParam.java b/src/test/java/com/avaje/tests/el/TestUnderscoreParam.java index 544310554..5626f3be4 100644 --- a/src/test/java/com/avaje/tests/el/TestUnderscoreParam.java +++ b/src/test/java/com/avaje/tests/el/TestUnderscoreParam.java @@ -1,25 +1,25 @@ package com.avaje.tests.el; -import java.util.List; - -import junit.framework.TestCase; - -import org.junit.Assert; - import com.avaje.ebean.Ebean; +import com.avaje.ebean.Query; import com.avaje.tests.model.basic.Customer; +import org.junit.Test; -public class TestUnderscoreParam extends TestCase { +import static org.assertj.core.api.Assertions.assertThat; + +public class TestUnderscoreParam { + + @Test + public void test() { + + Query query = Ebean.find(Customer.class) + .where().raw("name like ?", "Rob%") + .query(); + + query.findList(); + + assertThat(query.getGeneratedSql()).contains("where t0.name like ?"); + + } - public void test() { - - List list = Ebean.find(Customer.class) - .where("name like :cust_name") - .setParameter("cust_name", "Rob%") - .findList(); - - Assert.assertNotNull(list); - - } - }