matrixorigin / matrixorigin/matrixone

[Bug]: information_schema gaps break schema-migration tooling

Open
#25,103 16 comments 0 reactions 1 assignee Claimed by @Ariznawlll View on GitHub
benchbase kind/bug severity/s0
Dominant language
Go
Stars
1.9k
Forks
311
Avg merge
1d 3h
Merged PRs (30d)
768

Description

### Is there an existing issue for the same bug?

- [X] I have checked the existing issues.

### Branch Name

v4.0.0-rc3

### Commit ID

8.0.30-MatrixOne-v4.0.0-rc3

### Other Environment Information

- Hardware parameters: N/A
- OS type: N/A
- Others: Reproduced via cross-language ORM compatibility testing (PHP / Python / Java / Node.js) over the MySQL 8.0.30 wire protocol. The minimal repro below uses raw SQL so it is driver-independent.

### Actual Behavior

Two related problems block every schema-introspection / migration tool tested:

1. **Missing tables:** `information_schema.collation_character_set_applicability` and `information_schema.check_constraints` do not exist.
```
-- Doctrine DBAL listTables()/introspectTable(), CakePHP describe():
1064 SQL parser error: table "collation_character_set_applicability" does not exist
1064 SQL parser error: table "check_constraints" does not exist
```
2. **`ONLY_FULL_GROUP_BY` rejection on a `tables` introspection query** that the MySQL planner accepts:
```
-- Hibernate hbm2ddl=update/validate, Flyway, Liquibase:
1149 SQL syntax error: column "tables.TABLE_TYPE" must appear in the GROUP BY clause
```

Single-table column metadata is also inaccurate: varchar `CHARACTER_MAXIMUM_LENGTH` and decimal `NUMERIC_PRECISION`/`SCALE` come back `NULL`, `DATA_TYPE` is upper-cased, TEXT `CHARACTER_MAXIMUM_LENGTH = 0`, and foreign keys are not exposed via JDBC `getImportedKeys` / DBAL `listTableForeignKeys`.

### Expected Behavior

These `information_schema` tables/columns exist and behave as in MySQL 8.0, and the introspection queries above succeed.

### Steps to Reproduce

```sql
SELECT * FROM information_schema.collation_character_set_applicability LIMIT 1; -- 1064 table does not exist
SELECT * FROM information_schema.check_constraints LIMIT 1; -- 1064 table does not exist
```

### Additional information

**Impact:** Doctrine Migrations, CakePHP ORM reflection, Hibernate auto-DDL, Flyway and Liquibase all fail — i.e. the standard migration path for Symfony, Laravel (CakePHP), and Spring Boot apps. Liquibase is 0/9 in the suite.

**Background:** dengn/php-tester#3, dengn/php-tester#6 (and CakePHP in dengn/php-tester#1).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.