Support SQL semantics to upsert/ insert operations in SQL
- 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
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