Add binary/blob column support for MSSQL and Oracle#917
Conversation
8da54de to
a8b8146
Compare
034629c to
640c85d
Compare
640c85d to
7eaf533
Compare
44c74a5 to
e4813ea
Compare
3ae9cab to
b6bca87
Compare
b6bca87 to
e68ec3e
Compare
442ab7d to
53cccfb
Compare
41f7bed to
a1aef5d
Compare
fed02e8 to
06a17df
Compare
DarkSide666
left a comment
There was a problem hiding this comment.
LGTM. Pls check comments.
| case 'sqlite': | ||
| case 'mysql': | ||
| case 'oci': | ||
| case 'oci12': |
There was a problem hiding this comment.
For some reason which I don't remember now we had separated Oracle 12 support.
There was a problem hiding this comment.
There was a different compatibility layer previously for Oracle 12, but I purged some time ago it in favor of generic layer for Oracle 11 and all tests are run againt this version in CI.
| ][$dsn['driverSchema']] ?? null; | ||
|
|
||
| if ($enforceCharset !== null) { | ||
| $dsn['dsn'] = preg_replace('~; *charset=[^;]+~i', '', $dsn['dsn']) |
There was a problem hiding this comment.
So we always enforce utf8? What if user database is not utf8? Previously utf8 was used by default, but user could use different charset too.
There was a problem hiding this comment.
Because of many hidden issues. UTF-8 is defacto standard. This is about the connection charset, you can store any data you want in binary fields, actually, this is one of the feature thi PR adds and fixes.
|
|
||
| public function groupConcat($field, string $delimiter = ',') | ||
| { | ||
| return $this->expr('listagg({field}, []) within group (order by {field})', ['field' => $field, $delimiter]); |
There was a problem hiding this comment.
Which is lowest Oracle version which supports LISTAGG?
There was a problem hiding this comment.
11g2 https://www.toolbox.com/tech/oracle/blogs/oracle-sql-listagg-in-oracle-9i-022118/
I belive we do not use it Model/Ref thus this version is not strictly required.
| } | ||
|
|
||
| $this->assertSame( | ||
| ['❤' => 'žlutý_😀'], |
Uh oh!
There was an error while loading. Please reload this page.