lealone / Lealone

比 MySQL 和 MongoDB 快10倍的 OLTP 关系数据库和文档数据库
Other
2.48k stars 519 forks source link

枚举类型应该返回名称 #244

Closed cbqqkcel closed 3 weeks ago

cbqqkcel commented 3 weeks ago

image 插入的使用的是名称。insert into JdbcResultSetMetaDataTest (f1, f2) values (0, 'a') 查询返回的时候是顺序了。 image

mysql h2 都是返回名称。

我喜欢用枚举的原因是,使用字符串太长了占用空间。使用int类型,查询的时候都是数字不能直观看到这个值是啥意思。 枚举刚好解决这个问题,存的是int查询出来显示的是字符串。

codefollower commented 3 weeks ago

正常是 getString 返回名称,getInt 返回数值,如果不是这个结果可能存在 bug,也可能是调用了 getObject

codefollower commented 3 weeks ago

数据库对于枚举类型的字段是给客户端同时返回 string 和 int 两个值的,jdbc 驱动会根据用户调用的 api 不同而返回合适的值。

cbqqkcel commented 3 weeks ago

我用Datagrip查询返回的是 int 类型

cbqqkcel commented 3 weeks ago

其他工具没有试过。

cbqqkcel commented 3 weeks ago

getString 没问题。应该是getObject导致的

cbqqkcel commented 3 weeks ago

用DataGrip链接h2 返回的是字符串 image

codefollower commented 3 weeks ago

EnumTypeTest 这个枚举测试类是能正常显示的 lealone 自己的客户端也是显示名称。

如果调用 getObject 目前确实会返回数值。