@@ -14,9 +14,20 @@ Type::addType('bool[]', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\BooleanArray");
14
14
Type::addType('smallint[]', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\SmallIntArray");
15
15
Type::addType('integer[]', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\IntegerArray");
16
16
Type::addType('bigint[]', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\BigIntArray");
17
+
18
+ Type::addType('double precision[]', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\DoublePrecisionArray");
19
+ Type::addType('real[]', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\RealArray");
20
+
17
21
Type::addType('text[]', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\TextArray");
18
22
Type::addType('jsonb', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\Jsonb");
19
23
Type::addType('jsonb[]', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\JsonbArray");
24
+
25
+ Type::addType('cidr', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\Cidr");
26
+ Type::addType('cidr[]', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\CidrArray");
27
+ Type::addType('inet', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\Inet");
28
+ Type::addType('inet[]', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\InetArray");
29
+ Type::addType('macaddr', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\Macaddr");
30
+ Type::addType('macaddr[]', "MartinGeorgiev\\Doctrine\\DBAL\\Types\\MacaddrArray");
20
31
```
21
32
22
33
@@ -90,7 +101,6 @@ $configuration->addCustomStringFunction('JSON_VALUE', MartinGeorgiev\Doctrine\OR
90
101
$configuration->addCustomStringFunction('TO_JSON', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\ToJson::class);
91
102
$configuration->addCustomStringFunction('ROW_TO_JSON', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\RowToJson::class);
92
103
93
-
94
104
# jsonb specific functions
95
105
$configuration->addCustomStringFunction('JSONB_ARRAY_ELEMENTS', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbArrayElements::class);
96
106
$configuration->addCustomStringFunction('JSONB_ARRAY_ELEMENTS_TEXT', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbArrayElementsText::class);
@@ -101,6 +111,11 @@ $configuration->addCustomStringFunction('JSONB_EACH_TEXT', MartinGeorgiev\Doctri
101
111
$configuration->addCustomStringFunction('JSONB_EXISTS', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbExists::class);
102
112
$configuration->addCustomStringFunction('JSONB_INSERT', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbInsert::class);
103
113
$configuration->addCustomStringFunction('JSONB_OBJECT_KEYS', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbObjectKeys::class);
114
+ $configuration->addCustomStringFunction('JSONB_PATH_EXISTS', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbPathExists::class);
115
+ $configuration->addCustomStringFunction('JSONB_PATH_MATCH', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbPathMatch::class);
116
+ $configuration->addCustomStringFunction('JSONB_PATH_QUERY', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbPathQuery::class);
117
+ $configuration->addCustomStringFunction('JSONB_PATH_QUERY_ARRAY', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbPathQueryArray::class);
118
+ $configuration->addCustomStringFunction('JSONB_PATH_QUERY_FIRST', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbPathQueryFirst::class);
104
119
$configuration->addCustomStringFunction('JSONB_PRETTY', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbPretty::class);
105
120
$configuration->addCustomStringFunction('JSONB_SET', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbSet::class);
106
121
$configuration->addCustomStringFunction('JSONB_SET_LAX', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\JsonbSetLax::class);
@@ -113,8 +128,11 @@ $configuration->addCustomStringFunction('TO_TSVECTOR', MartinGeorgiev\Doctrine\O
113
128
$configuration->addCustomStringFunction('TSMATCH', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Tsmatch::class);
114
129
115
130
# date specific functions
116
- $configuration->addCustomStringFunction('DATE_OVERLAPS', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\DateOverlaps::class);
131
+ $configuration->addCustomStringFunction('DATE_ADD', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\DateAdd::class);
132
+ $configuration->addCustomStringFunction('DATE_BIN', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\DateBin::class);
117
133
$configuration->addCustomStringFunction('DATE_EXTRACT', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\DateExtract::class);
134
+ $configuration->addCustomStringFunction('DATE_OVERLAPS', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\DateOverlaps::class);
135
+ $configuration->addCustomStringFunction('DATE_SUBTRACT', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\DateSubtract::class);
118
136
119
137
# range functions
120
138
$configuration->addCustomStringFunction('DATERANGE', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Daterange::class);
@@ -134,12 +152,12 @@ $configuration->addCustomStringFunction('REGEXP', MartinGeorgiev\Doctrine\ORM\Qu
134
152
$configuration->addCustomStringFunction('IREGEXP', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\IRegexp::class);
135
153
$configuration->addCustomStringFunction('NOT_REGEXP', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\NotRegexp::class);
136
154
$configuration->addCustomStringFunction('NOT_IREGEXP', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\NotIRegexp::class);
137
- $configuration->addCustomStringFunction('FLAGGED_REGEXP_LIKE', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\RegexpLike::class);
138
155
$configuration->addCustomStringFunction('REGEXP_LIKE', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\FlaggedRegexpLike::class);
139
- $configuration->addCustomStringFunction('FLAGGED_REGEXP_MATCH', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\FlaggedRegexpMatch::class);
156
+ $configuration->addCustomStringFunction('REGEXP_COUNT', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\RegexpCount::class);
157
+ $configuration->addCustomStringFunction('REGEXP_INSTR', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\RegexpInstr::class);
158
+ $configuration->addCustomStringFunction('REGEXP_SUBSTR', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\RegexpSubstr::class);
140
159
$configuration->addCustomStringFunction('REGEXP_MATCH', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\RegexpMatch::class);
141
160
$configuration->addCustomStringFunction('STRCONCAT', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\StrConcat::class);
142
- $configuration->addCustomStringFunction('FLAGGED_REGEXP_REPLACE', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\FlaggedRegexpReplace::class);
143
161
$configuration->addCustomStringFunction('REGEXP_REPLACE', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\RegexpReplace::class);
144
162
$configuration->addCustomStringFunction('ROW', MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Row::class);
145
163
@@ -159,15 +177,33 @@ $em = EntityManager::create($dbParams, $configuration);
159
177
160
178
``` php
161
179
$platform = $em->getConnection()->getDatabasePlatform();
180
+
162
181
$platform->registerDoctrineTypeMapping('bool[]','bool[]');
163
182
$platform->registerDoctrineTypeMapping('_bool','bool[]');
183
+ $platform->registerDoctrineTypeMapping('smallint[]','smallint[]');
184
+ $platform->registerDoctrineTypeMapping('_int2','smallint[]');
164
185
$platform->registerDoctrineTypeMapping('integer[]','integer[]');
165
186
$platform->registerDoctrineTypeMapping('_int4','integer[]');
166
187
$platform->registerDoctrineTypeMapping('bigint[]','bigint[]');
167
188
$platform->registerDoctrineTypeMapping('_int8','bigint[]');
189
+
190
+ $platform->registerDoctrineTypeMapping('double precision[]','double precision[]');
191
+ $platform->registerDoctrineTypeMapping('_float8','double precision[]');
192
+ $platform->registerDoctrineTypeMapping('real[]','real[]');
193
+ $platform->registerDoctrineTypeMapping('_float4','real[]');
194
+
168
195
$platform->registerDoctrineTypeMapping('text[]','text[]');
169
196
$platform->registerDoctrineTypeMapping('_text','text[]');
170
197
$platform->registerDoctrineTypeMapping('jsonb','jsonb');
198
+ $platform->registerDoctrineTypeMapping('jsonb[]','jsonb[]');
199
+ $platform->registerDoctrineTypeMapping('_jsonb','jsonb[]');
200
+
201
+ $platform->registerDoctrineTypeMapping('cidr[]','cidr[]');
202
+ $platform->registerDoctrineTypeMapping('_cidr','cidr[]');
203
+ $platform->registerDoctrineTypeMapping('inet[]','inet[]');
204
+ $platform->registerDoctrineTypeMapping('_inet','inet[]');
205
+ $platform->registerDoctrineTypeMapping('macaddr[]','macaddr[]');
206
+ $platform->registerDoctrineTypeMapping('_macaddr','macaddr[]');
171
207
...
172
208
173
209
```
0 commit comments