Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -237,8 +237,7 @@ public Object clone() {

@Override
public String toString() {
return (new StringBuilder(128).append("TransactionInfo[type=").append(toString(type)).append(", state=").append(state).append(", home broker=")
.append(txnHomeBroker).append(", brokers=").append(Arrays.toString(txnBkrs)).append(']').toString());
return "TransactionInfo[type=" + toString(type) + ", state=" + state + ", home broker=" + txnHomeBroker + ", brokers=" + Arrays.toString(txnBkrs) + ']';
}

public static String toString(int type) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,84 +75,53 @@ class BrokerDAOImpl extends BaseDAOImpl implements BrokerDAO {

tableName = dbMgr.getTableName(TABLE_NAME_PREFIX);

insertSQL = new StringBuilder(128).append("INSERT INTO ").append(tableName).append(" ( ").append(ID_COLUMN).append(", ").append(URL_COLUMN).append(", ")
.append(VERSION_COLUMN).append(", ").append(STATE_COLUMN).append(", ").append(TAKEOVER_BROKER_COLUMN).append(", ").append(HEARTBEAT_TS_COLUMN)
.append(") VALUES ( ?, ?, ?, ?, ?, ? )").toString();
insertSQL = "INSERT INTO " + tableName + " ( " + ID_COLUMN + ", " + URL_COLUMN + ", " + VERSION_COLUMN + ", " + STATE_COLUMN + ", " + TAKEOVER_BROKER_COLUMN + ", " + HEARTBEAT_TS_COLUMN + ") VALUES ( ?, ?, ?, ?, ?, ? )";

updateVersionSQL = new StringBuilder(128).append("UPDATE ").append(tableName).append(" SET ").append(VERSION_COLUMN).append(" = ? ").append(" WHERE ")
.append(ID_COLUMN).append(" = ?").toString();
updateVersionSQL = "UPDATE " + tableName + " SET " + VERSION_COLUMN + " = ? " + " WHERE " + ID_COLUMN + " = ?";

updateURLSQL = new StringBuilder(128).append("UPDATE ").append(tableName).append(" SET ").append(URL_COLUMN).append(" = ? ").append(" WHERE ")
.append(ID_COLUMN).append(" = ?").toString();
updateURLSQL = "UPDATE " + tableName + " SET " + URL_COLUMN + " = ? " + " WHERE " + ID_COLUMN + " = ?";

resetTakeoverBrokerSQL = new StringBuilder(128).append("UPDATE ").append(tableName).append(" SET ").append(TAKEOVER_BROKER_COLUMN).append(" = NULL, ")
.append(STATE_COLUMN).append(" = ? ").append(" WHERE ").append(ID_COLUMN).append(" = ?").append(" AND ").append(TAKEOVER_BROKER_COLUMN)
.append(" IS NOT NULL").append(" AND ").append(STATE_COLUMN).append(" = ").append(BrokerState.I_FAILOVER_COMPLETE).toString();
resetTakeoverBrokerSQL = "UPDATE " + tableName + " SET " + TAKEOVER_BROKER_COLUMN + " = NULL, " + STATE_COLUMN + " = ? " + " WHERE " + ID_COLUMN + " = ?" + " AND " + TAKEOVER_BROKER_COLUMN + " IS NOT NULL" + " AND " + STATE_COLUMN + " = " + (BrokerState.I_FAILOVER_COMPLETE);

restoreOnTakeoverFailSQL = new StringBuilder(128).append("UPDATE ").append(tableName).append(" SET ").append(TAKEOVER_BROKER_COLUMN).append(" = NULL, ")
.append(STATE_COLUMN).append(" = ? ").append(" WHERE ").append(ID_COLUMN).append(" = ?").append(" AND ").append(STATE_COLUMN).append(" = ")
.append(BrokerState.I_FAILOVER_STARTED).append(" AND ").append(TAKEOVER_BROKER_COLUMN).append(" = ?").toString();
restoreOnTakeoverFailSQL = "UPDATE " + tableName + " SET " + TAKEOVER_BROKER_COLUMN + " = NULL, " + STATE_COLUMN + " = ? " + " WHERE " + ID_COLUMN + " = ?" + " AND " + STATE_COLUMN + " = " + (BrokerState.I_FAILOVER_STARTED) + " AND " + TAKEOVER_BROKER_COLUMN + " = ?";

restoreHeartbeatOnTakeoverFailSQL = new StringBuilder(128).append("UPDATE ").append(tableName).append(" SET ").append(HEARTBEAT_TS_COLUMN)
.append(" = ? ").append(" WHERE ").append(ID_COLUMN).append(" = ?").append(" AND ").append(STATE_COLUMN).append(" = ")
.append(BrokerState.I_FAILOVER_STARTED).append(" AND ").append(HEARTBEAT_TS_COLUMN).append(" = ? ").append(" AND ")
.append(TAKEOVER_BROKER_COLUMN).append(" = ?").toString();
restoreHeartbeatOnTakeoverFailSQL = "UPDATE " + tableName + " SET " + HEARTBEAT_TS_COLUMN + " = ? " + " WHERE " + ID_COLUMN + " = ?" + " AND " + STATE_COLUMN + " = " + (BrokerState.I_FAILOVER_STARTED) + " AND " + HEARTBEAT_TS_COLUMN + " = ? " + " AND " + TAKEOVER_BROKER_COLUMN + " = ?";

updateHeartbeatSQL = new StringBuilder(128).append("UPDATE ").append(tableName).append(" SET ").append(HEARTBEAT_TS_COLUMN).append(" = ?")
.append(" WHERE ").append(ID_COLUMN).append(" = ?").toString();
updateHeartbeatSQL = "UPDATE " + tableName + " SET " + HEARTBEAT_TS_COLUMN + " = ?" + " WHERE " + ID_COLUMN + " = ?";

updateHeartbeatAndCheckStateSQL = new StringBuilder(updateHeartbeatSQL).append(" AND ").append(HEARTBEAT_TS_COLUMN).append(" = ?").append(" AND ")
.append(STATE_COLUMN).append(" NOT IN (").append(BrokerState.I_FAILOVER_PENDING).append(", ").append(BrokerState.I_FAILOVER_STARTED)
.append(", ").append(BrokerState.I_FAILOVER_COMPLETE).append(", ").append(BrokerState.I_FAILOVER_FAILED).append(')').toString();
updateHeartbeatAndCheckStateSQL = updateHeartbeatSQL + " AND " + HEARTBEAT_TS_COLUMN + " = ?" + " AND " + STATE_COLUMN + " NOT IN (" + (BrokerState.I_FAILOVER_PENDING) + ", " + (BrokerState.I_FAILOVER_STARTED) + ", " + (BrokerState.I_FAILOVER_COMPLETE) + ", " + (BrokerState.I_FAILOVER_FAILED) + ')';

updateStateThisBrokerSQL = new StringBuilder(128).append("UPDATE ").append(tableName).append(" SET ").append(STATE_COLUMN).append(" = ?")
.append(" WHERE ").append(ID_COLUMN).append(" = ?").append(" AND ").append(STATE_COLUMN).append(" = ?").append(" AND ")
.append(TAKEOVER_BROKER_COLUMN).append(" IS NULL ").toString();
updateStateThisBrokerSQL = "UPDATE " + tableName + " SET " + STATE_COLUMN + " = ?" + " WHERE " + ID_COLUMN + " = ?" + " AND " + STATE_COLUMN + " = ?" + " AND " + TAKEOVER_BROKER_COLUMN + " IS NULL ";

updateStateOtherBrokerSQL = new StringBuilder(128).append("UPDATE ").append(tableName).append(" SET ").append(STATE_COLUMN).append(" = ?")
.append(" WHERE ").append(ID_COLUMN).append(" = ?").append(" AND ").append(STATE_COLUMN).append(" = ?").append(" AND ")
.append(TAKEOVER_BROKER_COLUMN).append(" = ?").toString();
updateStateOtherBrokerSQL = "UPDATE " + tableName + " SET " + STATE_COLUMN + " = ?" + " WHERE " + ID_COLUMN + " = ?" + " AND " + STATE_COLUMN + " = ?" + " AND " + TAKEOVER_BROKER_COLUMN + " = ?";

takeoverSQL = new StringBuilder(128).append("UPDATE ").append(tableName).append(" SET ").append(TAKEOVER_BROKER_COLUMN).append(" = ?, ")
.append(STATE_COLUMN).append(" = ?, ").append(HEARTBEAT_TS_COLUMN).append(" = ?").append(" WHERE ").append(ID_COLUMN).append(" = ?")
.append(" AND ").append(STATE_COLUMN).append(" = ?").append(" AND ").append(HEARTBEAT_TS_COLUMN).append(" = ?").append(" AND ")
.append(TAKEOVER_BROKER_COLUMN).append(" is NULL").toString();
takeoverSQL = "UPDATE " + tableName + " SET " + TAKEOVER_BROKER_COLUMN + " = ?, " + STATE_COLUMN + " = ?, " + HEARTBEAT_TS_COLUMN + " = ?" + " WHERE " + ID_COLUMN + " = ?" + " AND " + STATE_COLUMN + " = ?" + " AND " + HEARTBEAT_TS_COLUMN + " = ?" + " AND " + TAKEOVER_BROKER_COLUMN + " is NULL";

deleteSQL = new StringBuilder(128).append("DELETE FROM ").append(tableName).append(" WHERE ").append(ID_COLUMN).append(" = ?").toString();
deleteSQL = "DELETE FROM " + tableName + " WHERE " + ID_COLUMN + " = ?";

/*
* All the supported store sessions for a broker is kept in the session table but for convenience we will load the
* current store session when load the broker info. If a broker doesn't have a current store session, i.e. taken over by
* another broker, then its value will be 0.
*/

selectAllSQL = new StringBuilder(128).append("SELECT bTbl.").append(ID_COLUMN).append(", ").append(URL_COLUMN).append(", ").append(VERSION_COLUMN)
.append(", ").append(STATE_COLUMN).append(", ").append(TAKEOVER_BROKER_COLUMN).append(", ").append(HEARTBEAT_TS_COLUMN).append(", sTbl.")
.append(StoreSessionDAO.ID_COLUMN).append(" AS ").append(STORE_SESSION_ID_COLUMN).append(" FROM ").append(tableName).append(" bTbl LEFT JOIN ")
.append(dbMgr.getTableName(StoreSessionDAO.TABLE_NAME_PREFIX)).append(" sTbl ON bTbl.").append(ID_COLUMN).append(" = sTbl.")
.append(StoreSessionDAO.BROKER_ID_COLUMN).append(" AND sTbl.").append(StoreSessionDAO.IS_CURRENT_COLUMN).append(" = 1").toString();
selectAllSQL = "SELECT bTbl." + ID_COLUMN + ", " + URL_COLUMN + ", " + VERSION_COLUMN + ", " + STATE_COLUMN + ", " + TAKEOVER_BROKER_COLUMN + ", " + HEARTBEAT_TS_COLUMN + ", sTbl." + (StoreSessionDAO.ID_COLUMN) + " AS " + STORE_SESSION_ID_COLUMN + " FROM " + tableName + " bTbl LEFT JOIN " + dbMgr.getTableName(StoreSessionDAO.TABLE_NAME_PREFIX) + " sTbl ON bTbl." + ID_COLUMN + " = sTbl." + (StoreSessionDAO.BROKER_ID_COLUMN) + " AND sTbl." + (StoreSessionDAO.IS_CURRENT_COLUMN) + " = 1";

selectAllByStateSQL = new StringBuilder(128).append(selectAllSQL).append(" WHERE bTbl.").append(STATE_COLUMN).append(" = ?").toString();
selectAllByStateSQL = selectAllSQL + " WHERE bTbl." + STATE_COLUMN + " = ?";

selectSQL = new StringBuilder(128).append(selectAllSQL).append(" WHERE bTbl.").append(ID_COLUMN).append(" = ?").toString();
selectSQL = selectAllSQL + " WHERE bTbl." + ID_COLUMN + " = ?";

selectHeartbeatSQL = new StringBuilder(128).append("SELECT ").append(HEARTBEAT_TS_COLUMN).append(" FROM ").append(tableName).append(" WHERE ")
.append(ID_COLUMN).append(" = ?").toString();
selectHeartbeatSQL = "SELECT " + HEARTBEAT_TS_COLUMN + " FROM " + tableName + " WHERE " + ID_COLUMN + " = ?";

selectAllHeartbeatsSQL = new StringBuilder(128).append("SELECT ").append(ID_COLUMN).append(", ").append(HEARTBEAT_TS_COLUMN).append(" FROM ")
.append(tableName).toString();
selectAllHeartbeatsSQL = "SELECT " + ID_COLUMN + ", " + HEARTBEAT_TS_COLUMN + " FROM " + tableName;

selectStateSQL = new StringBuilder(128).append("SELECT ").append(STATE_COLUMN).append(" FROM ").append(tableName).append(" WHERE ").append(ID_COLUMN)
.append(" = ?").toString();
selectStateSQL = "SELECT " + STATE_COLUMN + " FROM " + tableName + " WHERE " + ID_COLUMN + " = ?";

selectAllStatesSQL = new StringBuilder(128).append("SELECT ").append(ID_COLUMN).append(", ").append(STATE_COLUMN).append(" FROM ").append(tableName)
.toString();
selectAllStatesSQL = "SELECT " + ID_COLUMN + ", " + STATE_COLUMN + " FROM " + tableName;

// SQL that can be embedded in EXISTS clause to check if the specified
// broker is being takenover (uses by other DAOs)
selectIsBeingTakenOverSQL = new StringBuilder(128).append("SELECT 1 FROM ").append(tableName).append(" WHERE ").append(ID_COLUMN).append(" = ? AND ")
.append(STATE_COLUMN).append(" IN (").append(BrokerState.I_FAILOVER_PENDING).append(", ").append(BrokerState.I_FAILOVER_STARTED).append(", ")
.append(BrokerState.I_FAILOVER_COMPLETE).append(", ").append(BrokerState.I_FAILOVER_FAILED).append(')').toString();
selectIsBeingTakenOverSQL = "SELECT 1 FROM " + tableName + " WHERE " + ID_COLUMN + " = ? AND " + STATE_COLUMN + " IN (" + (BrokerState.I_FAILOVER_PENDING) + ", " + (BrokerState.I_FAILOVER_STARTED) + ", " + (BrokerState.I_FAILOVER_COMPLETE) + ", " + (BrokerState.I_FAILOVER_FAILED) + ')';
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2000, 2017 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020 Payara Services Ltd.
* Copyright 2021, 2022 Contributors to the Eclipse Foundation
* Copyright 2021 Contributors to the Eclipse Foundation
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
Expand Down Expand Up @@ -46,14 +46,11 @@ class ConfigRecordDAOImpl extends BaseDAOImpl implements ConfigRecordDAO {

tableName = dbMgr.getTableName(TABLE_NAME_PREFIX);

insertSQL = new StringBuilder(128).append("INSERT INTO ").append(tableName).append(" ( ").append(RECORD_COLUMN).append(", ").append(CREATED_TS_COLUMN)
.append(") VALUES ( ?, ? )").toString();
insertSQL = "INSERT INTO " + tableName + " ( " + RECORD_COLUMN + ", " + CREATED_TS_COLUMN + ") VALUES ( ?, ? )";

selectRecordsSinceSQL = new StringBuilder(128).append("SELECT ").append(RECORD_COLUMN).append(", ").append(CREATED_TS_COLUMN).append(" FROM ")
.append(tableName).append(" WHERE ").append(CREATED_TS_COLUMN).append(" > ?").toString();
selectRecordsSinceSQL = "SELECT " + RECORD_COLUMN + ", " + CREATED_TS_COLUMN + " FROM " + tableName + " WHERE " + CREATED_TS_COLUMN + " > ?";

selectAllSQL = new StringBuilder(128).append("SELECT ").append(RECORD_COLUMN).append(", ").append(CREATED_TS_COLUMN).append(" FROM ").append(tableName)
.toString();
selectAllSQL = "SELECT " + RECORD_COLUMN + ", " + CREATED_TS_COLUMN + " FROM " + tableName;
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2000, 2017 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2021, 2022 Contributors to the Eclipse Foundation
* Copyright (c) 2021 Contributors to the Eclipse Foundation
* Copyright (c) 2020 Payara Services Ltd.
*
* This program and the accompanying materials are made available under the
Expand Down Expand Up @@ -55,9 +55,7 @@ class ConsumerDAOImpl extends BaseDAOImpl implements ConsumerDAO {

tableName = dbMgr.getTableName(TABLE_NAME_PREFIX);

insertSQL = new StringBuilder(128).append("INSERT INTO ").append(tableName).append(" ( ").append(ID_COLUMN).append(", ").append(CONSUMER_COLUMN)
.append(", ").append(DURABLE_NAME_COLUMN).append(", ").append(CLIENT_ID_COLUMN).append(", ").append(CREATED_TS_COLUMN)
.append(") VALUES ( ?, ?, ?, ?, ? )").toString();
insertSQL = "INSERT INTO " + tableName + " ( " + ID_COLUMN + ", " + CONSUMER_COLUMN + ", " + DURABLE_NAME_COLUMN + ", " + CLIENT_ID_COLUMN + ", " + CREATED_TS_COLUMN + ") VALUES ( ?, ?, ?, ?, ? )";

/*
* insertNoDupSQLDual = new StringBuilder(128) .append( "INSERT INTO " ).append( tableName ) .append( " ( " ) .append(
Expand All @@ -67,23 +65,17 @@ class ConsumerDAOImpl extends BaseDAOImpl implements ConsumerDAO {
* DURABLE_NAME_COLUMN ).append(" = ? ") .append( " AND ").append( CLIENT_ID_COLUMN ).append(" = ? )" ) .toString();
*/

insertNoDupSQL = new StringBuilder(128).append("INSERT INTO ").append(tableName).append(" ( ").append(ID_COLUMN).append(", ").append(CONSUMER_COLUMN)
.append(", ").append(DURABLE_NAME_COLUMN).append(", ").append(CLIENT_ID_COLUMN).append(", ").append(CREATED_TS_COLUMN)
.append(" ) SELECT ?, ?, ?, ?, ? FROM ").append(tableName).append(" WHERE ").append(DURABLE_NAME_COLUMN).append(" = ? ").append(" AND ")
.append(CLIENT_ID_COLUMN).append(" = ? ").append(" HAVING COUNT(*) ").append(" = 0 ").toString();
insertNoDupSQL = "INSERT INTO " + tableName + " ( " + ID_COLUMN + ", " + CONSUMER_COLUMN + ", " + DURABLE_NAME_COLUMN + ", " + CLIENT_ID_COLUMN + ", " + CREATED_TS_COLUMN + " ) SELECT ?, ?, ?, ?, ? FROM " + tableName + " WHERE " + DURABLE_NAME_COLUMN + " = ? " + " AND " + CLIENT_ID_COLUMN + " = ? " + " HAVING COUNT(*) " + " = 0 ";

deleteSQL = new StringBuilder(128).append("DELETE FROM ").append(tableName).append(" WHERE ").append(ID_COLUMN).append(" = ?").toString();
deleteSQL = "DELETE FROM " + tableName + " WHERE " + ID_COLUMN + " = ?";

selectSQL = new StringBuilder(128).append("SELECT ").append(CONSUMER_COLUMN).append(" FROM ").append(tableName).append(" WHERE ").append(ID_COLUMN)
.append(" = ?").toString();
selectSQL = "SELECT " + CONSUMER_COLUMN + " FROM " + tableName + " WHERE " + ID_COLUMN + " = ?";

selectAllSQL = new StringBuilder(128).append("SELECT ").append(CONSUMER_COLUMN).append(" FROM ").append(tableName).toString();
selectAllSQL = "SELECT " + CONSUMER_COLUMN + " FROM " + tableName;

selectExistSQL = new StringBuilder(128).append("SELECT ").append(CONSUMER_COLUMN).append(" FROM ").append(tableName).append(" WHERE ")
.append(DURABLE_NAME_COLUMN).append(" = ?").append(" AND ").append(CLIENT_ID_COLUMN).append(" = ?").toString();
selectExistSQL = "SELECT " + CONSUMER_COLUMN + " FROM " + tableName + " WHERE " + DURABLE_NAME_COLUMN + " = ?" + " AND " + CLIENT_ID_COLUMN + " = ?";

selectExistByIDSQL = new StringBuilder(128).append("SELECT ").append(CONSUMER_COLUMN).append(" FROM ").append(tableName).append(" WHERE ")
.append(ID_COLUMN).append(" = ?").toString();
selectExistByIDSQL = "SELECT " + CONSUMER_COLUMN + " FROM " + tableName + " WHERE " + ID_COLUMN + " = ?";
}

/**
Expand Down
Loading
Loading