Skip to content

Commit 5f2fbed

Browse files
authored
SQL: Replace String.format() with LoggerMessageFormat.format() (#37216)
Fixes: #36532
1 parent 87ac310 commit 5f2fbed

File tree

10 files changed

+32
-33
lines changed

10 files changed

+32
-33
lines changed

x-pack/plugin/sql/jdbc/src/test/java/org/elasticsearch/xpack/sql/jdbc/JdbcPreparedStatementTests.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@
55
*/
66
package org.elasticsearch.xpack.sql.jdbc;
77

8+
import org.elasticsearch.common.logging.LoggerMessageFormat;
89
import org.elasticsearch.test.ESTestCase;
9-
import org.elasticsearch.xpack.sql.jdbc.EsType;
10-
import org.elasticsearch.xpack.sql.jdbc.JdbcConfiguration;
11-
import org.elasticsearch.xpack.sql.jdbc.JdbcPreparedStatement;
1210

1311
import java.net.URL;
1412
import java.nio.charset.StandardCharsets;
@@ -287,12 +285,12 @@ public void testThrownExceptionsWhenSettingFloatValues() throws SQLException {
287285

288286
Float floatNotInt = 5_155_000_000f;
289287
sqle = expectThrows(SQLException.class, () -> jps.setObject(1, floatNotInt, Types.INTEGER));
290-
assertEquals(String.format(Locale.ROOT, "Numeric %s out of range",
291-
Long.toString(Math.round(floatNotInt.doubleValue()))), sqle.getMessage());
288+
assertEquals(LoggerMessageFormat.format("Numeric {} out of range",
289+
Math.round(floatNotInt.doubleValue())), sqle.getMessage());
292290

293291
sqle = expectThrows(SQLException.class, () -> jps.setObject(1, floatNotInt, Types.SMALLINT));
294-
assertEquals(String.format(Locale.ROOT, "Numeric %s out of range",
295-
Long.toString(Math.round(floatNotInt.doubleValue()))), sqle.getMessage());
292+
assertEquals(LoggerMessageFormat.format("Numeric {} out of range",
293+
Math.round(floatNotInt.doubleValue())), sqle.getMessage());
296294
}
297295

298296
public void testSettingDoubleValues() throws SQLException {
@@ -328,8 +326,8 @@ public void testThrownExceptionsWhenSettingDoubleValues() throws SQLException {
328326

329327
Double doubleNotInt = 5_155_000_000d;
330328
sqle = expectThrows(SQLException.class, () -> jps.setObject(1, doubleNotInt, Types.INTEGER));
331-
assertEquals(String.format(Locale.ROOT, "Numeric %s out of range",
332-
Long.toString(((Number) doubleNotInt).longValue())), sqle.getMessage());
329+
assertEquals(LoggerMessageFormat.format("Numeric {} out of range",
330+
((Number) doubleNotInt).longValue()), sqle.getMessage());
333331
}
334332

335333
public void testUnsupportedClasses() throws SQLException {

x-pack/plugin/sql/src/main/java/org/elasticsearch/xpack/sql/analysis/AnalysisException.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import org.elasticsearch.xpack.sql.tree.Location;
1111
import org.elasticsearch.xpack.sql.tree.Node;
1212

13-
import java.util.Locale;
13+
import static org.elasticsearch.common.logging.LoggerMessageFormat.format;
1414

1515
public class AnalysisException extends ClientSqlException {
1616

@@ -54,6 +54,6 @@ public RestStatus status() {
5454

5555
@Override
5656
public String getMessage() {
57-
return String.format(Locale.ROOT, "line %s:%s: %s", getLineNumber(), getColumnNumber(), super.getMessage());
57+
return format("line {}:{}: {}", getLineNumber(), getColumnNumber(), super.getMessage());
5858
}
5959
}

x-pack/plugin/sql/src/main/java/org/elasticsearch/xpack/sql/expression/function/scalar/Cast.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99
import org.elasticsearch.xpack.sql.expression.Nullability;
1010
import org.elasticsearch.xpack.sql.expression.gen.processor.Processor;
1111
import org.elasticsearch.xpack.sql.expression.gen.script.ScriptTemplate;
12-
import org.elasticsearch.xpack.sql.tree.Source;
1312
import org.elasticsearch.xpack.sql.tree.NodeInfo;
13+
import org.elasticsearch.xpack.sql.tree.Source;
1414
import org.elasticsearch.xpack.sql.type.DataType;
1515
import org.elasticsearch.xpack.sql.type.DataTypeConversion;
1616
import org.elasticsearch.xpack.sql.type.DataTypes;
1717

18-
import java.util.Locale;
1918
import java.util.Objects;
2019

20+
import static org.elasticsearch.common.logging.LoggerMessageFormat.format;
2121
import static org.elasticsearch.xpack.sql.expression.gen.script.ParamsBuilder.paramsBuilder;
2222

2323
public class Cast extends UnaryScalarFunction {
@@ -86,7 +86,7 @@ protected Processor makeProcessor() {
8686
public ScriptTemplate asScript() {
8787
ScriptTemplate fieldAsScript = asScript(field());
8888
return new ScriptTemplate(
89-
formatTemplate(String.format(Locale.ROOT, "{sql}.cast(%s,{})", fieldAsScript.template())),
89+
formatTemplate(format("{sql}.", "cast({},{})", fieldAsScript.template())),
9090
paramsBuilder()
9191
.script(fieldAsScript.params())
9292
.variable(dataType.name())

x-pack/plugin/sql/src/main/java/org/elasticsearch/xpack/sql/expression/gen/script/Param.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66
package org.elasticsearch.xpack.sql.expression.gen.script;
77

8-
import java.util.Locale;
8+
import static org.elasticsearch.common.logging.LoggerMessageFormat.format;
99

1010
abstract class Param<T> {
1111
private final T value;
@@ -22,6 +22,6 @@ T value() {
2222

2323
@Override
2424
public String toString() {
25-
return String.format(Locale.ROOT, "{%s=%s}", prefix(), value);
25+
return format(null, "{{}={}}", prefix(), value);
2626
}
2727
}

x-pack/plugin/sql/src/main/java/org/elasticsearch/xpack/sql/expression/predicate/operator/comparison/In.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@
1212
import org.elasticsearch.xpack.sql.expression.function.scalar.ScalarFunction;
1313
import org.elasticsearch.xpack.sql.expression.gen.pipeline.Pipe;
1414
import org.elasticsearch.xpack.sql.expression.gen.script.ScriptTemplate;
15-
import org.elasticsearch.xpack.sql.tree.Source;
1615
import org.elasticsearch.xpack.sql.tree.NodeInfo;
16+
import org.elasticsearch.xpack.sql.tree.Source;
1717
import org.elasticsearch.xpack.sql.type.DataType;
1818
import org.elasticsearch.xpack.sql.util.CollectionUtils;
1919

2020
import java.util.ArrayList;
2121
import java.util.LinkedHashSet;
2222
import java.util.List;
23-
import java.util.Locale;
2423
import java.util.Objects;
2524
import java.util.StringJoiner;
2625
import java.util.stream.Collectors;
2726

27+
import static org.elasticsearch.common.logging.LoggerMessageFormat.format;
2828
import static org.elasticsearch.xpack.sql.expression.gen.script.ParamsBuilder.paramsBuilder;
2929

3030
public class In extends ScalarFunction {
@@ -100,7 +100,7 @@ public ScriptTemplate asScript() {
100100
List<Object> values = new ArrayList<>(new LinkedHashSet<>(Foldables.valuesOf(list, value.dataType())));
101101

102102
return new ScriptTemplate(
103-
formatTemplate(String.format(Locale.ROOT, "{sql}.in(%s, {})", leftScript.template())),
103+
formatTemplate(format("{sql}.","in({}, {})", leftScript.template())),
104104
paramsBuilder()
105105
.script(leftScript.params())
106106
.variable(values)

x-pack/plugin/sql/src/main/java/org/elasticsearch/xpack/sql/parser/ParsingException.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import org.elasticsearch.xpack.sql.ClientSqlException;
1010
import org.elasticsearch.xpack.sql.tree.Source;
1111

12-
import java.util.Locale;
12+
import static org.elasticsearch.common.logging.LoggerMessageFormat.format;
1313

1414
public class ParsingException extends ClientSqlException {
1515
private final int line;
@@ -56,6 +56,6 @@ public RestStatus status() {
5656

5757
@Override
5858
public String getMessage() {
59-
return String.format(Locale.ROOT, "line %s:%s: %s", getLineNumber(), getColumnNumber(), getErrorMessage());
59+
return format("line {}:{}: {}", getLineNumber(), getColumnNumber(), getErrorMessage());
6060
}
6161
}

x-pack/plugin/sql/src/main/java/org/elasticsearch/xpack/sql/planner/FoldingException.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import org.elasticsearch.xpack.sql.tree.Location;
1111
import org.elasticsearch.xpack.sql.tree.Node;
1212

13-
import java.util.Locale;
13+
import static org.elasticsearch.common.logging.LoggerMessageFormat.format;
1414

1515
public class FoldingException extends ClientSqlException {
1616

@@ -54,6 +54,6 @@ public RestStatus status() {
5454

5555
@Override
5656
public String getMessage() {
57-
return String.format(Locale.ROOT, "line %s:%s: %s", getLineNumber(), getColumnNumber(), super.getMessage());
57+
return format("line {}:{}: {}", getLineNumber(), getColumnNumber(), super.getMessage());
5858
}
5959
}

x-pack/plugin/sql/src/test/java/org/elasticsearch/xpack/sql/analysis/index/IndexResolverTests.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@
1515
import java.util.ArrayList;
1616
import java.util.HashMap;
1717
import java.util.List;
18-
import java.util.Locale;
1918
import java.util.Map;
2019
import java.util.Map.Entry;
2120

21+
import static org.elasticsearch.common.logging.LoggerMessageFormat.format;
22+
2223
public class IndexResolverTests extends ESTestCase {
2324

2425
public void testMergeSameMapping() throws Exception {
@@ -218,14 +219,14 @@ public String[] nonAggregatableIndices() {
218219

219220
@Override
220221
public String toString() {
221-
return String.format(Locale.ROOT, "%s,%s->%s", getName(), getType(), indices);
222+
return format("{},{}->{}", getName(), getType(), indices);
222223
}
223224
}
224225

225226
private static <K, V> void assertEqualsMaps(Map<K, V> left, Map<K, V> right) {
226227
for (Entry<K, V> entry : left.entrySet()) {
227228
V rv = right.get(entry.getKey());
228-
assertEquals(String.format(Locale.ROOT, "Key [%s] has different values", entry.getKey()), entry.getValue(), rv);
229+
assertEquals(format("Key [{}] has different values", entry.getKey()), entry.getValue(), rv);
229230
}
230231
}
231232

@@ -235,4 +236,4 @@ private void addFieldCaps(Map<String, Map<String, FieldCapabilities>> fieldCaps,
235236
cap.put(name, new FieldCapabilities(name, type, isSearchable, isAggregatable));
236237
fieldCaps.put(name, cap);
237238
}
238-
}
239+
}

x-pack/plugin/sql/src/test/java/org/elasticsearch/xpack/sql/expression/QuotingTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414

1515
import java.util.ArrayList;
1616
import java.util.List;
17-
import java.util.Locale;
1817

1918
import static org.hamcrest.Matchers.equalTo;
2019
import static org.hamcrest.Matchers.hasSize;
2120
import static org.hamcrest.Matchers.instanceOf;
2221
import static org.hamcrest.Matchers.is;
2322
import static org.hamcrest.Matchers.nullValue;
2423

24+
import static org.elasticsearch.common.logging.LoggerMessageFormat.format;
2525

2626
public class QuotingTests extends ESTestCase {
2727

@@ -48,7 +48,7 @@ public void testSingleQuoteLiteral() {
4848
public void testMultiSingleQuotedLiteral() {
4949
String first = "bucket";
5050
String second = "head";
51-
Expression exp = new SqlParser().createExpression(String.format(Locale.ROOT, "'%s' '%s'", first, second));
51+
Expression exp = new SqlParser().createExpression(format(null, "'{}' '{}'", first, second));
5252
assertThat(exp, instanceOf(Literal.class));
5353
Literal l = (Literal) exp;
5454
assertThat(l.value(), equalTo(first + second));

x-pack/plugin/sql/src/test/java/org/elasticsearch/xpack/sql/parser/LikeEscapingParsingTests.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@
1212
import org.elasticsearch.xpack.sql.proto.SqlTypedParamValue;
1313
import org.elasticsearch.xpack.sql.type.DataType;
1414

15-
import java.util.Locale;
16-
1715
import static java.util.Collections.singletonList;
1816
import static org.hamcrest.Matchers.instanceOf;
1917
import static org.hamcrest.Matchers.is;
2018

19+
import static org.elasticsearch.common.logging.LoggerMessageFormat.format;
20+
2121
public class LikeEscapingParsingTests extends ESTestCase {
2222

2323
private final SqlParser parser = new SqlParser();
2424

2525
private String error(String pattern) {
2626
ParsingException ex = expectThrows(ParsingException.class,
27-
() -> parser.createExpression(String.format(Locale.ROOT, "exp LIKE %s", pattern)));
27+
() -> parser.createExpression(format(null, "exp LIKE {}", pattern)));
2828

2929
return ex.getMessage();
3030
}
@@ -35,7 +35,7 @@ private LikePattern like(String pattern) {
3535
if (parameterized) {
3636
exp = parser.createExpression("exp LIKE ?", singletonList(new SqlTypedParamValue(DataType.KEYWORD.esType, pattern)));
3737
} else {
38-
exp = parser.createExpression(String.format(Locale.ROOT, "exp LIKE '%s'", pattern));
38+
exp = parser.createExpression(format(null, "exp LIKE '{}'", pattern));
3939
}
4040
assertThat(exp, instanceOf(Like.class));
4141
Like l = (Like) exp;

0 commit comments

Comments
 (0)