From a7a056f041a8658838de85fd30c2276298b74568 Mon Sep 17 00:00:00 2001
From: rbygrave
Date: Mon, 20 Sep 2021 12:35:00 +1200
Subject: [PATCH] #2379 - Refactor tidy internals only - method names and tidy
for internal BatchPstmt and related
---
.../server/persist/BatchControl.java | 19 ++++++------------
.../server/persist/BatchDepthComparator.java | 3 +--
.../server/persist/BatchedBeanHolder.java | 2 +-
.../server/persist/BatchedPstmt.java | 11 +++-------
.../server/persist/BatchedPstmtHolder.java | 16 +++++++--------
.../server/persist/ExeCallableSql.java | 6 ++----
.../server/persist/ExeOrmUpdate.java | 10 ++--------
.../server/persist/ExeUpdateSql.java | 8 ++------
.../server/persist/PstmtFactory.java | 20 +++++++++----------
.../server/persist/dml/DmlHandler.java | 6 +++---
10 files changed, 37 insertions(+), 64 deletions(-)
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchControl.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchControl.java
index 37b41ff98..b17dfb1be 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchControl.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchControl.java
@@ -101,7 +101,6 @@ public final class BatchControl {
* Note that UpdateSql and CallableSql will ALWAYS flush first. This is due to
* it already having been bound to a PreparedStatement where as the Beans go
* through a 2 step process when they are flushed (delayed binding).
- *
*/
public void setBatchFlushOnMixed(boolean flushBatchOnMixed) {
this.batchFlushOnMixed = flushBatchOnMixed;
@@ -111,7 +110,6 @@ public final class BatchControl {
* Set the size of batch execution.
*
* The user can set this via the Transaction.
- *
*/
public void setBatchSize(int batchSize) {
if (batchSize > 1) {
@@ -123,7 +121,6 @@ public final class BatchControl {
* Set whether or not to use getGeneratedKeys for this batch execution.
*
* The user can set this via the transaction
- *
*/
public void setGetGeneratedKeys(Boolean getGeneratedKeys) {
if (getGeneratedKeys != null) {
@@ -147,7 +144,7 @@ public final class BatchControl {
// execute the request immediately without batching
return request.executeNow();
}
- if (!addBatch && pstmtHolder.getMaxSize() >= batchSize) {
+ if (!addBatch && pstmtHolder.maxSize() >= batchSize) {
flush();
}
// for OrmUpdate, SqlUpdate, CallableSql there is no queue...
@@ -188,10 +185,8 @@ public final class BatchControl {
// as the bean gets changed from dirty to loaded earlier)
return false;
}
-
- BatchedBeanHolder beanHolder = getBeanHolder(request);
+ BatchedBeanHolder beanHolder = beanHolder(request);
int bufferSize = beanHolder.append(request);
-
bufferMax = Math.max(bufferMax, bufferSize);
// flush if any buffer hits 10 times batch size
return (bufferMax >= batchSize * 10);
@@ -200,7 +195,7 @@ public final class BatchControl {
/**
* Return the actual batch of PreparedStatements.
*/
- public BatchedPstmtHolder getPstmtHolder() {
+ public BatchedPstmtHolder pstmtHolder() {
return pstmtHolder;
}
@@ -315,7 +310,7 @@ public final class BatchControl {
private void executeAll() throws BatchedSqlException {
do {
// convert entry map to array for sorting
- BatchedBeanHolder[] bsArray = getBeanHolderArray();
+ BatchedBeanHolder[] bsArray = beanHolderArray();
Arrays.sort(bsArray, depthComparator);
if (transaction.isLogSummary()) {
transaction.logSummary("BatchControl flush " + Arrays.toString(bsArray));
@@ -342,13 +337,11 @@ public final class BatchControl {
* Return an entry for the given type description. The type description is
* typically the bean class name (or table name for MapBeans).
*/
- private BatchedBeanHolder getBeanHolder(PersistRequestBean> request) {
-
+ private BatchedBeanHolder beanHolder(PersistRequestBean> request) {
int depth = transaction.depth();
BeanDescriptor> desc = request.descriptor();
// batching by bean type AND depth
String key = desc.rootName() + ":" + depth;
-
BatchedBeanHolder batchBeanHolder = beanHoldMap.get(key);
if (batchBeanHolder == null) {
int ordering = depthOrder.orderingFor(depth);
@@ -368,7 +361,7 @@ public final class BatchControl {
/**
* Return the BatchedBeanHolder's ready for sorting and executing.
*/
- private BatchedBeanHolder[] getBeanHolderArray() {
+ private BatchedBeanHolder[] beanHolderArray() {
return beanHoldMap.values().toArray(new BatchedBeanHolder[0]);
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchDepthComparator.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchDepthComparator.java
index 66756b4a1..450b6f2f3 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchDepthComparator.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchDepthComparator.java
@@ -18,8 +18,7 @@ final class BatchDepthComparator implements Comparator, Seria
@Override
public int compare(BatchedBeanHolder b1, BatchedBeanHolder b2) {
-
- return Integer.compare(b1.getOrder(), b2.getOrder());
+ return Integer.compare(b1.order(), b2.order());
}
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedBeanHolder.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedBeanHolder.java
index fb91333e4..f474b1a9c 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedBeanHolder.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedBeanHolder.java
@@ -64,7 +64,7 @@ final class BatchedBeanHolder {
/**
* Return the depth.
*/
- public int getOrder() {
+ public int order() {
return order;
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedPstmt.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedPstmt.java
index 9afd4d6e8..ff4326593 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedPstmt.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedPstmt.java
@@ -38,16 +38,11 @@ public final class BatchedPstmt implements SpiProfileTransactionEvent {
* The list of BatchPostExecute used to perform post processing.
*/
private final List list = new ArrayList<>();
-
private final String sql;
-
private final SpiTransaction transaction;
-
private long profileStart;
private long timedStart;
-
private int[] results;
-
private List inputStreams;
/**
@@ -75,14 +70,14 @@ public final class BatchedPstmt implements SpiProfileTransactionEvent {
/**
* Return the sql
*/
- public String getSql() {
+ public String sql() {
return sql;
}
/**
* Return the statement adding the postExecute task.
*/
- public PreparedStatement getStatement(BatchPostExecute postExecute) throws SQLException {
+ public PreparedStatement statement(BatchPostExecute postExecute) throws SQLException {
if (postExecute.isFlushQueue() && list.size() >= 20) {
flushStatementBatch();
}
@@ -191,7 +186,7 @@ public final class BatchedPstmt implements SpiProfileTransactionEvent {
/**
* Return the execution results (row counts).
*/
- public int[] getResults() {
+ public int[] results() {
return results;
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedPstmtHolder.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedPstmtHolder.java
index 50ed43900..00b12ea2c 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedPstmtHolder.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/BatchedPstmtHolder.java
@@ -35,15 +35,15 @@ public final class BatchedPstmtHolder {
* Return the PreparedStatement if it has already been used in this Batch.
* This will return null if no matching PreparedStatement is found.
*/
- PreparedStatement getStmt(String stmtKey, BatchPostExecute postExecute) throws SQLException {
- BatchedPstmt batchedPstmt = getBatchedPstmt(stmtKey);
- return (batchedPstmt == null) ? null : batchedPstmt.getStatement(postExecute);
+ PreparedStatement stmt(String stmtKey, BatchPostExecute postExecute) throws SQLException {
+ BatchedPstmt batchedPstmt = batchedPstmt(stmtKey);
+ return (batchedPstmt == null) ? null : batchedPstmt.statement(postExecute);
}
/**
* Return the BatchedPstmt that holds the batched statement.
*/
- public BatchedPstmt getBatchedPstmt(String stmtKey) {
+ public BatchedPstmt batchedPstmt(String stmtKey) {
BatchedPstmt bs = stmtMap.get(stmtKey);
if (bs == null) {
return null;
@@ -61,7 +61,7 @@ public final class BatchedPstmtHolder {
* Return the size of the biggest batched statement.
* Used to determine when to flush the batch.
*/
- int getMaxSize() {
+ int maxSize() {
return maxSize;
}
@@ -70,7 +70,7 @@ public final class BatchedPstmtHolder {
*/
public void addStmt(BatchedPstmt bs, BatchPostExecute postExecute) {
bs.add(postExecute);
- stmtMap.put(bs.getSql(), bs);
+ stmtMap.put(bs.sql(), bs);
}
/**
@@ -97,7 +97,7 @@ public final class BatchedPstmtHolder {
throw new PersistenceException("No batched statement found for key " + key);
}
batchedPstmt.executeBatch(getGeneratedKeys);
- return batchedPstmt.getResults();
+ return batchedPstmt.results();
}
/**
@@ -138,7 +138,7 @@ public final class BatchedPstmtHolder {
try {
bs.executeBatch(getGeneratedKeys);
} catch (SQLException ex) {
- throw new BatchedSqlException("Error when batch flush on sql: " + bs.getSql(), ex);
+ throw new BatchedSqlException("Error when batch flush on sql: " + bs.sql(), ex);
}
}
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeCallableSql.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeCallableSql.java
index 150e02050..1849cb811 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeCallableSql.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeCallableSql.java
@@ -68,18 +68,16 @@ final class ExeCallableSql {
CallableStatement cstmt;
if (batchThisRequest) {
- cstmt = pstmtFactory.getCstmtBatch(t, logSql, sql, request);
+ cstmt = pstmtFactory.cstmtBatch(t, logSql, sql, request);
} else {
if (logSql) {
t.logSql(TrimLogSql.trim(sql));
}
- cstmt = pstmtFactory.getCstmt(t, sql);
+ cstmt = pstmtFactory.cstmt(t, sql);
}
-
if (callableSql.getTimeout() > 0) {
cstmt.setQueryTimeout(callableSql.getTimeout());
}
-
String bindLog = null;
if (!bindParams.isEmpty()) {
bindLog = binder.bind(bindParams, cstmt, t.getInternalConnection());
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeOrmUpdate.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeOrmUpdate.java
index d6839adca..1725c5242 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeOrmUpdate.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeOrmUpdate.java
@@ -72,33 +72,27 @@ final class ExeOrmUpdate {
SpiTransaction t = request.transaction();
String sql = ormUpdate.getUpdateStatement();
-
// convert bean and property names to table and
// column names if required
sql = translate(request, sql);
-
BindParams bindParams = ormUpdate.getBindParams();
-
// process named parameters if required
sql = BindParamsParser.parse(bindParams, sql);
-
ormUpdate.setGeneratedSql(sql);
PreparedStatement pstmt;
if (batchThisRequest) {
- pstmt = pstmtFactory.getPstmtBatch(t, sql, request);
+ pstmt = pstmtFactory.pstmtBatch(t, sql, request);
} else {
if (t.isLogSql()) {
t.logSql(sql);
}
- pstmt = pstmtFactory.getPstmt(t, sql, false);
+ pstmt = pstmtFactory.pstmt(t, sql, false);
}
-
String bindLog = null;
if (!bindParams.isEmpty()) {
bindLog = binder.bind(bindParams, pstmt, t.getInternalConnection());
}
-
request.setBindLog(bindLog);
return pstmt;
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeUpdateSql.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeUpdateSql.java
index 2261c81b2..20b20ef71 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeUpdateSql.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/ExeUpdateSql.java
@@ -86,23 +86,19 @@ final class ExeUpdateSql {
PreparedStatement pstmt;
if (batchThisRequest) {
- pstmt = pstmtFactory.getPstmtBatch(t, sql, request);
+ pstmt = pstmtFactory.pstmtBatch(t, sql, request);
} else {
- pstmt = pstmtFactory.getPstmt(t, sql, request.isGetGeneratedKeys());
+ pstmt = pstmtFactory.pstmt(t, sql, request.isGetGeneratedKeys());
}
-
if (updateSql.getTimeout() > 0) {
pstmt.setQueryTimeout(updateSql.getTimeout());
}
-
String bindLog = null;
if (!bindParams.isEmpty()) {
bindLog = binder.bind(bindParams, pstmt, t.getInternalConnection());
}
-
request.setBindLog(bindLog);
updateSql.setGeneratedSql(sql);
-
if (batchThisRequest) {
request.logSqlBatchBind();
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/PstmtFactory.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/PstmtFactory.java
index fb47147da..39f0ead4d 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/PstmtFactory.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/PstmtFactory.java
@@ -20,7 +20,7 @@ final class PstmtFactory {
/**
* Get a callable statement without any batching.
*/
- CallableStatement getCstmt(SpiTransaction t, String sql) throws SQLException {
+ CallableStatement cstmt(SpiTransaction t, String sql) throws SQLException {
Connection conn = t.getInternalConnection();
return conn.prepareCall(sql);
}
@@ -28,7 +28,7 @@ final class PstmtFactory {
/**
* Get a prepared statement without any batching.
*/
- PreparedStatement getPstmt(SpiTransaction t, String sql, boolean getGeneratedKeys) throws SQLException {
+ PreparedStatement pstmt(SpiTransaction t, String sql, boolean getGeneratedKeys) throws SQLException {
Connection conn = t.getInternalConnection();
if (getGeneratedKeys) {
return conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
@@ -40,16 +40,15 @@ final class PstmtFactory {
/**
* Return a prepared statement taking into account batch requirements.
*/
- PreparedStatement getPstmtBatch(SpiTransaction t, String sql, BatchPostExecute batchExe) throws SQLException {
- BatchedPstmtHolder batch = t.getBatchControl().getPstmtHolder();
- BatchedPstmt existingStmt = batch.getBatchedPstmt(sql);
+ PreparedStatement pstmtBatch(SpiTransaction t, String sql, BatchPostExecute batchExe) throws SQLException {
+ BatchedPstmtHolder batch = t.getBatchControl().pstmtHolder();
+ BatchedPstmt existingStmt = batch.batchedPstmt(sql);
if (existingStmt != null) {
if (existingStmt.isEmpty() && t.isLogSql()) {
t.logSql(TrimLogSql.trim(sql));
}
- return existingStmt.getStatement(batchExe);
+ return existingStmt.statement(batchExe);
}
-
if (t.isLogSql()) {
t.logSql(TrimLogSql.trim(sql));
}
@@ -63,13 +62,12 @@ final class PstmtFactory {
/**
* Return a callable statement taking into account batch requirements.
*/
- CallableStatement getCstmtBatch(SpiTransaction t, boolean logSql, String sql, BatchPostExecute batchExe) throws SQLException {
- BatchedPstmtHolder batch = t.getBatchControl().getPstmtHolder();
- CallableStatement stmt = (CallableStatement) batch.getStmt(sql, batchExe);
+ CallableStatement cstmtBatch(SpiTransaction t, boolean logSql, String sql, BatchPostExecute batchExe) throws SQLException {
+ BatchedPstmtHolder batch = t.getBatchControl().pstmtHolder();
+ CallableStatement stmt = (CallableStatement) batch.stmt(sql, batchExe);
if (stmt != null) {
return stmt;
}
-
if (logSql) {
t.logSql(sql);
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/dml/DmlHandler.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/dml/DmlHandler.java
index 7785223c6..7babd6530 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/dml/DmlHandler.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/dml/DmlHandler.java
@@ -249,11 +249,11 @@ public abstract class DmlHandler implements PersistHandler, BindableRequest {
* Return a prepared statement taking into account batch requirements.
*/
PreparedStatement getPstmtBatch(SpiTransaction t, String sql, PersistRequestBean> request, boolean genKeys) throws SQLException {
- BatchedPstmtHolder batch = t.getBatchControl().getPstmtHolder();
- batchedPstmt = batch.getBatchedPstmt(sql);
+ BatchedPstmtHolder batch = t.getBatchControl().pstmtHolder();
+ batchedPstmt = batch.batchedPstmt(sql);
if (batchedPstmt != null) {
batchedStatus = batchedPstmt.isEmpty() ? BATCHED_FIRST : BATCHED;
- return batchedPstmt.getStatement(request);
+ return batchedPstmt.statement(request);
}
batchedStatus = BATCHED_FIRST;
PreparedStatement stmt = getPstmt(t, sql, genKeys);