OrientDB 为聚合注册自定义函数 Java
OrientDB Register Custom Function for Aggregation Java
如本页底部所写 http://orientdb.com/docs/2.0/orientdb.wiki/SQL-Functions.html ,我们可以在 OrientDB 中构建自定义函数。但是,此示例仅显示了执行内联操作的自定义函数。有什么方法可以编写一个执行聚合操作的OrientDB函数吗?类似 sum(fieldName) 的东西。所以问题更多的是我们如何在我们的自定义函数中访问该字段的 'current' 记录值,以便我们可以执行聚合操作。
我建议你看看这个:OSQLFunctionSum
代码很简单,但重要的概念如下:
aggregateResults()
必须 return true
让 OrientDB 知道它是一个聚合函数
- OrientDB 将为您汇总记录,并且将为每个汇总return 一个您的函数实例。
- 您必须在函数实例中保留聚合数据(参见示例中的
private Number sum;
)
execute()
方法在查询期间为每条记录调用
getResult()
必须 return 聚合结果
如本页底部所写 http://orientdb.com/docs/2.0/orientdb.wiki/SQL-Functions.html ,我们可以在 OrientDB 中构建自定义函数。但是,此示例仅显示了执行内联操作的自定义函数。有什么方法可以编写一个执行聚合操作的OrientDB函数吗?类似 sum(fieldName) 的东西。所以问题更多的是我们如何在我们的自定义函数中访问该字段的 'current' 记录值,以便我们可以执行聚合操作。
我建议你看看这个:OSQLFunctionSum
代码很简单,但重要的概念如下:
aggregateResults()
必须 returntrue
让 OrientDB 知道它是一个聚合函数- OrientDB 将为您汇总记录,并且将为每个汇总return 一个您的函数实例。
- 您必须在函数实例中保留聚合数据(参见示例中的
private Number sum;
) execute()
方法在查询期间为每条记录调用getResult()
必须 return 聚合结果