Commit Graph
925 Commits
Author SHA1 Message Date
Rob Bygrave d27d20dd1c Refactor ebean-core internal API - getters -> accessors 2023-06-02 09:03:29 +12:00
Rob Bygrave 2929483b0d Refactor ebean-core internal API - getters -> accessors 2023-06-01 22:05:53 +12:00
Rob Bygrave 2ab7c3529a Tidy ebean-core internal API
- Remove unused BeanIdList
2023-06-01 21:27:55 +12:00
Rob Bygrave e71be4e1b1 Deprecate order() methods on Query, ExpressionList - migrate to orderBy()
Unfortunately we have order() and orderBy() methods which do the
same thing. I have decided to deprecate the order() ones in
favour of the orderBy() methods so that ultimately we will end
up with less methods and I think orderBy() is the correct choice.

Apologies for the migration pain here.
2023-06-01 21:21:39 +12:00
Rob Bygrave 430926c5a9 Remove deprecated Query setLoadBeanCache() - migrate to setBeanCacheMode()
Typically migrate to `.setBeanCacheMode(CacheMode.PUT)` or `.setBeanCacheMode(CacheMode.OFF)`

```java

  /**
   * Deprecated - migrate to use setBeanCacheMode(CacheMode.PUT) or other CacheMode.
   * <p>
   * When set to true all the beans from this query are loaded into the bean cache.
   */
  @Deprecated
  Query<T> setLoadBeanCache(boolean loadBeanCache);

```
2023-06-01 20:44:31 +12:00
Rob Bygrave f21caa0755 Remove deprecated ExpressionList.setOrderBy() - migrate to orderBy()
Migrate to `.orderBy(String orderBy)`

```java

  /**
   * Deprecated migrate to {@link #orderBy(String)}
   */
  @Deprecated
  Query<T> setOrderBy(String orderBy);

```
2023-06-01 20:34:04 +12:00
Rob Bygrave 4c47a84daf Remove deprecated DatabaseConfig.defaultOrderById
Should no longer be used / set to true.

```java

  /**
   * Deprecated - look to have explicit order by. Sets the default orderById setting for queries.
   */
  @Deprecated
  public void setDefaultOrderById(boolean defaultOrderById) {
    this.defaultOrderById = defaultOrderById;
  }

```
2023-06-01 20:09:14 +12:00
Rob Bygrave 4878ca47b5 Remove deprecated ExtendedServer query methods - use query.usingTransaction() instead
Removing all the deprecated query methods from ExtendedServer. Migrate to passing
the explicit transaction to the query using query.usingTransaction() instead.
2023-06-01 19:45:17 +12:00
robin.bygrave 34db4d0c1f Refactor internal dto methods to use accessors 2023-05-26 15:09:11 +12:00
robin.bygrave 7635630808 Use Statement for truncate table and postgres version query 2023-05-26 15:03:13 +12:00
robin.bygrave 75e69a0a23 #3062 - DtoQuery may match the wrong constructor
When 2 or more Dto constructors clash by argument count
then we need to ignore those constructors.
2023-05-25 21:57:54 +12:00
Roland Praml e207b4720b DB.refrence throws EntityNotFoundException instead returning null 2023-05-23 08:37:52 +02:00
robin.bygrave b210d1a6a7 From #3060 - Add missing @Nullable to ExpressionList.findSingleAttribute() 2023-05-23 16:12:13 +12:00
Rob BygraveandGitHub d53ca87d43 Merge pull request #3057 from FOCONIS/property-value-intercept
Property.value use intercept to trigger lazy load
2023-05-23 13:36:09 +12:00
Rob BygraveandGitHub 635820cab5 Merge pull request #3058 from ebean-orm/feature/BeanProperty-value-to-getValue
No functional change, change use of BeanProperty.value() to BeanProperty.getValue()
2023-05-19 16:09:37 +12:00
Rob BygraveandGitHub aedb0fdcac Merge pull request #3063 from ebean-orm/feature/improve-error-message-no-join-columns
Use DeployBeanProperty toString() removing getFullBeanName()
2023-05-19 16:08:54 +12:00
robin.bygrave 4db1925328 No functional change, change use of BeanProperty.value() to BeanProperty.getValue()
Noting that value() currently calls through to getValue() hence
this is no real change. This is done because value() is also
a public method Property.value() [and this should probably
change to use getValueIntercept() rather than getValue()]
2023-05-17 15:31:52 +12:00
Roland Praml 6f2a444954 Property.value use intercept 2023-05-16 15:28:30 +02:00
robin.bygrave 742f3b6dc4 ENH: Add captureMicros and whenCaptured to MetaQueryPlan
- captureMicros is the time taken to capture the specific query plan
- whenCaptured is the time when the bind values were taken

The DefaultQueryPlanListener logging will include these in the
output it logs
2023-05-16 13:47:27 +12:00
Rob BygraveandGitHub 753617a616 Merge pull request #3039 from FOCONIS/detailed-error-message
Throw excepction when trying to create unregistered bean
2023-05-10 16:37:18 +12:00
Rob BygraveandGitHub 114da00d98 Merge pull request #3040 from FOCONIS/correct-quotes
FIX: Use correct quotes when logging
2023-05-10 16:36:27 +12:00
Rob Bygrave 06cad500c1 #3031 Improve error message 2023-05-10 00:34:27 +12:00
Rob Bygrave e6bf46e8c4 Improve error message for #3031 2023-05-09 23:37:05 +12:00
Rob Bygrave 4c9f0f23f0 Fix SqlTreeLoadBean to only register new beans into load context
Additionally, refactor LoadBeanRequest moving the MarkedAsDeleted logging
2023-05-09 22:49:17 +12:00
Rob Bygrave 05ab1ba25e Modify MarkedAsDeleted to ignore beans added during load
Adds the additional queryIds.contains(id) check
2023-05-01 13:11:03 +12:00
Roland Praml 82a6ec6957 Fix also other places 2023-04-26 11:11:12 +02:00
Roland Praml cf1c08c4ac FIX: Use correct quotes when logging 2023-04-26 10:59:41 +02:00
Roland Praml d32df16137 Throw excepction when trying to create unregistered bean 2023-04-26 10:56:14 +02:00
Rob Bygrave c8852c521e Update MarkedAsDeleted logging to included check for loadingStarted 2023-04-21 02:43:34 +12:00
Rob Bygrave a986d0c8cd Change MarkedAsDeleted to log batch before state 2023-04-17 22:18:33 +12:00
Rob Bygrave af613d3096 Add the [+query,+cache,+lazy] query type to the profile label 2023-04-06 21:59:51 +12:00
Rob Bygrave 31a0d9b6a6 Add test only - add PathStackTest 2023-04-06 15:03:14 +12:00
Rob BygraveandGitHub 95fbdf37c6 Merge pull request #3021 from ebean-orm/feature/3020-forUpdateRefresh
#3020 Query.forUpdate() works like REFRESH
2023-04-06 14:11:43 +12:00
Rob BygraveandGitHub 1d09c0864d Merge pull request #3019 from ebean-orm/refactor/method-names-ObjectGraphOrigin
Refactor rename getters to accessors for ObjectGraphOrigin etc
2023-04-06 14:11:23 +12:00
Rob BygraveandGitHub 85b700757d Merge pull request #3010 from ebean-orm/feature/support-dynamicFormulaWithIncludes
Add support for dynamic formula with includes
2023-04-06 14:10:26 +12:00
Rob BygraveandGitHub d5838e3d64 Merge pull request #3009 from ebean-orm/build/13-16
Build 13.17.0
2023-04-06 14:09:53 +12:00
Rob Bygrave 1daad7af06 #3020 Query.forUpdate() works like REFRESH
Query.forUpdate() will load data into beans existing in the persistence context.
In discussion the thinking is that we can think of this as a bug fix.
2023-04-01 13:24:37 +13:00
Rob Bygrave e51d6984fe Refactor rename getters to accessors for BeanCollection, EntityBeanIntercept etc 2023-03-31 10:42:21 +13:00
Rob Bygrave c2777b0e27 Refactor rename getters to accessors for ObjectGraphOrigin etc 2023-03-30 23:58:22 +13:00
Rob Bygrave e1522df8a5 Fix for #3012 Manual server shutdown leads to memory leak
The issue being that shutdown() // with no args was
not calling ShutdownManager.unregisterDatabase(this)
noting that shutdown(boolean, boolean) did.

This change merges the old shutdownInternal(boolean, boolean)
method into shutdown(boolean, boolean) and simplifies
shutdown() to just call shutdown(boolean, boolean).
2023-03-29 20:59:23 +13:00
Rob Bygrave 2d03421de4 Use DeployBeanProperty toString() removing getFullBeanName() 2023-03-28 18:44:00 +13:00
Rob Bygrave 4617ea2c1c Improve the error message "No join columns found" to include the relationship 2023-03-27 21:44:23 +13:00
Rob Bygrave 55d7eb55d2 Add support for dynamic formula with includes
e.g.

DB.find(ChildPerson.class)
  .select("name, coalesce(someBean, parent.someBean) as effectiveBean") // include parent
  .findList();
2023-03-25 15:49:17 +13:00
Rob BygraveandGitHub 7feb193e95 Merge pull request #3007 from ebean-orm/refactor/rename-loadContext-methods
Refactor rename methods in LoadContext
2023-03-25 15:39:40 +13:00
Rob Bygrave 79fd689e9a Add support for raw SQL SubQuery expressions IN,EQ,NE,GT,GE,LT,LE,EXISTS,Not IN, Not EXISTS
For these expressions the SQL SubQuery is not parsed by ebean and
just used as is.
2023-03-24 22:38:52 +13:00
Rob Bygrave a68665a37e Refactor rename methods on SpiExpressionRequest, DeployParser etc 2023-03-24 19:57:21 +13:00
Rob Bygrave 9ff240dc10 Refactor SpiExpressionRequest split parse() into property() and path() to have fast path
property() uses a fast path for the common case that the expression is a bean property path.
This will then fall back to using parse() when that isn't the case.
2023-03-24 19:35:11 +13:00
Rob Bygrave 9982fa3682 Refactor SpiExpressionRequest split append() into append() and parse()
- append() adds to the sql with NO parsing
- parse() adds to the sql with parsing to replace logical bean paths into table alias placeholder + db column
2023-03-24 17:37:34 +13:00
Rob Bygrave f7a11135a5 Refactor rename methods in LoadContext
Rename internal methods only
2023-03-23 22:11:02 +13:00
Rob Bygrave c29a81248a Remove internal asserts on DLoadBeanContext bufferLock 2023-03-23 22:07:59 +13:00