hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (Jira)" <>
Subject [jira] [Work logged] (HIVE-24217) HMS storage backend for HPL/SQL stored procedures
Date Fri, 02 Oct 2020 15:04:00 GMT


ASF GitHub Bot logged work on HIVE-24217:

                Author: ASF GitHub Bot
            Created on: 02/Oct/20 15:03
            Start Date: 02/Oct/20 15:03
    Worklog Time Spent: 10m 
      Work Description: zeroflag commented on a change in pull request #1542:

File path: standalone-metastore/metastore-server/src/main/resources/package.jdo
@@ -1549,6 +1549,83 @@
         <column name="RM_DUMP_EXECUTION_ID"/>
+    <class name="MStoredProc" table="STORED_PROCS" identity-type="datastore" detachable="true">
+      <datastore-identity>
+        <column name="SP_ID"/>
+      </datastore-identity>
+      <field name="createTime">
+        <column name="CREATE_TIME" jdbc-type="integer" allows-null="false"/>
+      </field>
+      <field name="lastAccessTime">
+        <column name="LAST_ACCESS_TIME" jdbc-type="integer" allows-null="false"/>
+      </field>
+      <field name="database">
+        <column name="DB_ID" allows-null="false"/>
+      </field>
+      <field name="name">
+        <column name="NAME" length="256" jdbc-type="VARCHAR" allows-null="false"/>
+      </field>
+      <field name="owner">
+        <column name="OWNER_NAME" length="128" jdbc-type="VARCHAR" allows-null="false"/>
+      </field>
+      <field name="source">
+        <column name="SOURCE" jdbc-type="MEDIUMTEXT" allows-null="false"/>
+      </field>
+      <field name="language">
+        <column name="LANG" jdbc-type="varchar" length="128" allows-null="false"/>
+      </field>
+      <field name="returnType">
+        <column name="RET_TYPE" jdbc-type="varchar" length="128" allows-null="true"/>
+      </field>
+      <field name="parameters" table="SP_POS_ARGS" >
+        <collection element-type="MPosParam"/>
+        <join>
+            <column name="SP_ID"/>
+        </join>
+        <element>
+          <embedded>
+            <field name="name">
+              <column name="NAME" jdbc-type="varchar" length="256" allows-null="false"/>
+            </field>
+            <field name="type">
+              <column name="TYPE" jdbc-type="varchar" length="128" allows-null="false"/>
+            </field>
+            <field name="length">
+              <column name="length" jdbc-type="integer" allows-null="true"/>
+            </field>
+            <field name="scale">
+              <column name="scale" jdbc-type="integer" allows-null="true"/>
+            </field>
+            <field name="isOut">
+              <column name="OUT" allows-null="false"/>
+            </field>
+          </embedded>
+        </element>
+      </field>

Review comment:
       The signature is already parsed by the time the procedure is being created. We would
need to drop that information, get back the textual representation of the signature to store
it in HMS, and reparse it on the client side when someone calls the procedure. That's maybe
not a big deal but still unnecessary to parse it twice. Storing it in a structured way also
ensures some degree of validity, you can't store a syntactically incorrect signature if we
store it in a structured way.
   I'm not sure if they never participate in a query. If one wants to discover the stored
procedures which are currently stored in a DB and find out on what data they operate they
would need to do some clumsy string manipulations on the signature.
   Considering that other DB engines also store these information separately I would like
to keep it as it is for now and see how it works in practice. Later on when we have multi
language support we can revisit this issue. 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:

Issue Time Tracking

    Worklog Id:     (was: 493984)
    Time Spent: 1h 10m  (was: 1h)

> HMS storage backend for HPL/SQL stored procedures
> -------------------------------------------------
>                 Key: HIVE-24217
>                 URL:
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive, hpl/sql, Metastore
>            Reporter: Attila Magyar
>            Assignee: Attila Magyar
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: HPL_SQL storedproc HMS storage.pdf
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
> HPL/SQL procedures are currently stored in text files. The goal of this Jira is to implement
a Metastore backend for storing and loading these procedures. This is an incremental step
towards having fully capable stored procedures in Hive.
> See the attached design for more information.

This message was sent by Atlassian Jira

View raw message