Unverified 提交 6641518a authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov 提交者: GitHub

Merge pull request #1083 from katzyn/misc

Assorted changes
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
package org.h2.engine; package org.h2.engine;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
...@@ -91,15 +90,14 @@ public class ConnectionInfo implements Cloneable { ...@@ -91,15 +90,14 @@ public class ConnectionInfo implements Cloneable {
} }
static { static {
ArrayList<String> list = SetTypes.getTypes();
String[] connectionTime = { "ACCESS_MODE_DATA", "AUTOCOMMIT", "CIPHER", String[] connectionTime = { "ACCESS_MODE_DATA", "AUTOCOMMIT", "CIPHER",
"CREATE", "CACHE_TYPE", "FILE_LOCK", "IGNORE_UNKNOWN_SETTINGS", "CREATE", "CACHE_TYPE", "FILE_LOCK", "IGNORE_UNKNOWN_SETTINGS",
"IFEXISTS", "INIT", "PASSWORD", "RECOVER", "RECOVER_TEST", "IFEXISTS", "INIT", "PASSWORD", "RECOVER", "RECOVER_TEST",
"USER", "AUTO_SERVER", "AUTO_SERVER_PORT", "NO_UPGRADE", "USER", "AUTO_SERVER", "AUTO_SERVER_PORT", "NO_UPGRADE",
"AUTO_RECONNECT", "OPEN_NEW", "PAGE_SIZE", "PASSWORD_HASH", "JMX", "AUTO_RECONNECT", "OPEN_NEW", "PAGE_SIZE", "PASSWORD_HASH", "JMX",
"SCOPE_GENERATED_KEYS" }; "SCOPE_GENERATED_KEYS" };
HashSet<String> set = new HashSet<>(list.size() + connectionTime.length); HashSet<String> set = new HashSet<>(128);
set.addAll(list); set.addAll(SetTypes.getTypes());
for (String key : connectionTime) { for (String key : connectionTime) {
if (!set.add(key) && SysProperties.CHECK) { if (!set.add(key) && SysProperties.CHECK) {
DbException.throwInternalError(key); DbException.throwInternalError(key);
......
...@@ -136,7 +136,7 @@ public class Aggregate extends Expression { ...@@ -136,7 +136,7 @@ public class Aggregate extends Expression {
ARRAY_AGG ARRAY_AGG
} }
private static final HashMap<String, AggregateType> AGGREGATES = new HashMap<>(26); private static final HashMap<String, AggregateType> AGGREGATES = new HashMap<>(64);
private final AggregateType type; private final AggregateType type;
private final Select select; private final Select select;
......
...@@ -1667,7 +1667,7 @@ public class JdbcCallableStatement extends JdbcPreparedStatement implements ...@@ -1667,7 +1667,7 @@ public class JdbcCallableStatement extends JdbcPreparedStatement implements
if (namedParameters == null) { if (namedParameters == null) {
ResultSetMetaData meta = getCheckedMetaData(); ResultSetMetaData meta = getCheckedMetaData();
int columnCount = meta.getColumnCount(); int columnCount = meta.getColumnCount();
HashMap<String, Integer> map = new HashMap<>(columnCount); HashMap<String, Integer> map = new HashMap<>();
for (int i = 1; i <= columnCount; i++) { for (int i = 1; i <= columnCount; i++) {
map.put(meta.getColumnLabel(i), i); map.put(meta.getColumnLabel(i), i);
} }
......
...@@ -3119,7 +3119,7 @@ public class JdbcResultSet extends TraceObject implements ResultSet, JdbcResultS ...@@ -3119,7 +3119,7 @@ public class JdbcResultSet extends TraceObject implements ResultSet, JdbcResultS
if (columnCount >= 3) { if (columnCount >= 3) {
// use a hash table if more than 2 columns // use a hash table if more than 2 columns
if (columnLabelMap == null) { if (columnLabelMap == null) {
HashMap<String, Integer> map = new HashMap<>(columnCount); HashMap<String, Integer> map = new HashMap<>();
// column labels have higher priority // column labels have higher priority
for (int i = 0; i < columnCount; i++) { for (int i = 0; i < columnCount; i++) {
String c = StringUtils.toUpperEnglish(result.getAlias(i)); String c = StringUtils.toUpperEnglish(result.getAlias(i));
......
...@@ -94,7 +94,7 @@ public class ObjectDataType implements DataType { ...@@ -94,7 +94,7 @@ public class ObjectDataType implements DataType {
Float.class, Double.class, BigDecimal.class, String.class, Float.class, Double.class, BigDecimal.class, String.class,
UUID.class, Date.class }; UUID.class, Date.class };
private static final HashMap<Class<?>, Integer> COMMON_CLASSES_MAP = new HashMap<>(COMMON_CLASSES.length); private static final HashMap<Class<?>, Integer> COMMON_CLASSES_MAP = new HashMap<>(32);
private AutoDetectDataType last = new StringType(this); private AutoDetectDataType last = new StringType(this);
......
.translator=Sergi Vladykin .translator=Sergi Vladykin; Evgenij Ryazanov
02000=Нет данных 02000=Нет данных
07001=Неверное количество параметров для функции {0}, ожидаемое количество: {1} 07001=Неверное количество параметров для функции {0}, ожидаемое количество: {1}
08000=Ошибка при открытии базы данных: {0} 08000=Ошибка при открытии базы данных: {0}
21S02=Неверное количество столбцов 21S02=Неверное количество столбцов
22001=Значение слишком длинное для поля {0}: {1} 22001=Значение слишком длинное для поля {0}: {1}
22003=Численное значение вне допустимого диапазона: {0} 22003=Численное значение вне допустимого диапазона: {0}
22004=#Numeric value out of range: {0} in column {1} 22004=Численное значение вне допустимого диапазона: {0} в столбце {1}
22007=Невозможно преобразование строки {1} в тип {0} 22007=Невозможно преобразование строки {1} в тип {0}
22012=Деление на ноль: {0} 22012=Деление на ноль: {0}
22018=Ошибка преобразования данных при конвертации {0} 22018=Ошибка преобразования данных при конвертации {0}
22025=Ошибка в LIKE ESCAPE: {0} 22025=Ошибка в LIKE ESCAPE: {0}
22030=#Value not permitted for column {0}: {1} 22030=Недопустимое значение для столбца {0}: {1}
22031=#Value not a member of enumerators {0}: {1} 22031=Значение не указано в перечислимом типе {0}: {1}
22032=#Empty enums are not allowed 22032=Пустые перечислимые типы не допускаются
22033=#Duplicate enumerators are not allowed for enum types: {0} 22033=Повторяющиеся значения в перечислимом типе: {0}
23502=Значение NULL не разрешено для поля {0} 23502=Значение NULL не разрешено для поля {0}
23503=Нарушение ссылочной целостности: {0} 23503=Нарушение ссылочной целостности: {0}
23505=Нарушение уникального индекса или первичного ключа: {0} 23505=Нарушение уникального индекса или первичного ключа: {0}
...@@ -140,7 +140,7 @@ ...@@ -140,7 +140,7 @@
90107=Невозможно удалить {0}, пока существует зависимый объект {1} 90107=Невозможно удалить {0}, пока существует зависимый объект {1}
90108=Ошибка нехватки памяти 90108=Ошибка нехватки памяти
90109=Представление {0} содержит ошибки: {1} 90109=Представление {0} содержит ошибки: {1}
90110=#Comparing ARRAY to scalar value 90110=Сравнение массива (ARRAY) со скалярным значением
90111=Ошибка при обращении к линкованной таблице SQL запросом {0}, причина: {1} 90111=Ошибка при обращении к линкованной таблице SQL запросом {0}, причина: {1}
90112=Запись не найдена при удалении из индекса {0} 90112=Запись не найдена при удалении из индекса {0}
90113=Неподдерживаемая опция соединения {0} 90113=Неподдерживаемая опция соединения {0}
...@@ -173,7 +173,7 @@ ...@@ -173,7 +173,7 @@
90140=Набор записей не является обновляемым. Возможно необходимо использовать conn.createStatement(.., ResultSet.CONCUR_UPDATABLE). 90140=Набор записей не является обновляемым. Возможно необходимо использовать conn.createStatement(.., ResultSet.CONCUR_UPDATABLE).
90141=Serializer не может быть изменен, потому что есть таблица данных: {0} 90141=Serializer не может быть изменен, потому что есть таблица данных: {0}
90142=Размер шага не должен быть равен нулю 90142=Размер шага не должен быть равен нулю
90143=#Row {1} not found in primary index {0} 90143=Строка {1} не найдена в первичном индексе {0}
HY000=Внутренняя ошибка: {0} HY000=Внутренняя ошибка: {0}
HY004=Неизвестный тип данных: {0} HY004=Неизвестный тип данных: {0}
HYC00=Данная функция не поддерживается: {0} HYC00=Данная функция не поддерживается: {0}
......
...@@ -198,7 +198,7 @@ class WebSession { ...@@ -198,7 +198,7 @@ class WebSession {
* @return a map containing the session meta data * @return a map containing the session meta data
*/ */
HashMap<String, Object> getInfo() { HashMap<String, Object> getInfo() {
HashMap<String, Object> m = new HashMap<>(map.size() + 5); HashMap<String, Object> m = new HashMap<>();
m.putAll(map); m.putAll(map);
m.put("lastAccess", new Timestamp(lastAccess).toString()); m.put("lastAccess", new Timestamp(lastAccess).toString());
try { try {
......
...@@ -1076,7 +1076,7 @@ public class TableFilter implements ColumnResolver { ...@@ -1076,7 +1076,7 @@ public class TableFilter implements ColumnResolver {
if (count != derivedColumnNames.size()) { if (count != derivedColumnNames.size()) {
throw DbException.get(ErrorCode.COLUMN_COUNT_DOES_NOT_MATCH); throw DbException.get(ErrorCode.COLUMN_COUNT_DOES_NOT_MATCH);
} }
HashMap<Column, String> map = new HashMap<>(count); HashMap<Column, String> map = new HashMap<>();
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
String alias = derivedColumnNames.get(i); String alias = derivedColumnNames.get(i);
for (int j = 0; j < i; j++) { for (int j = 0; j < i; j++) {
......
...@@ -619,8 +619,7 @@ class ToDateTokenizer { ...@@ -619,8 +619,7 @@ class ToDateTokenizer {
private static final List<FormatTokenEnum> EMPTY_LIST = Collections private static final List<FormatTokenEnum> EMPTY_LIST = Collections
.emptyList(); .emptyList();
private static final Map<Character, List<FormatTokenEnum>> CACHE = new HashMap<>( private static final Map<Character, List<FormatTokenEnum>> CACHE = new HashMap<>(64);
FormatTokenEnum.values().length);
private final ToDateParslet toDateParslet; private final ToDateParslet toDateParslet;
private final Pattern patternToUse; private final Pattern patternToUse;
......
...@@ -66,8 +66,8 @@ public class DataType { ...@@ -66,8 +66,8 @@ public class DataType {
* when clearing references. * when clearing references.
*/ */
private static final ArrayList<DataType> TYPES = new ArrayList<>(96); private static final ArrayList<DataType> TYPES = new ArrayList<>(96);
private static final HashMap<String, DataType> TYPES_BY_NAME = new HashMap<>(96); private static final HashMap<String, DataType> TYPES_BY_NAME = new HashMap<>(128);
private static final HashMap<Integer, DataType> TYPES_BY_VALUE_TYPE = new HashMap<>(48); private static final HashMap<Integer, DataType> TYPES_BY_VALUE_TYPE = new HashMap<>(64);
/** /**
* The value type of this data type. * The value type of this data type.
......
...@@ -24,11 +24,11 @@ SELECT ORA_HASH(1, 0); ...@@ -24,11 +24,11 @@ SELECT ORA_HASH(1, 0);
SELECT ORA_HASH(1, 4294967295); SELECT ORA_HASH(1, 4294967295);
>> 3509391659 >> 3509391659
SELECT ORA_HASH(1, 4294967296) SELECT ORA_HASH(1, 4294967296);
> exception > exception INVALID_VALUE_2
SELECT ORA_HASH(1, 4294967295, -1); SELECT ORA_HASH(1, 4294967295, -1);
> exception SYNTAX_ERROR_1 > exception INVALID_VALUE_2
SELECT ORA_HASH(1, 4294967295, 0); SELECT ORA_HASH(1, 4294967295, 0);
>> 3509391659 >> 3509391659
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论