Skip to content

Commit 7cd4998

Browse files
committed
use Locale.ROOT for case-insensitive keyword normalisation
Signed-off-by: dxbjavid <dxbjavid@gmail.com>
1 parent 2b14156 commit 7cd4998

51 files changed

Lines changed: 135 additions & 58 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package net.sf.jsqlparser.expression;
1111

12+
import java.util.Locale;
1213
import net.sf.jsqlparser.expression.operators.relational.ExpressionList;
1314
import net.sf.jsqlparser.parser.ASTNodeAccessImpl;
1415
import net.sf.jsqlparser.statement.select.Limit;
@@ -243,7 +244,8 @@ public AnalyticExpression setHavingClause(Function.HavingClause havingClause) {
243244

244245
public AnalyticExpression setHavingClause(String havingType, Expression expression) {
245246
this.havingClause = new Function.HavingClause(
246-
Function.HavingClause.HavingType.valueOf(havingType.trim().toUpperCase()),
247+
Function.HavingClause.HavingType
248+
.valueOf(havingType.trim().toUpperCase(Locale.ROOT)),
247249
expression);
248250
return this;
249251
}

src/main/java/net/sf/jsqlparser/expression/AnalyticType.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@
99
*/
1010
package net.sf.jsqlparser.expression;
1111

12+
import java.util.Locale;
13+
1214
public enum AnalyticType {
1315
OVER, WITHIN_GROUP, WITHIN_GROUP_OVER, FILTER_ONLY;
1416

1517
public static AnalyticType from(String type) {
16-
return Enum.valueOf(AnalyticType.class, type.toUpperCase());
18+
return Enum.valueOf(AnalyticType.class, type.toUpperCase(Locale.ROOT));
1719
}
1820
}

src/main/java/net/sf/jsqlparser/expression/AnyType.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@
99
*/
1010
package net.sf.jsqlparser.expression;
1111

12+
import java.util.Locale;
13+
1214
public enum AnyType {
1315
ANY, SOME, ALL;
1416

1517
public static AnyType from(String type) {
16-
return Enum.valueOf(AnyType.class, type.toUpperCase());
18+
return Enum.valueOf(AnyType.class, type.toUpperCase(Locale.ROOT));
1719
}
1820
}

src/main/java/net/sf/jsqlparser/expression/CastExpression.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package net.sf.jsqlparser.expression;
1111

12+
import java.util.Locale;
1213
import net.sf.jsqlparser.parser.ASTNodeAccessImpl;
1314
import net.sf.jsqlparser.statement.create.table.ColDataType;
1415
import net.sf.jsqlparser.statement.create.table.ColumnDefinition;
@@ -276,7 +277,8 @@ public enum DataType {
276277
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;
277278

278279
public static DataType from(String typeStr) {
279-
Matcher matcher = PATTERN.matcher(typeStr.trim().replaceAll("\\s+", "_").toUpperCase());
280+
Matcher matcher = PATTERN.matcher(
281+
typeStr.trim().replaceAll("\\s+", "_").toUpperCase(Locale.ROOT));
280282
if (matcher.find()) {
281283
try {
282284
return Enum.valueOf(DataType.class, matcher.group(0));

src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package net.sf.jsqlparser.expression;
1111

12+
import java.util.Locale;
1213
import net.sf.jsqlparser.parser.ASTNodeAccessImpl;
1314

1415
public class DateTimeLiteralExpression extends ASTNodeAccessImpl implements Expression {
@@ -56,7 +57,7 @@ public enum DateTime {
5657
DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMPTZ;
5758

5859
public static DateTime from(String dateTimeStr) {
59-
return Enum.valueOf(DateTime.class, dateTimeStr.toUpperCase());
60+
return Enum.valueOf(DateTime.class, dateTimeStr.toUpperCase(Locale.ROOT));
6061
}
6162
}
6263
}

src/main/java/net/sf/jsqlparser/expression/DateUnitExpression.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package net.sf.jsqlparser.expression;
1111

12+
import java.util.Locale;
1213
import net.sf.jsqlparser.parser.ASTNodeAccessImpl;
1314

1415
import java.util.Objects;
@@ -44,7 +45,7 @@ public enum DateUnit {
4445
CENTURY, DECADE, YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, MILLISECOND, MICROSECOND, NANOSECOND;
4546

4647
public static DateUnit from(String UnitStr) {
47-
return Enum.valueOf(DateUnit.class, UnitStr.toUpperCase());
48+
return Enum.valueOf(DateUnit.class, UnitStr.toUpperCase(Locale.ROOT));
4849
}
4950
}
5051
}

src/main/java/net/sf/jsqlparser/expression/Function.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package net.sf.jsqlparser.expression;
1111

12+
import java.util.Locale;
1213
import net.sf.jsqlparser.expression.operators.relational.ExpressionList;
1314
import net.sf.jsqlparser.expression.operators.relational.NamedExpressionList;
1415
import net.sf.jsqlparser.parser.ASTNodeAccessImpl;
@@ -152,7 +153,8 @@ public Function setHavingClause(HavingClause havingClause) {
152153

153154
public Function setHavingClause(String havingType, Expression expression) {
154155
this.havingClause = new HavingClause(
155-
HavingClause.HavingType.valueOf(havingType.trim().toUpperCase()), expression);
156+
HavingClause.HavingType.valueOf(havingType.trim().toUpperCase(Locale.ROOT)),
157+
expression);
156158
return this;
157159
}
158160

src/main/java/net/sf/jsqlparser/expression/HexValue.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package net.sf.jsqlparser.expression;
1111

12+
import java.util.Locale;
1213
import net.sf.jsqlparser.parser.ASTNodeAccessImpl;
1314

1415
import java.nio.charset.StandardCharsets;
@@ -60,7 +61,7 @@ public String toString() {
6061
}
6162

6263
public String getDigits() {
63-
return value.toUpperCase().startsWith("0X")
64+
return value.toUpperCase(Locale.ROOT).startsWith("0X")
6465
? value.substring(2)
6566
: value.substring(2, value.length() - 1);
6667
}

src/main/java/net/sf/jsqlparser/expression/JsonAggregateFunction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
package net.sf.jsqlparser.expression;
1111

1212
import java.util.List;
13+
import java.util.Locale;
1314
import java.util.Objects;
1415

1516
import net.sf.jsqlparser.statement.select.OrderByElement;
@@ -73,7 +74,7 @@ public void setType(String typeName) {
7374
.valueOf(Objects
7475
.requireNonNull(typeName,
7576
"The Type of the JSON Aggregate Function must not be null")
76-
.toUpperCase());
77+
.toUpperCase(Locale.ROOT));
7778
}
7879

7980
public JsonAggregateFunction withType(JsonFunctionType type) {

src/main/java/net/sf/jsqlparser/expression/JsonAggregateOnNullType.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,15 @@
2525

2626
package net.sf.jsqlparser.expression;
2727

28+
import java.util.Locale;
29+
2830
/**
2931
* @author <a href="mailto:andreas@manticore-projects.com">Andreas Reichel</a>
3032
*/
3133
public enum JsonAggregateOnNullType {
3234
NULL, ABSENT;
3335

3436
public static JsonAggregateOnNullType from(String type) {
35-
return Enum.valueOf(JsonAggregateOnNullType.class, type.toUpperCase());
37+
return Enum.valueOf(JsonAggregateOnNullType.class, type.toUpperCase(Locale.ROOT));
3638
}
3739
}

0 commit comments

Comments
 (0)