支持PL/Java

可获得性

本特性自openGauss 1.0.0版本开始引入。

特性简介

支持java UDF。

客户价值

提供多种函数的开发环境。

特性描述

使用openGauss数据库的PL/Java函数,用户可以使用自己喜欢的Java IDE编写Java方法,并将包含这些方法的jar文件安装到openGauss数据库中,然后使用该方法。openGauss PL/Java基于开源tada PL/Java 1.5.2开发,PL/Java所使用的JDK版本为Huawei JDK V100R001C00SPC190B003-b09。

特性增强

无。

特性约束

  • Java UDF可以实现一些较为简单的java计算,强烈建议不要在Java UDF中封装业务。
  • 强烈建议不要在Java函数中使用任何方式连接数据库,包括但不限于JDBC。
  • 建议用户使用Huawei JDK V100R001C00SPC190B003-b09编译Java方法和jar文件。
  • 暂不支持的数据类型:除表1提及之外的数据类型,包括自定义类型,复杂数据类型(Java Array类及派生类)。
  • 暂不支持UDAF、UDTF。

    表 1 PL/Java默认数据类型映射关系

    openGauss

    Java

    BOOLEAN

    boolean

    “char”

    byte

    bytea

    byte[]

    SMALLINT

    short

    INTEGER

    int

    BIGINT

    long

    FLOAT4

    float

    FLOAT8

    double

    CHAR

    java.lang.String

    VARCHAR

    java.lang.String

    TEXT

    java.lang.String

    name

    java.lang.String

    DATE

    java.sql.Timestamp

    TIME

    java.sql.Time (stored value treated as local time)

    TIMETZ

    java.sql.Time

    TIMESTAMP

    java.sql.Timestamp

    TIMESTAMPTZ

    java.sql.Timestamp

依赖关系

PL/Java依赖JDK环境,目前openGauss中已包含JDK环境,无需用户安装。如果用户已安装(相同或不同版本的)JDK,也不会引起冲突,openGauss会使用Huawei JDK V100R001C00SPC190B003-b09来运行PL/Java。