theosotr / cynthia

Data-Oriented Differential Testing of ORM Systems.
GNU General Public License v3.0
14 stars 1 forks source link

Run queries on new backends #25

Closed theosotr closed 3 years ago

theosotr commented 4 years ago

investigate if it is possible to run queries on new backends e.g.,

theosotr commented 4 years ago

@StefanosChaliasos

StefanosChaliasos commented 4 years ago

We should fill the following table

Backend Django Peewee SqlAlchemy ActiveRecord Sequilize
Oracle DB X - X X (not officially) -
MS Server X (not officially) - X X (not officially) X
Maria DB X X X X X
CockroachDB X (not officialy) X X (not officially) X X (not officially)

X: Supported

theosotr commented 4 years ago

So it's worth to investigating all backends.

Oracle DB: supported by two well-established ORMS MS Server: supported by sqlalchemy and sequelize Maria DB: supported by the majority of ORMs.

theosotr commented 4 years ago

We can also consider Cockroach https://www.cockroachlabs.com/. This DB is not officially supported by the corresponding ORMs, but by the CockroachDB developers. For example see https://github.com/cockroachdb/sqlalchemy-cockroachdb

Why CockroachDB? Because the researchers of ETH found hundeds of bugs in this DBMS, so I believe that we may also find bugs in their ORM extensions.

StefanosChaliasos commented 4 years ago

All orms (Django,Peewee,SQLAlchemy,ActiveRecord) use the same connectors for mysql and mariadb.

StefanosChaliasos commented 4 years ago

29 Cockroachdb

StefanosChaliasos commented 4 years ago

32 MS SQL

StefanosChaliasos commented 4 years ago

It's complex to support oracledb. I implemented the first steps in this branch.