codefollower
codefollower
问题已经修复 在枚举字段上调用 ResultSetMetaData.getColumnClassName 现在返回 java.lang.String,保持跟 H2 数据库一致
那个是 h2 数据库的遗留代码,确实没用到,它的新代码用了,从 readFully(InputStream in, byte[] buffer) 变成了 readFully(InputStream in, byte[] buffer, int max),底层都是调用 java.io.InputStream.read(byte[], int, int), max 这个参数并不一定是输入流的实际长度。
java.time 包中的日期时间还不支持,所以转换时会有问题。
>  嵌入式下可以可以使用同步吗,由于是异步我无法从mybatis中debug过来 嵌入模式下真正执行 sql 语句的线程是 EScheduleService 线程,mybatis 的线程调用到 jdbc 的 api 时,只是把 sql 提交给EScheduleService 线程执行,所以无法在 mybatis 的线程里一路 debug 所有代码的。
> 如果要支持的话还得支持 LocalDateTime LocalDate LocalTime 这几个。 1.8 后不推荐使用 java.util.Date 了。 下一个小版本再看看如何支持 java.time 包中的日期时间,H2 数据库确实支持挺长一段时间了
不管是嵌入模式还是 client-server 模式,lealone 的内核代码都是由 lealone 内部的调度服务线程执行,外部线程无法也不给执行内核代码。
Lealone 的 JDBC 客户端已经支持 LocalDate、LocalTime、LocalDateTime,其他 java.time 类型还不支持。 通过 setObject/getObject 来使用,具体用法可以参考 [JSR310JavaTimeTest](https://github.com/lealone/Lealone/blob/master/lealone-test/src/test/java/com/lealone/test/client/JSR310JavaTimeTest.java)
> 最后lealone数据库的日志如下  我看了一下代码,可能遇到一个 bug 了,一个数据库实例被初始化了两次,报告 object already exists 错误。 登录到运行 lealone 数据库的服务器,按 ctrl+c 或 kill -9 退出,然后重启 lealone。
i_6_375 这个目录是某个索引的数据,索引字段的数据是很大的吗?1000万记录不应该有这么多数据文件的,你看看这些数据文件的大小普遍有多大?
1000万条记录如果用 lealone 的客户端多线程并发写很快的,lealone mysql 插件我都还没有做过性能测试和稳定性测试,这段时间难为你了,lealone mysql 插件还很不成熟的,我原本的计划是放到10-12月份再完善。