openGauss 支援PL-Java

奔跑的数据库發表於2024-04-09

支援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。