Skip to content

Commit 9ca23b9

Browse files
committed
Adding doc about compatibility
1 parent 2c33eff commit 9ca23b9

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

couscous.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ menu:
101101
migrating:
102102
text: Migrating
103103
relativeUrl: doc/migrating.html
104+
compatibility:
105+
text: Databases compatibility
106+
relativeUrl: doc/compatibility.html
104107
internals:
105108
text: TDBM internals
106109
relativeUrl: doc/internals.html

doc/compatibility.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: Compatibility
3+
subTitle: Compatibility with databases
4+
currentMenu: compatibility
5+
---
6+
7+
TDBM uses *Doctrine DBAL* under the hood to access your database.
8+
*Doctrine DBAL* provides a solid abstraction layer allowing TDBM to be compatible with many databases out of the box.
9+
10+
TDBM is tested with these databases:
11+
12+
- MySQL (5.7 and 8.0)
13+
- MariaDB (10.x)
14+
- PostgreSQL (tested on v12, but v9, v10 and v11 should be compatible)
15+
- Oracle (11g)
16+
17+
TDBM is **not** compatible with Sqlite (because the database does not support foreign keys properly)
18+
19+
20+
# Known vendor issues
21+
22+
## Oracle 11g
23+
24+
### JSON columns are not supported
25+
26+
Oracle 11g does not have a notion of JSON column and DBAL casts those columns in CLOB.
27+
But CLOB columns have an issue (they cannot be part of a DISTINCT query) that is used by TDBM.
28+
As a result, any request on a table containing a JSON column will fail.
29+
30+
### BLOB columns are not supported
31+
32+
Due to a limitation in the way OCI8 driver works, the Oracle database cannot accept *streams*
33+
in BLOB columns (it only accepts strings). But TDBM is exclusively using *streams* for BLOB
34+
columns. As a result, TDBM does not support any kind of BLOB column in Oracle.

0 commit comments

Comments
 (0)