|
1 | 1 | /*
|
2 |
| - * Copyright 2002-2022 the original author or authors. |
| 2 | + * Copyright 2002-2023 the original author or authors. |
3 | 3 | *
|
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License");
|
5 | 5 | * you may not use this file except in compliance with the License.
|
@@ -85,72 +85,137 @@ public class JdbcMessageStore extends AbstractMessageGroupStore implements Messa
|
85 | 85 | public static final String DEFAULT_TABLE_PREFIX = "INT_";
|
86 | 86 |
|
87 | 87 | private enum Query {
|
88 |
| - CREATE_MESSAGE_GROUP("INSERT into %PREFIX%MESSAGE_GROUP" + |
89 |
| - "(GROUP_KEY, REGION, COMPLETE, LAST_RELEASED_SEQUENCE, CREATED_DATE, UPDATED_DATE)" |
90 |
| - + " values (?, ?, 0, 0, ?, ?)"), |
91 |
| - |
92 |
| - UPDATE_MESSAGE_GROUP("UPDATE %PREFIX%MESSAGE_GROUP set UPDATED_DATE=?, GROUP_CONDITION=? " + |
93 |
| - "where GROUP_KEY=? and REGION=?"), |
94 |
| - |
95 |
| - REMOVE_MESSAGE_FROM_GROUP("DELETE from %PREFIX%GROUP_TO_MESSAGE where GROUP_KEY=? and MESSAGE_ID=? and " + |
96 |
| - "REGION=?"), |
97 |
| - |
98 |
| - REMOVE_GROUP_TO_MESSAGE_JOIN("DELETE from %PREFIX%GROUP_TO_MESSAGE where GROUP_KEY=? and REGION=?"), |
99 |
| - |
100 |
| - COUNT_ALL_MESSAGES_IN_GROUPS("SELECT COUNT(MESSAGE_ID) from %PREFIX%GROUP_TO_MESSAGE where REGION=?"), |
101 |
| - |
102 |
| - COUNT_ALL_MESSAGES_IN_GROUP("SELECT COUNT(MESSAGE_ID) from %PREFIX%GROUP_TO_MESSAGE where GROUP_KEY=? and " + |
103 |
| - "REGION=?"), |
104 |
| - |
105 |
| - LIST_MESSAGES_BY_GROUP_KEY("SELECT MESSAGE_ID, MESSAGE_BYTES, CREATED_DATE " + |
106 |
| - "from %PREFIX%MESSAGE where MESSAGE_ID in " + |
107 |
| - "(SELECT MESSAGE_ID from %PREFIX%GROUP_TO_MESSAGE where GROUP_KEY = ? and REGION = ?) and REGION = ? " + |
108 |
| - "ORDER BY CREATED_DATE"), |
109 |
| - |
110 |
| - POLL_FROM_GROUP("SELECT %PREFIX%MESSAGE.MESSAGE_ID, %PREFIX%MESSAGE.MESSAGE_BYTES from %PREFIX%MESSAGE " + |
111 |
| - "where %PREFIX%MESSAGE.MESSAGE_ID = " + |
112 |
| - "(SELECT min(m.MESSAGE_ID) from %PREFIX%MESSAGE m " + |
113 |
| - "join %PREFIX%GROUP_TO_MESSAGE on m.MESSAGE_ID = %PREFIX%GROUP_TO_MESSAGE.MESSAGE_ID " + |
114 |
| - "where CREATED_DATE = " + |
115 |
| - "(SELECT min(CREATED_DATE) from %PREFIX%MESSAGE, %PREFIX%GROUP_TO_MESSAGE " + |
116 |
| - "where %PREFIX%MESSAGE.MESSAGE_ID = %PREFIX%GROUP_TO_MESSAGE.MESSAGE_ID " + |
117 |
| - "and %PREFIX%GROUP_TO_MESSAGE.GROUP_KEY = ? " + |
118 |
| - "and %PREFIX%MESSAGE.REGION = ?) " + |
119 |
| - "and %PREFIX%GROUP_TO_MESSAGE.GROUP_KEY = ? " + |
120 |
| - "and m.REGION = ?)"), |
121 |
| - |
122 |
| - GET_GROUP_INFO("SELECT COMPLETE, LAST_RELEASED_SEQUENCE, CREATED_DATE, UPDATED_DATE, GROUP_CONDITION" + |
123 |
| - " from %PREFIX%MESSAGE_GROUP where GROUP_KEY=? and REGION=?"), |
124 |
| - |
125 |
| - GET_MESSAGE("SELECT MESSAGE_ID, CREATED_DATE, MESSAGE_BYTES from %PREFIX%MESSAGE where MESSAGE_ID=? and " + |
126 |
| - "REGION=?"), |
127 |
| - |
128 |
| - GET_MESSAGE_COUNT("SELECT COUNT(MESSAGE_ID) from %PREFIX%MESSAGE where REGION=?"), |
129 |
| - |
130 |
| - DELETE_MESSAGE("DELETE from %PREFIX%MESSAGE where MESSAGE_ID=? and REGION=?"), |
131 |
| - |
132 |
| - CREATE_MESSAGE("INSERT into %PREFIX%MESSAGE(MESSAGE_ID, REGION, CREATED_DATE, MESSAGE_BYTES)" |
133 |
| - + " values (?, ?, ?, ?)"), |
134 |
| - |
135 |
| - COUNT_ALL_GROUPS("SELECT COUNT(GROUP_KEY) from %PREFIX%MESSAGE_GROUP where REGION=?"), |
136 |
| - |
137 |
| - COMPLETE_GROUP("UPDATE %PREFIX%MESSAGE_GROUP set UPDATED_DATE=?, COMPLETE=1 where GROUP_KEY=? and REGION=?"), |
138 |
| - |
139 |
| - UPDATE_LAST_RELEASED_SEQUENCE("UPDATE %PREFIX%MESSAGE_GROUP set UPDATED_DATE=?, LAST_RELEASED_SEQUENCE=? where " + |
140 |
| - "GROUP_KEY=? and REGION=?"), |
141 |
| - |
142 |
| - DELETE_MESSAGES_FROM_GROUP("DELETE from %PREFIX%MESSAGE where MESSAGE_ID in " + |
143 |
| - "(SELECT MESSAGE_ID from %PREFIX%GROUP_TO_MESSAGE where GROUP_KEY = ? and REGION = ?) and REGION = ?"), |
144 |
| - |
145 |
| - DELETE_MESSAGE_GROUP("DELETE from %PREFIX%MESSAGE_GROUP where GROUP_KEY=? and REGION=?"), |
146 |
| - |
147 |
| - CREATE_GROUP_TO_MESSAGE("INSERT into %PREFIX%GROUP_TO_MESSAGE" + |
148 |
| - "(GROUP_KEY, MESSAGE_ID, REGION)" |
149 |
| - + " values (?, ?, ?)"), |
150 |
| - |
151 |
| - UPDATE_GROUP("UPDATE %PREFIX%MESSAGE_GROUP set UPDATED_DATE=? where GROUP_KEY=? and REGION=?"), |
152 |
| - |
153 |
| - LIST_GROUP_KEYS("SELECT distinct GROUP_KEY as CREATED from %PREFIX%MESSAGE_GROUP where REGION=?"); |
| 88 | + CREATE_MESSAGE_GROUP(""" |
| 89 | + INSERT into %PREFIX%MESSAGE_GROUP( |
| 90 | + GROUP_KEY, REGION, COMPLETE, LAST_RELEASED_SEQUENCE, CREATED_DATE, UPDATED_DATE) |
| 91 | + values (?, ?, 0, 0, ?, ?) |
| 92 | + """), |
| 93 | + |
| 94 | + UPDATE_MESSAGE_GROUP(""" |
| 95 | + UPDATE %PREFIX%MESSAGE_GROUP |
| 96 | + set UPDATED_DATE=?, GROUP_CONDITION=? |
| 97 | + where GROUP_KEY=? and REGION=? |
| 98 | + """), |
| 99 | + |
| 100 | + REMOVE_MESSAGE_FROM_GROUP(""" |
| 101 | + DELETE from %PREFIX%GROUP_TO_MESSAGE |
| 102 | + where GROUP_KEY=? and MESSAGE_ID=? and REGION=? |
| 103 | + """), |
| 104 | + |
| 105 | + REMOVE_GROUP_TO_MESSAGE_JOIN(""" |
| 106 | + DELETE from %PREFIX%GROUP_TO_MESSAGE |
| 107 | + where GROUP_KEY=? and REGION=? |
| 108 | + """), |
| 109 | + |
| 110 | + COUNT_ALL_MESSAGES_IN_GROUPS(""" |
| 111 | + SELECT COUNT(MESSAGE_ID) |
| 112 | + from %PREFIX%GROUP_TO_MESSAGE |
| 113 | + where REGION=? |
| 114 | + """), |
| 115 | + |
| 116 | + COUNT_ALL_MESSAGES_IN_GROUP(""" |
| 117 | + SELECT COUNT(MESSAGE_ID) |
| 118 | + from %PREFIX%GROUP_TO_MESSAGE |
| 119 | + where GROUP_KEY=? and REGION=? |
| 120 | + """), |
| 121 | + |
| 122 | + LIST_MESSAGES_BY_GROUP_KEY(""" |
| 123 | + SELECT MESSAGE_ID, MESSAGE_BYTES, CREATED_DATE |
| 124 | + from %PREFIX%MESSAGE |
| 125 | + where MESSAGE_ID in (SELECT MESSAGE_ID from %PREFIX%GROUP_TO_MESSAGE where GROUP_KEY = ? and REGION = ?) |
| 126 | + and REGION = ? |
| 127 | + ORDER BY CREATED_DATE |
| 128 | + """), |
| 129 | + |
| 130 | + POLL_FROM_GROUP(""" |
| 131 | + SELECT %PREFIX%MESSAGE.MESSAGE_ID, %PREFIX%MESSAGE.MESSAGE_BYTES |
| 132 | + from %PREFIX%MESSAGE |
| 133 | + where %PREFIX%MESSAGE.MESSAGE_ID = ( |
| 134 | + SELECT min(m.MESSAGE_ID) |
| 135 | + from %PREFIX%MESSAGE m |
| 136 | + join %PREFIX%GROUP_TO_MESSAGE |
| 137 | + on m.MESSAGE_ID = %PREFIX%GROUP_TO_MESSAGE.MESSAGE_ID |
| 138 | + where CREATED_DATE = ( |
| 139 | + SELECT min(CREATED_DATE) |
| 140 | + from %PREFIX%MESSAGE, %PREFIX%GROUP_TO_MESSAGE |
| 141 | + where %PREFIX%MESSAGE.MESSAGE_ID = %PREFIX%GROUP_TO_MESSAGE.MESSAGE_ID |
| 142 | + and %PREFIX%GROUP_TO_MESSAGE.GROUP_KEY = ? and %PREFIX%MESSAGE.REGION = ?) |
| 143 | + and %PREFIX%GROUP_TO_MESSAGE.GROUP_KEY = ? and m.REGION = ?) |
| 144 | + """), |
| 145 | + |
| 146 | + GET_GROUP_INFO(""" |
| 147 | + SELECT COMPLETE, LAST_RELEASED_SEQUENCE, CREATED_DATE, UPDATED_DATE, GROUP_CONDITION |
| 148 | + from %PREFIX%MESSAGE_GROUP |
| 149 | + where GROUP_KEY=? and REGION=? |
| 150 | + """), |
| 151 | + |
| 152 | + GET_MESSAGE(""" |
| 153 | + SELECT MESSAGE_ID, CREATED_DATE, MESSAGE_BYTES |
| 154 | + from %PREFIX%MESSAGE |
| 155 | + where MESSAGE_ID=? and REGION=? |
| 156 | + """), |
| 157 | + |
| 158 | + GET_MESSAGE_COUNT(""" |
| 159 | + SELECT COUNT(MESSAGE_ID) |
| 160 | + from %PREFIX%MESSAGE |
| 161 | + where REGION=? |
| 162 | + """), |
| 163 | + |
| 164 | + DELETE_MESSAGE(""" |
| 165 | + DELETE from %PREFIX%MESSAGE |
| 166 | + where MESSAGE_ID=? and REGION=? |
| 167 | + """), |
| 168 | + |
| 169 | + CREATE_MESSAGE(""" |
| 170 | + INSERT into %PREFIX%MESSAGE(MESSAGE_ID, REGION, CREATED_DATE, MESSAGE_BYTES) |
| 171 | + values (?, ?, ?, ?) |
| 172 | + """), |
| 173 | + |
| 174 | + COUNT_ALL_GROUPS(""" |
| 175 | + SELECT COUNT(GROUP_KEY) |
| 176 | + from %PREFIX%MESSAGE_GROUP |
| 177 | + where REGION=? |
| 178 | + """), |
| 179 | + |
| 180 | + COMPLETE_GROUP(""" |
| 181 | + UPDATE %PREFIX%MESSAGE_GROUP |
| 182 | + set UPDATED_DATE=?, COMPLETE=1 |
| 183 | + where GROUP_KEY=? and REGION=? |
| 184 | + """), |
| 185 | + |
| 186 | + UPDATE_LAST_RELEASED_SEQUENCE(""" |
| 187 | + UPDATE %PREFIX%MESSAGE_GROUP |
| 188 | + set UPDATED_DATE=?, LAST_RELEASED_SEQUENCE=? |
| 189 | + where GROUP_KEY=? and REGION=? |
| 190 | + """), |
| 191 | + |
| 192 | + DELETE_MESSAGES_FROM_GROUP(""" |
| 193 | + DELETE from %PREFIX%MESSAGE |
| 194 | + where MESSAGE_ID in (SELECT MESSAGE_ID from %PREFIX%GROUP_TO_MESSAGE where GROUP_KEY = ? and REGION = ?) |
| 195 | + and REGION = ? |
| 196 | + """), |
| 197 | + |
| 198 | + DELETE_MESSAGE_GROUP(""" |
| 199 | + DELETE from %PREFIX%MESSAGE_GROUP |
| 200 | + where GROUP_KEY=? and REGION=? |
| 201 | + """), |
| 202 | + |
| 203 | + CREATE_GROUP_TO_MESSAGE(""" |
| 204 | + INSERT into %PREFIX%GROUP_TO_MESSAGE (GROUP_KEY, MESSAGE_ID, REGION) |
| 205 | + values (?, ?, ?) |
| 206 | + """), |
| 207 | + |
| 208 | + UPDATE_GROUP(""" |
| 209 | + UPDATE %PREFIX%MESSAGE_GROUP |
| 210 | + set UPDATED_DATE=? |
| 211 | + where GROUP_KEY=? and REGION=? |
| 212 | + """), |
| 213 | + |
| 214 | + LIST_GROUP_KEYS(""" |
| 215 | + SELECT distinct GROUP_KEY as CREATED |
| 216 | + from %PREFIX%MESSAGE_GROUP |
| 217 | + where REGION=? |
| 218 | + """); |
154 | 219 |
|
155 | 220 | private final String sql;
|
156 | 221 |
|
|
0 commit comments