4paradigm / 4paradigm/OpenMLDB

insert statement: codegen insert rows

Open
#3,731 0 comments 0 reactions 1 assignee Claimed by @aceforeverd View on GitHub
enhancement execute-engine storage-engine
Dominant language
C++
Stars
1.7k
Forks
331
Avg merge
12d 12h
Merged PRs (30d)
1

Description

we only support insert stmt with base type expressions, so
```sql
# 1.
insert into t1 values (1, 2);

# 2
insert to t1 values (1, map(1,"12"), inc(3), [3, 4, 5]);
```

`1` works with legacy solution, but not `2`. Codegen rows support both.

Big work since the complexity for insert statements, as well as the SDK in java and python.

- [ ] native codegen insert rows: consider table default value and parameters
- [ ] Java & Python SDK
- [ ] offline batch

#3723 initiate codegen rows for values that contains map data type only, more work required

Contributor guide

Open the contributing guide

Research direction

The issue references #3723 which initiated codegen for map data types. Start by examining the existing codegen infrastructure for INSERT statements, likely in the SQL compiler or execution engine. Review the Java and Python SDKs to understand how they currently handle INSERT. The goal is to extend support to complex expressions like map(), inc(), and arrays in row values, ensuring default values and parameters are considered.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, python, sql
Domain
backend-api-design, database, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.