4paradigm / 4paradigm/OpenMLDB
map data type limitations
- Dominant language
- C++
- Stars
- 1.7k
- Forks
- 331
- Avg merge
- 12d 12h
- Merged PRs (30d)
- 1
Description
**Bug Description**
test table: `CREATE TABLE t1 (c1 string, c2 int, c3 MAP);`
1. In the `desc t1;` statement, the key and value types of the map are not displayed.
2. In the `SHOW CREATE TABLE t1;` statement, columns of type map are not displayed.
3. In the SQL syntax documentation for table creation, the support for the map type is not specified. It is necessary to add support documentation for the map type and provide an example.
4. After executing the statement INSERT INTO t1 VALUES ("1", 1, map(1, "12", 2, "100"));, a warning-level alert log is being displayed.
`insert into t1 values ("1", 1, map(1, "12", 2, "100"));`
`W20240429 14:40:09.353835 19961 codec.cc:82] type is not supported`
6. In the `SELECT * FROM t1;` statement, the columns are displaying incorrectly or out of alignment.

Contributor guide
Research direction
The issue describes multiple problems with the MAP data type in OpenMLDB: display in DESC and SHOW CREATE TABLE, missing documentation, a warning log on INSERT, and misaligned SELECT output. Start by examining the SQL parser and type system code for map support, check the codec.cc file for the unsupported type warning, and review the table schema rendering logic. Testing involves creating tables with MAP columns and verifying the output of various SQL commands.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- sql
- Domain
- databases, documentation
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100