是否有任何参数可以在jooq代码生成期间打开/关闭下一个查询的执行?
SELECT "SYS"."ALL_OBJECTS"."OWNER",
"SYS"."ALL_OBJECTS"."OBJECT_NAME",
"SYS"."ALL_OBJECTS"."OBJECT_ID",
"SYS"."ALL_PROCEDURES"."AGGREGATE"
FROM "SYS"."ALL_OBJECTS"
LEFT OUTER JOIN "SYS"."ALL_PROCEDURES"
ON ( "SYS"."ALL_OBJECTS"."OWNER" =
"SYS"."ALL_PROCEDURES"."OWNER"
AND "SYS"."ALL_OBJECTS"."OBJECT_NAME" =
"SYS"."ALL_PROCEDURES"."OBJECT_NAME")
WHERE ( UPPER ("SYS"."ALL_OBJECTS"."OWNER") IN ( 'MYSCHEMA')
AND "SYS"."ALL_OBJECTS"."OBJECT_TYPE" IN ( 'FUNCTION', 'PROCEDURE'))
ORDER BY "SYS"."ALL_OBJECTS"."OWNER" ASC,
"SYS"."ALL_OBJECTS"."OBJECT_NAME" ASC,
"SYS"."ALL_OBJECTS"."OBJECT_ID" ASC
在具有大量模式和对象的数据库上,执行大约需要一个小时
答案 0 :(得分:1)
jOOQ运行的查询的一个主要问题是qcut = function(x, n) {
quantiles = seq(0, 1, length.out = n+1)
cutpoints = unname(quantile(x, quantiles, na.rm = TRUE))
as.character(cut(x, cutpoints, include.lowest = TRUE))
}
dt[, bin2 := qcut(A, 3), by = B]
# A B bin bin2
# 1: 1 1 [1,4] [1,2.33]
# 2: 2 1 [1,4] [1,2.33]
# 3: 3 1 [1,4] (2.33,3.67]
# 4: 4 1 [1,4] (3.67,5]
# 5: 5 1 (4,7] (3.67,5]
# 6: 6 2 (4,7] [6,7.33]
# 7: 7 2 (4,7] [6,7.33]
# 8: 8 2 (7,10] (7.33,8.67]
# 9: 9 2 (7,10] (8.67,10]
#10: 10 2 (7,10] (8.67,10]
表达式。这是在jOOQ 2.4(#1418)中引入的,以防止用户意外使用小写模式名称的错误配置。该功能基于错误的假设,即区分大小写的用户是不可能的。它们肯定是可能的(即使很少见),所以#1418错了。我为这个问题创建了两个问题:
与此同时,您有一些可能的解决方法:
您始终可以覆盖jooq-codegen中的OWNER
并重新实现包括JavaGenerator
和generatePackages()
在内的某些方法为空。这样,根本不会执行相关代码。
当然,这意味着您将无法获得任何生成的包和例程。
有一个新配置选项,您可以在其中以上述方式进行配置:
generateRoutines()