diff -rc ./main/org/jboss/mq/pm/jdbc3/PersistenceManager.java /home/tmccune/src/3p/jboss-4.0/messaging/src/main/org/jboss/mq/pm/jdbc3/PersistenceManager.java *** ./main/org/jboss/mq/pm/jdbc3/PersistenceManager.java 2005-04-18 18:32:38.000000000 -0400 --- /home/tmccune/src/3p/jboss-4.0/messaging/src/main/org/jboss/mq/pm/jdbc3/PersistenceManager.java 2005-09-15 22:04:51.000000000 -0400 *************** *** 131,136 **** --- 131,138 ---- + "DESTINATION VARCHAR(256), TXID INTEGER, TXOP CHAR(1), LATECLONE CHAR(1), " + "MESSAGEBLOB OBJECT, PRIMARY KEY (MESSAGEID, DESTINATION) )"; String CREATE_TX_TABLE = "CREATE TABLE JMS_TRANSACTION_LOG ( TXID INTEGER )"; + String CREATE_IDX_MESSAGE_TXOP_TXID = "CREATE INDEX JMS_MESSAGE_LOG_TXOP_TXID ON JMS_MESSAGE_LOG (TXOP, TXID)"; + String CREATE_IDX_REFERENCE_TXOP_TXID = "CREATE INDEX JMS_REFERENCE_LOG_TXOP_TXID ON JMS_REFERENCE_LOG (TXOP, TXID)"; /** The blob type */ int blobType = OBJECT_BLOB; *************** *** 846,852 **** stmt.setString(2, "*"); else stmt.setString(2, messageRef.getPersistentKey()); ! if (rs.next()) return extractMessage(rs, 2); --- 848,854 ---- stmt.setString(2, "*"); else stmt.setString(2, messageRef.getPersistentKey()); ! rs = stmt.executeQuery(); if (rs.next()) return extractMessage(rs, 2); *************** *** 1115,1120 **** --- 1117,1124 ---- CREATE_REFERENCE_TABLE = sqlProperties.getProperty("CREATE_REFERENCE_TABLE", CREATE_REFERENCE_TABLE); CREATE_MESSAGE_TABLE = sqlProperties.getProperty("CREATE_MESSAGE_TABLE", CREATE_MESSAGE_TABLE); CREATE_TX_TABLE = sqlProperties.getProperty("CREATE_TX_TABLE", CREATE_TX_TABLE); + CREATE_IDX_MESSAGE_TXOP_TXID = sqlProperties.getProperty("CREATE_IDX_MESSAGE_TXOP_TXID", CREATE_IDX_MESSAGE_TXOP_TXID); + CREATE_IDX_REFERENCE_TXOP_TXID = sqlProperties.getProperty("CREATE_IDX_REFERENCE_TXOP_TXID", CREATE_IDX_REFERENCE_TXOP_TXID); createTables = sqlProperties.getProperty("CREATE_TABLES_ON_STARTUP", "true").equalsIgnoreCase("true"); String s = sqlProperties.getProperty("BLOB_TYPE", "OBJECT_BLOB"); *************** *** 1198,1203 **** --- 1202,1230 ---- try { + stmt = c.prepareStatement(CREATE_IDX_REFERENCE_TXOP_TXID); + stmt.executeUpdate(); + } + catch (SQLException e) + { + log.debug("Could not create index with SQL: " + CREATE_IDX_REFERENCE_TXOP_TXID, e); + } + finally + { + try + { + if (stmt != null) + stmt.close(); + } + catch (Throwable ignored) + { + log.trace("Ignored: " + ignored); + } + stmt = null; + } + + try + { stmt = c.prepareStatement(CREATE_MESSAGE_TABLE); stmt.executeUpdate(); } *************** *** 1221,1226 **** --- 1248,1276 ---- try { + stmt = c.prepareStatement(CREATE_IDX_MESSAGE_TXOP_TXID); + stmt.executeUpdate(); + } + catch (SQLException e) + { + log.debug("Could not create index with SQL: " + CREATE_IDX_MESSAGE_TXOP_TXID, e); + } + finally + { + try + { + if (stmt != null) + stmt.close(); + } + catch (Throwable ignored) + { + log.trace("Ignored: " + ignored); + } + stmt = null; + } + + try + { stmt = c.prepareStatement(CREATE_TX_TABLE); stmt.executeUpdate(); }