KunlunBase is a distributed relational database management system(RDBMS) with complete NewSQL capabilities and robust transaction ACID guarantees and is compatible with standard SQL. Applications which used PostgreSQL or MySQL can work with KunlunBase as-is without any code change or rebuild because KunlunBase supports both PostgreSQL and MySQL connection protocols and DML SQL grammars. MySQL DBAs can quickly work on a KunlunBase cluster because we use MySQL as storage nodes of KunlunBase. KunlunBase can elastically scale out as needed, and guarantees transaction ACID under error conditions, and KunlunBase fully passes TPC-C, TPC-H and TPC-DS test suites, so it not only support OLTP workloads but also OLAP workloads. Application developers can use KunlunBase to build IT systems that handles terabytes of data, without any effort on their part to implement data sharding, distributed transaction processing, distributed query processing, crash safety, high availability, strong consistency, horizontal scalability. All these powerful features are provided by KunlunBase. KunlunBase supports powerful and user friendly cluster management, monitor and provision features, can be readily used as DBaaS.
component: computing nodes | priority: major | resolution: fixed
2021-04-26 10:42:23: @jd-zhang created the issue
sql code:
tdb1=# create table pc_list_parted (a int) partition by list(a);
CREATE TABLE
tdb1=# create table pc_list_part_null partition of pc_list_parted for values in (null);
CREATE TABLE
tdb1=# create table pc_list_part_1 partition of pc_list_parted for values in (1);
CREATE TABLE
tdb1=# create table pc_list_part_def partition of pc_list_parted default;
CREATE TABLE
tdb1=# prepare pstmt_def_insert (int) as insert into pc_list_part_def values($1);
PREPARE
For Kunlun, the output is*which should not succeed):
tdb1=# execute pstmt_def_insert(null);
INSERT 0 1
tdb1=# execute pstmt_def_insert(1);
INSERT 0 1
For official pg, the result is:
tdb1=# execute pstmt_def_insert(null);
ERROR: new row for relation "pc_list_part_def" violates partition constraint
DETAIL: Failing row contains (null).
tdb1=# execute pstmt_def_insert(1);
ERROR: new row for relation "pc_list_part_def" violates partition constraint
DETAIL: Failing row contains (1).
Issue migrated from trac ticket # 56
component: computing nodes | priority: major | resolution: fixed
2021-04-26 10:42:23: @jd-zhang created the issue