ERROR: no binary output function available for type theta_sketch

Open
#72 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
postgresql

Research direction

Reproduce the reported SQL query with EXPLAIN and EXPLAIN ANALYZE on PostgreSQL 15.7, Citus 12.1, and datasketches 1.6.0, then compare the parallel aggregate paths. Investigate where the theta_sketch result is serialized for distributed execution; done means the analyzed query completes without the binary-output-function error.

Written by the indexing model from the issue text.

Description

PostgreSQL 15.7
Citus 12.1.-1
datasketches 1.6.0

select version();
                                                 version
---------------------------------------------------------------------------------------------------------
 PostgreSQL 15.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit

select  report_date, campaign_id, theta_sketch_get_estimate(theta_sketch_union(reach)) 
 from 
(select report_date,campaign_id, theta_sketch_union(reach_ds) as reach
 from report_day where service_account_id='599267'
 group by report_date, campaign_id,representative_id
 ) a
 group by report_date, campaign_id
order by  campaign_id, report_date
 limit 10;
 
ERROR:  42883: no binary output function available for type theta_sketch
CONTEXT:  while executing command on postgres-citus09:5432
LOCATION:  ReportResultError, remote_commands.c:324
Time: 1248.635 ms (00:01.249)

Hi.

When using parallel aggregate functions on distributed tables in Citus, an error occurs as seen in 'explain analyze'. However, if I run a query without an analyze or use only 'explain', it works fine.

Dominant language
C
Stars
96
Forks
13
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/datasketches-postgresql

All issues in apache/datasketches-postgresql

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.