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

Merge pull request #1686 from katzyn/enum

Fix a regression with ENUM data type
...@@ -21,9 +21,11 @@ import org.h2.table.Column; ...@@ -21,9 +21,11 @@ import org.h2.table.Column;
import org.h2.table.ColumnResolver; import org.h2.table.ColumnResolver;
import org.h2.table.Table; import org.h2.table.Table;
import org.h2.table.TableFilter; import org.h2.table.TableFilter;
import org.h2.value.ExtTypeInfo;
import org.h2.value.TypeInfo; import org.h2.value.TypeInfo;
import org.h2.value.Value; import org.h2.value.Value;
import org.h2.value.ValueBoolean; import org.h2.value.ValueBoolean;
import org.h2.value.ValueNull;
/** /**
* A expression that represents a column of a table or view. * A expression that represents a column of a table or view.
...@@ -214,6 +216,15 @@ public class ExpressionColumn extends Expression { ...@@ -214,6 +216,15 @@ public class ExpressionColumn extends Expression {
throw DbException.get(ErrorCode.MUST_GROUP_BY_COLUMN_1, getSQL()); throw DbException.get(ErrorCode.MUST_GROUP_BY_COLUMN_1, getSQL());
} }
} }
/*
* ENUM values are stored as integers.
*/
if (value != ValueNull.INSTANCE) {
ExtTypeInfo extTypeInfo = column.getType().getExtTypeInfo();
if (extTypeInfo != null) {
return extTypeInfo.cast(value);
}
}
return value; return value;
} }
......
...@@ -26,6 +26,11 @@ select * from card; ...@@ -26,6 +26,11 @@ select * from card;
> 4 null > 4 null
> rows: 3 > rows: 3
@reconnect
select suit from card where rank = 0;
>> clubs
alter table card alter column suit enum('a', 'b', 'c', 'd'); alter table card alter column suit enum('a', 'b', 'c', 'd');
> exception ENUM_VALUE_NOT_PERMITTED > exception ENUM_VALUE_NOT_PERMITTED
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论