发布日期:. 2022年6月30日
支持快速升级的补丁,请参见 lt_patch。
添加可加载的PL/oraSQL过程语言,请参见 pl-sql。
lt_hint_plan增强。
            添加三个新提示:use_hash、use_nl、full,
            语义与Oracle一致。
          
提示中的表名不区分大小写。
            提示 parallel 的默认值是hard,并且不支持表规范。
          
当子查询只有一个表时,提示可以应用于子查询的表。
EXPLAIN (COSTS false) select /*+use_hash(t1 y)*/* from t1,(select * from t2) y where t1.id=y.id;
         QUERY PLAN             
------------------------------------
Hash Join
Hash Cond: (t1.id = t2.id)
->  Seq Scan on t1 @"lt#0"
->  Hash
        ->  Seq Scan on t2 @"lt#1"
(5 rows)
支持用户定义类型优先级以获得更好的函数和运算符匹配,请参见 类型兼容。
        支持使用 CREATE TABLE DISTRIBUTED BY 创建分布式表(依赖于扩展canopy),请参见
        CREATE TABLE。
      
create table dist1(a int, b int) distributed by hash(a) shard_count(4);
Auto-explain执行计划日志以JSON格式打印在单独的日志文件(*.slow)中。
添加扩展 wal2sql,支持与Oracle的实时同步。
        lt_dump 支持 --recreate-schema,以生成删除模式(使用 CASCADE
        模式)命令以获得更好的性能,请参见
        lt_dump。
      
客户端应用程序和 libpq支持 LightDB环境变量。
        sysdate和systimestamp
        表示语句开始时间。
      
lightdb@postgres=# begin;
BEGIN
lightdb@postgres=*# select sysdate from dual;
    sysdate       
---------------------
2022-06-28 19:44:15
(1 row)
lightdb@postgres=*# select sysdate from dual;
    sysdate       
---------------------
2022-06-28 19:44:16
(1 row)
lightdb@postgres=*# end;
COMMIT
有关详细信息,请参见 datetime。
支持保序加密,请参阅 lt_ope。
新增以下平台支持:
| 架构 | 操作系统 | 
|---|---|
| 龙芯架构 | 麒麟V10(SP1) | 
| x86_64 | Rocky Linux | 
| aarch64 | Rocky Linux | 
        添加集群控制工具lightdb_service.py,以方便在高可用性和分布式环境中启动和停止服务。
      
启动集群:
        lightdb_service.py -c start
      停止集群:
        lightdb_service.py -c stop
      PWR中的值0显示为空,请参阅 lt_profile了解详细信息。
        在非分布式安装中,未安装canopy扩展。
      
        重新启动
        keepalived和
        ltcluster时,将生成新的日志文件,以避免与旧日志混淆。
      
lt_initdb不限制选项的顺序。
        修复在
        lt_show_plans中进行并行查询时,偶尔会出现
        cannot assign XIDs during a parallel operation错误的问题。
      
发布基于PostgreSQL的JDBC驱动程序库。
Maven仓库
<dependency>
    <groupId>io.github.hslightdb</groupId>
    <artifactId>lightdb-jdbc</artifactId>
    <version>42.2.30</version>
</dependency>
我们修复了一些问题并增强了数据类型兼容性:
修复:在自动提交模式下,fetchSize不会生效,导致整个数据被加载到内存中,引发内存不足问题。
支持Oracle匿名块语法(请参阅 pl-sql)。
            支持与Oracle兼容的to_number()函数。
          
            支持将numeric数据类型转换为Java Long。
          
            支持将char(1)数据类型转换为Java Character。
          
            修复Java setDouble在numeric字段上操作时精度丢失的问题。
          
lt_cron支持Linux命令。
SELECT cron.schedule('dayly-touch', '59 23 * * *', 'rm -rf $LTDATA/log/*', 'next', '8', 'linux');
内置工具应用程序 lvs,用于在分布式多CN环境中进行负载均衡。
在安装目录和实例目录中更改了文件命名规则。
        public模式中的扩展对象都被移动到lt_catalog模式中。
      
RPM依赖项已经打包进了安装包中。
在分布式环境中支持 merge into。