This is an automated email from the ASF dual-hosted git repository.
peacewong pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/linkis.git
The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
new 100430840 load user's and shared udf (#4417)
100430840 is described below
commit 1004308408e0ac571d0f0518ad26c1a53f05f75f
Author: rarexixi <[email protected]>
AuthorDate: Mon Mar 27 19:07:31 2023 +0800
load user's and shared udf (#4417)
---
.../java/org/apache/linkis/udf/dao/UDFDao.java | 4 ++-
.../org/apache/linkis/udf/service/UDFService.java | 2 +-
.../linkis/udf/service/impl/UDFServiceImpl.java | 4 +--
.../src/main/resources/mapper/common/UDFDao.xml | 30 ++++++++++++++--------
.../apache/linkis/udf/api/rpc/UdfReceiver.scala | 3 ++-
5 files changed, 27 insertions(+), 16 deletions(-)
diff --git
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/dao/UDFDao.java
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/dao/UDFDao.java
index 98028be80..b8ae15c38 100644
---
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/dao/UDFDao.java
+++
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/dao/UDFDao.java
@@ -62,7 +62,9 @@ public interface UDFDao {
Long treeId, String userName, Collection<Integer> categoryCodes);
List<UDFInfoVo> getUDFInfoByIds(
- @Param("ids") Long[] ids, @Param("categoryCodes") Collection<Integer>
categoryCodes);
+ @Param("username") String username,
+ @Param("ids") Long[] ids,
+ @Param("categoryCodes") Collection<Integer> categoryCodes);
List<UDFInfo> getLoadedUDFs(String userName);
diff --git
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/service/UDFService.java
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/service/UDFService.java
index 5b25b744e..c319dc14a 100644
---
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/service/UDFService.java
+++
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/service/UDFService.java
@@ -52,7 +52,7 @@ public interface UDFService {
List<UDFInfoVo> getUDFInfoByTreeId(Long treeId, String userName, String
category)
throws UDFException;
- List<UDFInfoVo> getUDFInfoByIds(Long[] ids, String category) throws
UDFException;
+ List<UDFInfoVo> getUDFInfoByIds(String username, Long[] ids, String
category) throws UDFException;
Map<String, List<String>> generateInitSql(String userName) throws
UDFException;
diff --git
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/service/impl/UDFServiceImpl.java
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/service/impl/UDFServiceImpl.java
index 14ab927e8..9d6144ba0 100644
---
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/service/impl/UDFServiceImpl.java
+++
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/service/impl/UDFServiceImpl.java
@@ -815,11 +815,11 @@ public class UDFServiceImpl implements UDFService {
}
@Override
- public List<UDFInfoVo> getUDFInfoByIds(Long[] ids, String category) {
+ public List<UDFInfoVo> getUDFInfoByIds(String username, Long[] ids, String
category) {
if (ids == null || ids.length == 0) {
return new ArrayList<>(0);
}
- return udfDao.getUDFInfoByIds(ids, categoryToCodes.get(category));
+ return udfDao.getUDFInfoByIds(username, ids,
categoryToCodes.get(category));
}
/**
diff --git
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/resources/mapper/common/UDFDao.xml
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/resources/mapper/common/UDFDao.xml
index 17133345b..59e327976 100644
---
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/resources/mapper/common/UDFDao.xml
+++
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/resources/mapper/common/UDFDao.xml
@@ -165,17 +165,25 @@
</select>
<select id="getUDFInfoByIds"
resultType="org.apache.linkis.udf.vo.UDFInfoVo">
- select pub.*, puv.path, puv.register_format, puv.use_format,
puv.bml_resource_id, puv.bml_resource_version, puv.description
- from
- linkis_ps_udf_baseinfo pub
- join (
- select udf_id, max(bml_resource_version) as max_version
- from linkis_ps_udf_version
- where udf_id in <foreach collection="ids" open="("
separator="," close=")" item="item">#{item}</foreach>
- group by udf_id
- ) puvg on pub.id=puvg.udf_id
- join linkis_ps_udf_version puv on puvg.udf_id=puv.udf_id and
puvg.max_version=puv.bml_resource_version
- where udf_type in <foreach collection="categoryCodes" open="("
separator="," close=")" item="item">#{item}</foreach>
+ select pub.*,
+ puv.path,
+ puv.register_format,
+ puv.use_format,
+ puv.bml_resource_id,
+ puv.bml_resource_version,
+ puv.description
+ from (select *
+ from linkis_ps_udf_baseinfo
+ where id in <foreach collection="ids" open="(" separator=","
close=")" item="item">#{item}</foreach>
+ and udf_type in <foreach collection="categoryCodes" open="("
separator="," close=")" item="item">#{item}</foreach>
+ ) pub
+ join (select udf_id, max(bml_resource_version) as max_version
+ from linkis_ps_udf_version
+ where udf_id in <foreach collection="ids" open="("
separator="," close=")" item="item">#{item}</foreach>
+ group by udf_id) puvg on pub.id = puvg.udf_id
+ join linkis_ps_udf_version puv on puvg.udf_id = puv.udf_id
and puvg.max_version = puv.bml_resource_version
+ left join (select udf_id from linkis_ps_udf_shared_info where
user_name = #{username}) pusi on pub.id = pusi.udf_id
+ where pub.create_user = #{username} or pusi.udf_id is not null
</select>
<select id="getLoadedUDFs" resultMap="UDFInfoMap">
diff --git
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/scala/org/apache/linkis/udf/api/rpc/UdfReceiver.scala
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/scala/org/apache/linkis/udf/api/rpc/UdfReceiver.scala
index 501e4d3bc..06a085148 100644
---
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/scala/org/apache/linkis/udf/api/rpc/UdfReceiver.scala
+++
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/scala/org/apache/linkis/udf/api/rpc/UdfReceiver.scala
@@ -44,7 +44,8 @@ class UdfReceiver extends Receiver {
val udfTree = udfTreeService.getTreeById(treeId, userName, treeType,
treeCategory)
new ResponseUdfTree(udfTree)
case RequestUdfIds(userName, udfIds, treeCategory) =>
- val udfs = udfService.getUDFInfoByIds(udfIds.map(id => new
lang.Long(id)), treeCategory)
+ val udfs =
+ udfService.getUDFInfoByIds(userName, udfIds.map(id => new
lang.Long(id)), treeCategory)
new ResponseUdfs(udfs)
case _ =>
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]