Roundup Tracker - Issues


Author rouilj
Recipients rouilj
Date 2023-03-30.17:30:06
Message-id <>
Got an email yesterday asking if Roundup works with TIDB (
The person asking runs this DB already.

tidb is "an open-source distributed SQL database that supports Hybrid Transactional and 
Analytical Processing (HTAP) workloads. It is MySQL compatible and features horizontal 
scalability, strong consistency, and high availability. The goal of TiDB is to provide users 
with a one-stop database solution that covers OLTP (Online Transactional Processing), OLAP 
(Online Analytical Processing), and HTAP services. TiDB is suitable for various use cases that 
require high availability and strong consistency with large-scale data."

From a quick glance at the MYSQL compatibility doc:
it looks like it may work. From a quick look:

  * We don't use mysql autoincrement columns AFAICT.
  * float4/float8 types are not used
  * we don't support mysql FULLTEXT search (and neither does tidb)
  * we don't have FOREIGN KEY constraints in our schema definitions (also we don't
    delete data, so no need for cascading deleting implemented via foreign keys)
  * new db's use utf8mb4 which is supported by tidb
  * it looks like DDL changes roundup does should be ok for tidb. We don't change data
    types via alter table.
  * Roundup doesn't use the update/set described in the differences section of
  * Roundup doesn't use mysql modes
  * I think 'group by' and 'order by' are explicitly defined so SELECT should be compatible.

  ! table name case may be an issue. mysql is case sensitive table names, tidb smashes all
    to lower case. I am not use what happens if we have a class of 'user' an a class of
    'User' defined in the schema. Workaround, don't use classes that differ only by case.

I am opening this in case the requestor want to try adapting the existing test_mysql
test for tidb.

Anybody else who is interested can take this and try it out as well.
Date User Action Args
2023-03-30 17:30:06rouiljsetrecipients: + rouilj
2023-03-30 17:30:06rouiljsetmessageid: <>
2023-03-30 17:30:06rouiljlinkissue2551271 messages
2023-03-30 17:30:06rouiljcreate