apache / apache/pinot

Support SQL semantics to upsert/ insert operations in SQL

Open
#7,389 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
1d 21h
Merged PRs (30d)
189

Description

Pinot now supports row-level mutation such as upsert, partial upsert, however the SQL syntax is not reflecting these operations to express in simple SQL statements.

(e.g)
```
UPDATE meetup_rsvp SET user_name = "foo" WHERE user_id = "bar"; or
INSERT INTO meetup_rspv(meetup_id, user_id, user_name) Values (1, "foo", "bar");
```

SQL abstraction for the upsert operation can simplify the data management on Apache Pinot.

**Related Tickets:**
https://github.com/apache/pinot/issues/4809
https://github.com/apache/pinot/issues/6575

Contributor guide

Open the contributing guide

Research direction

Start by reading related issues #4809 and #6575 to understand the existing upsert and partial-upsert requirements. Then trace Pinot's SQL statement handling and mutation entry points, which are not named in this issue. Done means SQL can express the requested upsert or insert operations with defined semantics and coverage for the supported cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.