From 7cd4998acf7b8daa85db0ddba4a368a45d116975 Mon Sep 17 00:00:00 2001 From: dxbjavid Date: Mon, 15 Jun 2026 23:56:04 +0530 Subject: [PATCH] use Locale.ROOT for case-insensitive keyword normalisation Signed-off-by: dxbjavid --- .../net/sf/jsqlparser/expression/AnalyticExpression.java | 4 +++- .../java/net/sf/jsqlparser/expression/AnalyticType.java | 4 +++- src/main/java/net/sf/jsqlparser/expression/AnyType.java | 4 +++- .../java/net/sf/jsqlparser/expression/CastExpression.java | 4 +++- .../jsqlparser/expression/DateTimeLiteralExpression.java | 3 ++- .../net/sf/jsqlparser/expression/DateUnitExpression.java | 3 ++- src/main/java/net/sf/jsqlparser/expression/Function.java | 4 +++- src/main/java/net/sf/jsqlparser/expression/HexValue.java | 3 ++- .../sf/jsqlparser/expression/JsonAggregateFunction.java | 3 ++- .../sf/jsqlparser/expression/JsonAggregateOnNullType.java | 4 +++- .../jsqlparser/expression/JsonAggregateUniqueKeysType.java | 4 +++- .../java/net/sf/jsqlparser/expression/JsonFunction.java | 3 ++- .../net/sf/jsqlparser/expression/JsonFunctionType.java | 4 +++- .../net/sf/jsqlparser/expression/SpannerInterleaveIn.java | 3 ++- .../net/sf/jsqlparser/expression/TranscodingFunction.java | 7 ++++--- .../java/net/sf/jsqlparser/expression/WindowElement.java | 3 ++- .../java/net/sf/jsqlparser/expression/WindowOffset.java | 3 ++- .../expression/operators/relational/LikeExpression.java | 4 +++- src/main/java/net/sf/jsqlparser/schema/Sequence.java | 3 ++- src/main/java/net/sf/jsqlparser/statement/DBMSType.java | 3 ++- src/main/java/net/sf/jsqlparser/statement/DeclareType.java | 4 +++- .../java/net/sf/jsqlparser/statement/ExplainStatement.java | 3 ++- src/main/java/net/sf/jsqlparser/statement/FileType.java | 4 +++- .../java/net/sf/jsqlparser/statement/PurgeObjectType.java | 4 +++- .../net/sf/jsqlparser/statement/ReferentialAction.java | 3 ++- .../java/net/sf/jsqlparser/statement/ReturningClause.java | 2 +- .../java/net/sf/jsqlparser/statement/SessionStatement.java | 6 ++++-- .../net/sf/jsqlparser/statement/alter/AlterOperation.java | 4 +++- .../jsqlparser/statement/alter/AlterSessionOperation.java | 4 +++- .../jsqlparser/statement/create/table/RowMovementMode.java | 4 +++- .../statement/create/view/AutoRefreshOption.java | 4 +++- .../sf/jsqlparser/statement/create/view/ForceOption.java | 4 +++- .../jsqlparser/statement/create/view/TemporaryOption.java | 4 +++- .../statement/delete/DeleteModifierPriority.java | 4 +++- .../java/net/sf/jsqlparser/statement/execute/Execute.java | 3 ++- .../sf/jsqlparser/statement/insert/ConflictActionType.java | 4 +++- .../statement/insert/InsertModifierPriority.java | 4 +++- .../net/sf/jsqlparser/statement/refresh/RefreshMode.java | 4 +++- .../java/net/sf/jsqlparser/statement/select/First.java | 3 ++- .../java/net/sf/jsqlparser/statement/select/ForClause.java | 3 ++- .../net/sf/jsqlparser/statement/select/KSQLJoinWindow.java | 3 ++- .../net/sf/jsqlparser/statement/select/KSQLWindow.java | 5 +++-- .../sf/jsqlparser/statement/select/MySqlSqlCacheFlags.java | 4 +++- .../net/sf/jsqlparser/statement/select/OrderByElement.java | 3 ++- .../net/sf/jsqlparser/statement/select/SampleClause.java | 6 ++++-- .../sf/jsqlparser/statement/select/SetOperationList.java | 3 ++- .../sf/jsqlparser/statement/show/ShowTablesStatement.java | 5 +++-- .../statement/update/UpdateModifierPriority.java | 4 +++- .../net/sf/jsqlparser/statement/upsert/UpsertType.java | 4 +++- .../java/net/sf/jsqlparser/util/AddAliasesVisitor.java | 5 +++-- .../jsqlparser/util/validation/feature/DatabaseType.java | 3 ++- 51 files changed, 135 insertions(+), 58 deletions(-) diff --git a/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java b/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java index 1f59ebecc..d94d4ef2e 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.expression; +import java.util.Locale; import net.sf.jsqlparser.expression.operators.relational.ExpressionList; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.statement.select.Limit; @@ -243,7 +244,8 @@ public AnalyticExpression setHavingClause(Function.HavingClause havingClause) { public AnalyticExpression setHavingClause(String havingType, Expression expression) { this.havingClause = new Function.HavingClause( - Function.HavingClause.HavingType.valueOf(havingType.trim().toUpperCase()), + Function.HavingClause.HavingType + .valueOf(havingType.trim().toUpperCase(Locale.ROOT)), expression); return this; } diff --git a/src/main/java/net/sf/jsqlparser/expression/AnalyticType.java b/src/main/java/net/sf/jsqlparser/expression/AnalyticType.java index 2738849c6..ea083c902 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AnalyticType.java +++ b/src/main/java/net/sf/jsqlparser/expression/AnalyticType.java @@ -9,10 +9,12 @@ */ package net.sf.jsqlparser.expression; +import java.util.Locale; + public enum AnalyticType { OVER, WITHIN_GROUP, WITHIN_GROUP_OVER, FILTER_ONLY; public static AnalyticType from(String type) { - return Enum.valueOf(AnalyticType.class, type.toUpperCase()); + return Enum.valueOf(AnalyticType.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/expression/AnyType.java b/src/main/java/net/sf/jsqlparser/expression/AnyType.java index fec6fb09d..da5495d07 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AnyType.java +++ b/src/main/java/net/sf/jsqlparser/expression/AnyType.java @@ -9,10 +9,12 @@ */ package net.sf.jsqlparser.expression; +import java.util.Locale; + public enum AnyType { ANY, SOME, ALL; public static AnyType from(String type) { - return Enum.valueOf(AnyType.class, type.toUpperCase()); + return Enum.valueOf(AnyType.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/expression/CastExpression.java b/src/main/java/net/sf/jsqlparser/expression/CastExpression.java index f06682068..66af39ed5 100644 --- a/src/main/java/net/sf/jsqlparser/expression/CastExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/CastExpression.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.expression; +import java.util.Locale; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.statement.create.table.ColDataType; import net.sf.jsqlparser.statement.create.table.ColumnDefinition; @@ -276,7 +277,8 @@ public enum DataType { ARRAY, BIT, BITSTRING, BLOB, BYTEA, BINARY, VARBINARY, BYTES, BOOLEAN, BOOL, ENUM, INTERVAL, LIST, MAP, STRUCT, TINYINT, INT1, SMALLINT, INT2, SHORT, INTEGER, INT4, INT, SIGNED, BIGINT, INT8, LONG, HUGEINT, UTINYINT, USMALLINT, UINTEGER, UBIGINT, UHUGEINT, DECIMAL, NUMBER, NUMERIC, REAL, FLOAT4, FLOAT, DOUBLE, DOUBLE_PRECISION, FLOAT8, FLOAT64, UUID, VARCHAR, NVARCHAR, CHAR, NCHAR, BPCHAR, STRING, TEXT, CLOB, DATE, TIME, TIME_WITHOUT_TIME_ZONE, TIMETZ, TIME_WITH_TIME_ZONE, TIMESTAMP_NS, TIMESTAMP, TIMESTAMP_WITHOUT_TIME_ZONE, DATETIME, TIMESTAMP_MS, TIMESTAMP_S, TIMESTAMPTZ, TIMESTAMP_WITH_TIME_ZONE, UNKNOWN, VARBYTE, JSON; public static DataType from(String typeStr) { - Matcher matcher = PATTERN.matcher(typeStr.trim().replaceAll("\\s+", "_").toUpperCase()); + Matcher matcher = PATTERN.matcher( + typeStr.trim().replaceAll("\\s+", "_").toUpperCase(Locale.ROOT)); if (matcher.find()) { try { return Enum.valueOf(DataType.class, matcher.group(0)); diff --git a/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java b/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java index ccb15db4b..c2873bfb0 100644 --- a/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.expression; +import java.util.Locale; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; public class DateTimeLiteralExpression extends ASTNodeAccessImpl implements Expression { @@ -56,7 +57,7 @@ public enum DateTime { DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMPTZ; public static DateTime from(String dateTimeStr) { - return Enum.valueOf(DateTime.class, dateTimeStr.toUpperCase()); + return Enum.valueOf(DateTime.class, dateTimeStr.toUpperCase(Locale.ROOT)); } } } diff --git a/src/main/java/net/sf/jsqlparser/expression/DateUnitExpression.java b/src/main/java/net/sf/jsqlparser/expression/DateUnitExpression.java index 298cff0cc..922c0c419 100644 --- a/src/main/java/net/sf/jsqlparser/expression/DateUnitExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/DateUnitExpression.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.expression; +import java.util.Locale; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import java.util.Objects; @@ -44,7 +45,7 @@ public enum DateUnit { CENTURY, DECADE, YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, MILLISECOND, MICROSECOND, NANOSECOND; public static DateUnit from(String UnitStr) { - return Enum.valueOf(DateUnit.class, UnitStr.toUpperCase()); + return Enum.valueOf(DateUnit.class, UnitStr.toUpperCase(Locale.ROOT)); } } } diff --git a/src/main/java/net/sf/jsqlparser/expression/Function.java b/src/main/java/net/sf/jsqlparser/expression/Function.java index fcbf4531e..581b13cf5 100644 --- a/src/main/java/net/sf/jsqlparser/expression/Function.java +++ b/src/main/java/net/sf/jsqlparser/expression/Function.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.expression; +import java.util.Locale; import net.sf.jsqlparser.expression.operators.relational.ExpressionList; import net.sf.jsqlparser.expression.operators.relational.NamedExpressionList; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; @@ -152,7 +153,8 @@ public Function setHavingClause(HavingClause havingClause) { public Function setHavingClause(String havingType, Expression expression) { this.havingClause = new HavingClause( - HavingClause.HavingType.valueOf(havingType.trim().toUpperCase()), expression); + HavingClause.HavingType.valueOf(havingType.trim().toUpperCase(Locale.ROOT)), + expression); return this; } diff --git a/src/main/java/net/sf/jsqlparser/expression/HexValue.java b/src/main/java/net/sf/jsqlparser/expression/HexValue.java index cba9a3ac1..55ee5d0e9 100644 --- a/src/main/java/net/sf/jsqlparser/expression/HexValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/HexValue.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.expression; +import java.util.Locale; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import java.nio.charset.StandardCharsets; @@ -60,7 +61,7 @@ public String toString() { } public String getDigits() { - return value.toUpperCase().startsWith("0X") + return value.toUpperCase(Locale.ROOT).startsWith("0X") ? value.substring(2) : value.substring(2, value.length() - 1); } diff --git a/src/main/java/net/sf/jsqlparser/expression/JsonAggregateFunction.java b/src/main/java/net/sf/jsqlparser/expression/JsonAggregateFunction.java index 20bfa272e..a60e52b7f 100644 --- a/src/main/java/net/sf/jsqlparser/expression/JsonAggregateFunction.java +++ b/src/main/java/net/sf/jsqlparser/expression/JsonAggregateFunction.java @@ -10,6 +10,7 @@ package net.sf.jsqlparser.expression; import java.util.List; +import java.util.Locale; import java.util.Objects; import net.sf.jsqlparser.statement.select.OrderByElement; @@ -73,7 +74,7 @@ public void setType(String typeName) { .valueOf(Objects .requireNonNull(typeName, "The Type of the JSON Aggregate Function must not be null") - .toUpperCase()); + .toUpperCase(Locale.ROOT)); } public JsonAggregateFunction withType(JsonFunctionType type) { diff --git a/src/main/java/net/sf/jsqlparser/expression/JsonAggregateOnNullType.java b/src/main/java/net/sf/jsqlparser/expression/JsonAggregateOnNullType.java index 898dad7c0..0cfcf4e02 100644 --- a/src/main/java/net/sf/jsqlparser/expression/JsonAggregateOnNullType.java +++ b/src/main/java/net/sf/jsqlparser/expression/JsonAggregateOnNullType.java @@ -25,6 +25,8 @@ package net.sf.jsqlparser.expression; +import java.util.Locale; + /** * @author Andreas Reichel */ @@ -32,6 +34,6 @@ public enum JsonAggregateOnNullType { NULL, ABSENT; public static JsonAggregateOnNullType from(String type) { - return Enum.valueOf(JsonAggregateOnNullType.class, type.toUpperCase()); + return Enum.valueOf(JsonAggregateOnNullType.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/expression/JsonAggregateUniqueKeysType.java b/src/main/java/net/sf/jsqlparser/expression/JsonAggregateUniqueKeysType.java index 097aad552..b1c1cd235 100644 --- a/src/main/java/net/sf/jsqlparser/expression/JsonAggregateUniqueKeysType.java +++ b/src/main/java/net/sf/jsqlparser/expression/JsonAggregateUniqueKeysType.java @@ -25,6 +25,8 @@ package net.sf.jsqlparser.expression; +import java.util.Locale; + /** * @author Andreas Reichel */ @@ -32,6 +34,6 @@ public enum JsonAggregateUniqueKeysType { WITH, WITHOUT; public static JsonAggregateUniqueKeysType from(String type) { - return Enum.valueOf(JsonAggregateUniqueKeysType.class, type.toUpperCase()); + return Enum.valueOf(JsonAggregateUniqueKeysType.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/expression/JsonFunction.java b/src/main/java/net/sf/jsqlparser/expression/JsonFunction.java index 3cc409873..dfad9451a 100644 --- a/src/main/java/net/sf/jsqlparser/expression/JsonFunction.java +++ b/src/main/java/net/sf/jsqlparser/expression/JsonFunction.java @@ -10,6 +10,7 @@ package net.sf.jsqlparser.expression; import java.util.ArrayList; +import java.util.Locale; import java.util.Objects; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; @@ -355,7 +356,7 @@ public void setType(String typeName) { this.functionType = JsonFunctionType.valueOf( Objects.requireNonNull(typeName, "The Type of the JSON Aggregate Function must not be null") - .toUpperCase()); + .toUpperCase(Locale.ROOT)); } public JsonFunction withType(JsonFunctionType type) { diff --git a/src/main/java/net/sf/jsqlparser/expression/JsonFunctionType.java b/src/main/java/net/sf/jsqlparser/expression/JsonFunctionType.java index ebd497e79..b9889d1ea 100644 --- a/src/main/java/net/sf/jsqlparser/expression/JsonFunctionType.java +++ b/src/main/java/net/sf/jsqlparser/expression/JsonFunctionType.java @@ -10,6 +10,8 @@ package net.sf.jsqlparser.expression; +import java.util.Locale; + /** * @author Andreas Reichel */ @@ -29,6 +31,6 @@ public enum JsonFunctionType { MYSQL_OBJECT; public static JsonFunctionType from(String type) { - return Enum.valueOf(JsonFunctionType.class, type.toUpperCase()); + return Enum.valueOf(JsonFunctionType.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/expression/SpannerInterleaveIn.java b/src/main/java/net/sf/jsqlparser/expression/SpannerInterleaveIn.java index 0bf49925d..4dcb0aa7f 100644 --- a/src/main/java/net/sf/jsqlparser/expression/SpannerInterleaveIn.java +++ b/src/main/java/net/sf/jsqlparser/expression/SpannerInterleaveIn.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.expression; +import java.util.Locale; import net.sf.jsqlparser.schema.Table; import java.util.Collections; @@ -74,7 +75,7 @@ public enum OnDelete { CASCADE, NO_ACTION; public static OnDelete from(String action) { - return Enum.valueOf(OnDelete.class, action.toUpperCase()); + return Enum.valueOf(OnDelete.class, action.toUpperCase(Locale.ROOT)); } } } diff --git a/src/main/java/net/sf/jsqlparser/expression/TranscodingFunction.java b/src/main/java/net/sf/jsqlparser/expression/TranscodingFunction.java index b68f1dfb7..355e86305 100644 --- a/src/main/java/net/sf/jsqlparser/expression/TranscodingFunction.java +++ b/src/main/java/net/sf/jsqlparser/expression/TranscodingFunction.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.expression; +import java.util.Locale; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.statement.create.table.ColDataType; @@ -22,7 +23,7 @@ public class TranscodingFunction extends ASTNodeAccessImpl implements Expression private String transcodingName; public TranscodingFunction(String keyword, Expression expression, String transcodingName) { - this.keyword = Objects.requireNonNullElse(keyword, "CONVERT").toUpperCase(); + this.keyword = Objects.requireNonNullElse(keyword, "CONVERT").toUpperCase(Locale.ROOT); this.expression = expression; this.transcodingName = transcodingName; } @@ -34,7 +35,7 @@ public TranscodingFunction(Expression expression, String transcodingName) { public TranscodingFunction(String keyword, ColDataType colDataType, Expression expression, String transcodingName) { - this.keyword = Objects.requireNonNullElse(keyword, "CONVERT").toUpperCase(); + this.keyword = Objects.requireNonNullElse(keyword, "CONVERT").toUpperCase(Locale.ROOT); this.colDataType = colDataType; this.expression = expression; this.transcodingName = transcodingName; @@ -58,7 +59,7 @@ public String getKeyword() { } public TranscodingFunction setKeyword(String keyword) { - this.keyword = Objects.requireNonNullElse(keyword, "CONVERT").toUpperCase(); + this.keyword = Objects.requireNonNullElse(keyword, "CONVERT").toUpperCase(Locale.ROOT); return this; } diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowElement.java b/src/main/java/net/sf/jsqlparser/expression/WindowElement.java index 97260ce97..cacb246a4 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WindowElement.java +++ b/src/main/java/net/sf/jsqlparser/expression/WindowElement.java @@ -10,6 +10,7 @@ package net.sf.jsqlparser.expression; import java.io.Serializable; +import java.util.Locale; public class WindowElement implements Serializable { @@ -73,7 +74,7 @@ public enum Type { ROWS, RANGE; public static Type from(String type) { - return Enum.valueOf(Type.class, type.toUpperCase()); + return Enum.valueOf(Type.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java b/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java index 0303b4f06..079ec2eba 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java +++ b/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java @@ -10,6 +10,7 @@ package net.sf.jsqlparser.expression; import java.io.Serializable; +import java.util.Locale; public class WindowOffset implements Serializable { @@ -79,7 +80,7 @@ public enum Type { PRECEDING, FOLLOWING, CURRENT, EXPR; public static Type from(String type) { - return Enum.valueOf(Type.class, type.toUpperCase()); + return Enum.valueOf(Type.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java index f450de1c1..770db3de3 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import java.util.Locale; import net.sf.jsqlparser.expression.BinaryExpression; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.ExpressionVisitor; @@ -120,7 +121,8 @@ public enum KeyWord { LIKE, ILIKE, RLIKE, REGEXP_LIKE, REGEXP, SIMILAR_TO, MATCH_ANY, MATCH_ALL, MATCH_PHRASE, MATCH_PHRASE_PREFIX, MATCH_REGEXP; public static KeyWord from(String keyword) { - return Enum.valueOf(KeyWord.class, keyword.toUpperCase().replaceAll("\\s+", "_")); + return Enum.valueOf(KeyWord.class, + keyword.toUpperCase(Locale.ROOT).replaceAll("\\s+", "_")); } } } diff --git a/src/main/java/net/sf/jsqlparser/schema/Sequence.java b/src/main/java/net/sf/jsqlparser/schema/Sequence.java index 764294db6..5d7b960cd 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Sequence.java +++ b/src/main/java/net/sf/jsqlparser/schema/Sequence.java @@ -13,6 +13,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.Optional; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; @@ -177,7 +178,7 @@ public enum ParameterType { INCREMENT_BY, INCREMENT, START_WITH, START, RESTART_WITH, MAXVALUE, NOMAXVALUE, MINVALUE, NOMINVALUE, CYCLE, NOCYCLE, CACHE, NOCACHE, ORDER, NOORDER, KEEP, NOKEEP, SESSION, GLOBAL; public static ParameterType from(String type) { - return Enum.valueOf(ParameterType.class, type.toUpperCase()); + return Enum.valueOf(ParameterType.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/DBMSType.java b/src/main/java/net/sf/jsqlparser/statement/DBMSType.java index 4b3d667da..4f2500e9c 100644 --- a/src/main/java/net/sf/jsqlparser/statement/DBMSType.java +++ b/src/main/java/net/sf/jsqlparser/statement/DBMSType.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.statement; +import java.util.Locale; import net.sf.jsqlparser.expression.StringValue; public class DBMSType implements SourceDestinationType { @@ -20,7 +21,7 @@ public DBMSType(String dbmsType) { } public DBMSType(String dbmsType, String jdbcDriverDefinition) { - this.dbmsType = Kind.valueOf(dbmsType.toUpperCase()); + this.dbmsType = Kind.valueOf(dbmsType.toUpperCase(Locale.ROOT)); if (jdbcDriverDefinition != null) { this.jdbcDriverDefinition = new StringValue(jdbcDriverDefinition); } diff --git a/src/main/java/net/sf/jsqlparser/statement/DeclareType.java b/src/main/java/net/sf/jsqlparser/statement/DeclareType.java index 5208a333a..cb8cdbc46 100644 --- a/src/main/java/net/sf/jsqlparser/statement/DeclareType.java +++ b/src/main/java/net/sf/jsqlparser/statement/DeclareType.java @@ -9,6 +9,8 @@ */ package net.sf.jsqlparser.statement; +import java.util.Locale; + /** * @author tobens */ @@ -16,6 +18,6 @@ public enum DeclareType { TABLE, AS, TYPE; public static DeclareType from(String type) { - return Enum.valueOf(DeclareType.class, type.toUpperCase()); + return Enum.valueOf(DeclareType.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/ExplainStatement.java b/src/main/java/net/sf/jsqlparser/statement/ExplainStatement.java index 544aedf67..fbc5e8503 100644 --- a/src/main/java/net/sf/jsqlparser/statement/ExplainStatement.java +++ b/src/main/java/net/sf/jsqlparser/statement/ExplainStatement.java @@ -12,6 +12,7 @@ import java.io.Serializable; import java.util.LinkedHashMap; import java.util.List; +import java.util.Locale; import java.util.stream.Collectors; import net.sf.jsqlparser.schema.Table; @@ -144,7 +145,7 @@ public enum OptionType { ANALYZE, VERBOSE, COSTS, BUFFERS, FORMAT, PLAN, PLAN_FOR; public static OptionType from(String type) { - return Enum.valueOf(OptionType.class, type.toUpperCase()); + return Enum.valueOf(OptionType.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/FileType.java b/src/main/java/net/sf/jsqlparser/statement/FileType.java index 7ea1535f9..6810b1e12 100644 --- a/src/main/java/net/sf/jsqlparser/statement/FileType.java +++ b/src/main/java/net/sf/jsqlparser/statement/FileType.java @@ -9,11 +9,13 @@ */ package net.sf.jsqlparser.statement; +import java.util.Locale; + public class FileType implements SourceDestinationType { private final Kind fileType; public FileType(String fileType) { - this.fileType = Kind.valueOf(fileType.toUpperCase()); + this.fileType = Kind.valueOf(fileType.toUpperCase(Locale.ROOT)); } private enum Kind { diff --git a/src/main/java/net/sf/jsqlparser/statement/PurgeObjectType.java b/src/main/java/net/sf/jsqlparser/statement/PurgeObjectType.java index 4cb2755ba..7535d3467 100644 --- a/src/main/java/net/sf/jsqlparser/statement/PurgeObjectType.java +++ b/src/main/java/net/sf/jsqlparser/statement/PurgeObjectType.java @@ -9,6 +9,8 @@ */ package net.sf.jsqlparser.statement; +import java.util.Locale; + /** * @author Andreas Reichel */ @@ -16,6 +18,6 @@ public enum PurgeObjectType { TABLE, INDEX, RECYCLEBIN, DBA_RECYCLEBIN, TABLESPACE; public static PurgeObjectType from(String type) { - return Enum.valueOf(PurgeObjectType.class, type.toUpperCase()); + return Enum.valueOf(PurgeObjectType.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/ReferentialAction.java b/src/main/java/net/sf/jsqlparser/statement/ReferentialAction.java index 5691aed25..6e441ee1c 100644 --- a/src/main/java/net/sf/jsqlparser/statement/ReferentialAction.java +++ b/src/main/java/net/sf/jsqlparser/statement/ReferentialAction.java @@ -10,6 +10,7 @@ package net.sf.jsqlparser.statement; import java.io.Serializable; +import java.util.Locale; public class ReferentialAction implements Serializable { @@ -90,7 +91,7 @@ public enum Type { DELETE, UPDATE; public static Type from(String name) { - return Enum.valueOf(Type.class, name.toUpperCase()); + return Enum.valueOf(Type.class, name.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/ReturningClause.java b/src/main/java/net/sf/jsqlparser/statement/ReturningClause.java index 4c55daba8..c37a6dfd5 100644 --- a/src/main/java/net/sf/jsqlparser/statement/ReturningClause.java +++ b/src/main/java/net/sf/jsqlparser/statement/ReturningClause.java @@ -245,7 +245,7 @@ public enum Keyword { RETURN, RETURNING; public static Keyword from(String keyword) { - return Enum.valueOf(Keyword.class, keyword.toUpperCase()); + return Enum.valueOf(Keyword.class, keyword.toUpperCase(Locale.ROOT)); } } } diff --git a/src/main/java/net/sf/jsqlparser/statement/SessionStatement.java b/src/main/java/net/sf/jsqlparser/statement/SessionStatement.java index 161054397..1c791bb1a 100644 --- a/src/main/java/net/sf/jsqlparser/statement/SessionStatement.java +++ b/src/main/java/net/sf/jsqlparser/statement/SessionStatement.java @@ -10,6 +10,7 @@ package net.sf.jsqlparser.statement; import java.util.LinkedHashMap; +import java.util.Locale; import java.util.Map; import java.util.Set; @@ -18,7 +19,7 @@ public enum Action { START, APPLY, DROP, SHOW, DESCRIBE; public static Action from(String flag) { - return Enum.valueOf(Action.class, flag.toUpperCase()); + return Enum.valueOf(Action.class, flag.toUpperCase(Locale.ROOT)); } } @@ -53,7 +54,8 @@ public int size() { } public String putOption(String key, String value) { - return options.put(key.replaceAll("[\"']", "").toLowerCase(), value.toLowerCase()); + return options.put(key.replaceAll("[\"']", "").toLowerCase(Locale.ROOT), + value.toLowerCase(Locale.ROOT)); } public boolean hasOptions() { diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java b/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java index 48fe639ea..a33a98536 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java @@ -9,10 +9,12 @@ */ package net.sf.jsqlparser.statement.alter; +import java.util.Locale; + public enum AlterOperation { ADD, ALTER, DROP, DROP_PRIMARY_KEY, DROP_UNIQUE, DROP_FOREIGN_KEY, MODIFY, CHANGE, CONVERT, COLLATE, ALGORITHM, RENAME, RENAME_TABLE, RENAME_INDEX, RENAME_KEY, RENAME_CONSTRAINT, COMMENT, COMMENT_WITH_EQUAL_SIGN, UNSPECIFIC, ADD_PARTITION, DROP_PARTITION, DISCARD_PARTITION, IMPORT_PARTITION, TRUNCATE_PARTITION, COALESCE_PARTITION, REORGANIZE_PARTITION, EXCHANGE_PARTITION, ANALYZE_PARTITION, CHECK_PARTITION, OPTIMIZE_PARTITION, REBUILD_PARTITION, REPAIR_PARTITION, REMOVE_PARTITIONING, PARTITION_BY, SET_TABLE_OPTION, ENGINE, FORCE, KEY_BLOCK_SIZE, LOCK, DISCARD_TABLESPACE, IMPORT_TABLESPACE, DISABLE_KEYS, ENABLE_KEYS, ENABLE_ROW_LEVEL_SECURITY, DISABLE_ROW_LEVEL_SECURITY, FORCE_ROW_LEVEL_SECURITY, NO_FORCE_ROW_LEVEL_SECURITY; public static AlterOperation from(String operation) { - return Enum.valueOf(AlterOperation.class, operation.toUpperCase()); + return Enum.valueOf(AlterOperation.class, operation.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/AlterSessionOperation.java b/src/main/java/net/sf/jsqlparser/statement/alter/AlterSessionOperation.java index 1b8e4ec2a..e22742b5c 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/AlterSessionOperation.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/AlterSessionOperation.java @@ -10,6 +10,8 @@ package net.sf.jsqlparser.statement.alter; +import java.util.Locale; + /** * @author are */ @@ -17,6 +19,6 @@ public enum AlterSessionOperation { ADVISE_COMMIT, ADVISE_ROLLBACK, ADVISE_NOTHING, CLOSE_DATABASE_LINK, ENABLE_COMMIT_IN_PROCEDURE, DISABLE_COMMIT_IN_PROCEDURE, ENABLE_GUARD, DISABLE_GUARD, ENABLE_PARALLEL_DML, DISABLE_PARALLEL_DML, FORCE_PARALLEL_DML, ENABLE_PARALLEL_DDL, DISABLE_PARALLEL_DDL, FORCE_PARALLEL_DDL, ENABLE_PARALLEL_QUERY, DISABLE_PARALLEL_QUERY, FORCE_PARALLEL_QUERY, ENABLE_RESUMABLE, DISABLE_RESUMABLE, SET; public static AlterSessionOperation from(String operation) { - return Enum.valueOf(AlterSessionOperation.class, operation.toUpperCase()); + return Enum.valueOf(AlterSessionOperation.class, operation.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/RowMovementMode.java b/src/main/java/net/sf/jsqlparser/statement/create/table/RowMovementMode.java index 9d6066f7a..298a21cb0 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/RowMovementMode.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/RowMovementMode.java @@ -9,11 +9,13 @@ */ package net.sf.jsqlparser.statement.create.table; +import java.util.Locale; + public enum RowMovementMode { ENABLE, DISABLE; public static RowMovementMode from(String mode) { - return Enum.valueOf(RowMovementMode.class, mode.toUpperCase()); + return Enum.valueOf(RowMovementMode.class, mode.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/view/AutoRefreshOption.java b/src/main/java/net/sf/jsqlparser/statement/create/view/AutoRefreshOption.java index 69e354d82..dfdf9da71 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/view/AutoRefreshOption.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/view/AutoRefreshOption.java @@ -9,10 +9,12 @@ */ package net.sf.jsqlparser.statement.create.view; +import java.util.Locale; + public enum AutoRefreshOption { NONE, YES, NO; public static AutoRefreshOption from(String option) { - return Enum.valueOf(AutoRefreshOption.class, option.toUpperCase()); + return Enum.valueOf(AutoRefreshOption.class, option.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/view/ForceOption.java b/src/main/java/net/sf/jsqlparser/statement/create/view/ForceOption.java index 379690b63..af4b5bfe9 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/view/ForceOption.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/view/ForceOption.java @@ -9,10 +9,12 @@ */ package net.sf.jsqlparser.statement.create.view; +import java.util.Locale; + public enum ForceOption { NONE, FORCE, NO_FORCE; public static ForceOption from(String option) { - return Enum.valueOf(ForceOption.class, option.toUpperCase()); + return Enum.valueOf(ForceOption.class, option.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/view/TemporaryOption.java b/src/main/java/net/sf/jsqlparser/statement/create/view/TemporaryOption.java index c543af966..9ef367d5b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/view/TemporaryOption.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/view/TemporaryOption.java @@ -9,10 +9,12 @@ */ package net.sf.jsqlparser.statement.create.view; +import java.util.Locale; + public enum TemporaryOption { NONE, TEMP, TEMPORARY, VOLATILE; public static TemporaryOption from(String option) { - return Enum.valueOf(TemporaryOption.class, option.toUpperCase()); + return Enum.valueOf(TemporaryOption.class, option.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/delete/DeleteModifierPriority.java b/src/main/java/net/sf/jsqlparser/statement/delete/DeleteModifierPriority.java index f02772287..62113ce53 100644 --- a/src/main/java/net/sf/jsqlparser/statement/delete/DeleteModifierPriority.java +++ b/src/main/java/net/sf/jsqlparser/statement/delete/DeleteModifierPriority.java @@ -9,10 +9,12 @@ */ package net.sf.jsqlparser.statement.delete; +import java.util.Locale; + public enum DeleteModifierPriority { LOW_PRIORITY; public static DeleteModifierPriority from(String priority) { - return Enum.valueOf(DeleteModifierPriority.class, priority.toUpperCase()); + return Enum.valueOf(DeleteModifierPriority.class, priority.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java b/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java index e0d597700..f29ecb216 100644 --- a/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java +++ b/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.statement.execute; +import java.util.Locale; import net.sf.jsqlparser.expression.operators.relational.ExpressionList; import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList; import net.sf.jsqlparser.statement.Statement; @@ -95,7 +96,7 @@ public enum ExecType { EXECUTE, EXEC, CALL; public static ExecType from(String type) { - return Enum.valueOf(ExecType.class, type.toUpperCase()); + return Enum.valueOf(ExecType.class, type.toUpperCase(Locale.ROOT)); } } } diff --git a/src/main/java/net/sf/jsqlparser/statement/insert/ConflictActionType.java b/src/main/java/net/sf/jsqlparser/statement/insert/ConflictActionType.java index 8e82829b4..f5a546de9 100644 --- a/src/main/java/net/sf/jsqlparser/statement/insert/ConflictActionType.java +++ b/src/main/java/net/sf/jsqlparser/statement/insert/ConflictActionType.java @@ -9,10 +9,12 @@ */ package net.sf.jsqlparser.statement.insert; +import java.util.Locale; + public enum ConflictActionType { NOTHING, DO_NOTHING, DO_UPDATE; public static ConflictActionType from(String type) { - return Enum.valueOf(ConflictActionType.class, type.toUpperCase()); + return Enum.valueOf(ConflictActionType.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java b/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java index 1e132893f..65934ad2b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java +++ b/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java @@ -9,10 +9,12 @@ */ package net.sf.jsqlparser.statement.insert; +import java.util.Locale; + public enum InsertModifierPriority { LOW_PRIORITY, DELAYED, HIGH_PRIORITY, IGNORE; public final static InsertModifierPriority from(String priority) { - return Enum.valueOf(InsertModifierPriority.class, priority.toUpperCase()); + return Enum.valueOf(InsertModifierPriority.class, priority.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/refresh/RefreshMode.java b/src/main/java/net/sf/jsqlparser/statement/refresh/RefreshMode.java index fb78fac5d..36fd2a120 100644 --- a/src/main/java/net/sf/jsqlparser/statement/refresh/RefreshMode.java +++ b/src/main/java/net/sf/jsqlparser/statement/refresh/RefreshMode.java @@ -9,11 +9,13 @@ */ package net.sf.jsqlparser.statement.refresh; +import java.util.Locale; + public enum RefreshMode { DEFAULT, WITH_DATA, WITH_NO_DATA; public static RefreshMode from(String type) { - return Enum.valueOf(RefreshMode.class, type.toUpperCase()); + return Enum.valueOf(RefreshMode.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/First.java b/src/main/java/net/sf/jsqlparser/statement/select/First.java index 3744e30a3..6e0c1468f 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/First.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/First.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.statement.select; +import java.util.Locale; import net.sf.jsqlparser.expression.JdbcParameter; import java.io.Serializable; @@ -91,7 +92,7 @@ public enum Keyword { FIRST, LIMIT; public static Keyword from(String keyword) { - return Enum.valueOf(Keyword.class, keyword.toUpperCase()); + return Enum.valueOf(Keyword.class, keyword.toUpperCase(Locale.ROOT)); } } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/ForClause.java b/src/main/java/net/sf/jsqlparser/statement/select/ForClause.java index 4604425a3..901d72472 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/ForClause.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/ForClause.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.statement.select; +import java.util.Locale; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; public class ForClause extends ASTNodeAccessImpl { @@ -32,7 +33,7 @@ public enum ForOption { BROWSE, XML, JSON; public static ForOption from(String option) { - return Enum.valueOf(ForOption.class, option.toUpperCase()); + return Enum.valueOf(ForOption.class, option.toUpperCase(Locale.ROOT)); } } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/KSQLJoinWindow.java b/src/main/java/net/sf/jsqlparser/statement/select/KSQLJoinWindow.java index 4bcc6a0a1..5afbecd3d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/KSQLJoinWindow.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/KSQLJoinWindow.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.statement.select; +import java.util.Locale; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import static net.sf.jsqlparser.statement.select.KSQLWindow.TimeUnit; @@ -24,7 +25,7 @@ public class KSQLJoinWindow extends ASTNodeAccessImpl { private TimeUnit afterTimeUnit; public final static TimeUnit from(String timeUnitStr) { - return Enum.valueOf(TimeUnit.class, timeUnitStr.toUpperCase()); + return Enum.valueOf(TimeUnit.class, timeUnitStr.toUpperCase(Locale.ROOT)); } public boolean isBeforeAfterWindow() { diff --git a/src/main/java/net/sf/jsqlparser/statement/select/KSQLWindow.java b/src/main/java/net/sf/jsqlparser/statement/select/KSQLWindow.java index 12b98d0f8..ea50d4cb6 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/KSQLWindow.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/KSQLWindow.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.statement.select; +import java.util.Locale; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; public class KSQLWindow extends ASTNodeAccessImpl { @@ -115,7 +116,7 @@ public enum TimeUnit { DAY, HOUR, MINUTE, SECOND, MILLISECOND, DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS; public static TimeUnit from(String unit) { - return Enum.valueOf(TimeUnit.class, unit.toUpperCase()); + return Enum.valueOf(TimeUnit.class, unit.toUpperCase(Locale.ROOT)); } } @@ -129,7 +130,7 @@ public enum WindowType { } public static WindowType from(String type) { - return Enum.valueOf(WindowType.class, type.toUpperCase()); + return Enum.valueOf(WindowType.class, type.toUpperCase(Locale.ROOT)); } public String getWindowType() { diff --git a/src/main/java/net/sf/jsqlparser/statement/select/MySqlSqlCacheFlags.java b/src/main/java/net/sf/jsqlparser/statement/select/MySqlSqlCacheFlags.java index 1656e302a..eef687763 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/MySqlSqlCacheFlags.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/MySqlSqlCacheFlags.java @@ -9,6 +9,8 @@ */ package net.sf.jsqlparser.statement.select; +import java.util.Locale; + /** * @author tw */ @@ -16,6 +18,6 @@ public enum MySqlSqlCacheFlags { SQL_CACHE, SQL_NO_CACHE; public static MySqlSqlCacheFlags from(String flag) { - return Enum.valueOf(MySqlSqlCacheFlags.class, flag.toUpperCase()); + return Enum.valueOf(MySqlSqlCacheFlags.class, flag.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java b/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java index 8ac4de9fd..38b78384d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java @@ -11,6 +11,7 @@ import java.io.Serializable; +import java.util.Locale; import net.sf.jsqlparser.expression.Expression; public class OrderByElement implements Serializable { @@ -116,7 +117,7 @@ public enum NullOrdering { NULLS_FIRST, NULLS_LAST; public static NullOrdering from(String ordering) { - return Enum.valueOf(NullOrdering.class, ordering.toUpperCase()); + return Enum.valueOf(NullOrdering.class, ordering.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SampleClause.java b/src/main/java/net/sf/jsqlparser/statement/select/SampleClause.java index eba561686..e6bc8f21d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SampleClause.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SampleClause.java @@ -9,6 +9,8 @@ */ package net.sf.jsqlparser.statement.select; +import java.util.Locale; + public class SampleClause { private SampleKeyword keyword; private SampleMethod method; @@ -177,7 +179,7 @@ public enum SampleKeyword { public static SampleKeyword from(String sampleKeyword) { return Enum.valueOf(SampleKeyword.class, - sampleKeyword.toUpperCase().replaceAll(" ", "_")); + sampleKeyword.toUpperCase(Locale.ROOT).replaceAll(" ", "_")); } @Override @@ -191,7 +193,7 @@ public enum SampleMethod { public static SampleMethod from(String sampleMethod) { return Enum.valueOf(SampleMethod.class, - sampleMethod.toUpperCase().replaceAll(" ", "_")); + sampleMethod.toUpperCase(Locale.ROOT).replaceAll(" ", "_")); } } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java b/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java index 465eca2d5..c3829ad30 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java @@ -14,6 +14,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.Optional; public class SetOperationList extends Select { @@ -134,7 +135,7 @@ public enum SetOperationType { INTERSECT, EXCEPT, MINUS, UNION; public static SetOperationType from(String type) { - return Enum.valueOf(SetOperationType.class, type.toUpperCase()); + return Enum.valueOf(SetOperationType.class, type.toUpperCase(Locale.ROOT)); } } } diff --git a/src/main/java/net/sf/jsqlparser/statement/show/ShowTablesStatement.java b/src/main/java/net/sf/jsqlparser/statement/show/ShowTablesStatement.java index 5aaa8c8eb..d6016d7fb 100644 --- a/src/main/java/net/sf/jsqlparser/statement/show/ShowTablesStatement.java +++ b/src/main/java/net/sf/jsqlparser/statement/show/ShowTablesStatement.java @@ -9,6 +9,7 @@ */ package net.sf.jsqlparser.statement.show; +import java.util.Locale; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.StatementVisitor; @@ -106,7 +107,7 @@ public enum SelectionMode { FROM, IN; public static SelectionMode from(String mode) { - return Enum.valueOf(SelectionMode.class, mode.toUpperCase()); + return Enum.valueOf(SelectionMode.class, mode.toUpperCase(Locale.ROOT)); } } @@ -114,7 +115,7 @@ public enum Modifiers { EXTENDED, FULL; public static Modifiers from(String modifier) { - return Enum.valueOf(Modifiers.class, modifier.toUpperCase()); + return Enum.valueOf(Modifiers.class, modifier.toUpperCase(Locale.ROOT)); } } } diff --git a/src/main/java/net/sf/jsqlparser/statement/update/UpdateModifierPriority.java b/src/main/java/net/sf/jsqlparser/statement/update/UpdateModifierPriority.java index 39856bbca..d7b7d71cd 100644 --- a/src/main/java/net/sf/jsqlparser/statement/update/UpdateModifierPriority.java +++ b/src/main/java/net/sf/jsqlparser/statement/update/UpdateModifierPriority.java @@ -9,10 +9,12 @@ */ package net.sf.jsqlparser.statement.update; +import java.util.Locale; + public enum UpdateModifierPriority { LOW_PRIORITY; public static UpdateModifierPriority from(String priority) { - return Enum.valueOf(UpdateModifierPriority.class, priority.toUpperCase()); + return Enum.valueOf(UpdateModifierPriority.class, priority.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/upsert/UpsertType.java b/src/main/java/net/sf/jsqlparser/statement/upsert/UpsertType.java index e60255170..14e93c828 100644 --- a/src/main/java/net/sf/jsqlparser/statement/upsert/UpsertType.java +++ b/src/main/java/net/sf/jsqlparser/statement/upsert/UpsertType.java @@ -9,10 +9,12 @@ */ package net.sf.jsqlparser.statement.upsert; +import java.util.Locale; + public enum UpsertType { UPSERT, REPLACE, REPLACE_SET, INSERT_OR_ABORT, INSERT_OR_FAIL, INSERT_OR_IGNORE, INSERT_OR_REPLACE, INSERT_OR_ROLLBACK; public static UpsertType from(String type) { - return Enum.valueOf(UpsertType.class, type.toUpperCase()); + return Enum.valueOf(UpsertType.class, type.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java b/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java index baf251ecc..e3b174508 100644 --- a/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java +++ b/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java @@ -12,6 +12,7 @@ import java.util.LinkedList; import java.util.List; +import java.util.Locale; import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.statement.piped.FromQuery; import net.sf.jsqlparser.statement.select.LateralSubSelect; @@ -79,12 +80,12 @@ public T visit(SetOperationList setOperationList, S context) { public T visit(SelectItem selectExpressionItem, S context) { if (firstRun) { if (selectExpressionItem.getAlias() != null) { - aliases.add(selectExpressionItem.getAlias().getName().toUpperCase()); + aliases.add(selectExpressionItem.getAlias().getName().toUpperCase(Locale.ROOT)); } } else { if (selectExpressionItem.getAlias() == null) { while (true) { - String alias = getNextAlias().toUpperCase(); + String alias = getNextAlias().toUpperCase(Locale.ROOT); if (!aliases.contains(alias)) { aliases.add(alias); selectExpressionItem.setAlias(new Alias(alias)); diff --git a/src/main/java/net/sf/jsqlparser/util/validation/feature/DatabaseType.java b/src/main/java/net/sf/jsqlparser/util/validation/feature/DatabaseType.java index 2359f93d0..b23ca1286 100644 --- a/src/main/java/net/sf/jsqlparser/util/validation/feature/DatabaseType.java +++ b/src/main/java/net/sf/jsqlparser/util/validation/feature/DatabaseType.java @@ -10,6 +10,7 @@ package net.sf.jsqlparser.util.validation.feature; import java.util.EnumSet; +import java.util.Locale; import java.util.Set; import net.sf.jsqlparser.parser.feature.Feature; @@ -59,7 +60,7 @@ public enum DatabaseType implements FeatureSetValidation, Version { * @throws NullPointerException if {@code jdbcIdentifier} is null */ public static DatabaseType get(String jdbcIdentifier) { - return DatabaseType.valueOf(jdbcIdentifier.toUpperCase()); + return DatabaseType.valueOf(jdbcIdentifier.toUpperCase(Locale.ROOT)); } /**