暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss Group算子

openGauss小助手 2021-10-16
352

Group算子用于处理GROUP BY子句(节点),对满足条件的元组做分组处理,对应的代码源文件是“nodeGroup.cpp”。Group算子对应的子节点返回的元组是按照分组属性排列的结果。算子对应的主要函数如表7-27所示。

表7-27 Group算子主要函数

主要函数说明
ExecInitGroup初始化Group状态节点
ExecGroup迭代获取元组
ExecEndGroup清理Group状态节点
ExecResScanGroup重置Group状态节点

ExecInitGroup函数初始Group状态节点。主要执行流程如下。

(1) 构造Group状态节点。
(2) 初始化目标表达式和过滤表达式。
(3) 初始化唯一子节点(用于输出元组)。
(4) 获取唯一值过滤函数。

ExecGroup函数输出分组后的元组。Group子节点输出的元组已按照分组属性排序,在迭代输出时只要发现同上一个元组属性不匹配,则生成新的元组(新分组)输出。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论