Jira issue originally created by user rdehouss:
If you use DOMAIN (CREATE DOMAIN) in pgsql, PostgreSqlPlatform generate a "new \Doctrine\DBAL\DBALException("Unknown database type ".$dbType." requested, " . getclass($this) . " may not support it.");" exception because it does not know the type "domain_name" (CREATE DOMAIN domainname AS VARCHAR(80); )
With this patch, it checks if the given type (either normal type, either domain) is a domain, and if yes, takes the right info (domainname is type varchar and completetype character varying(80)). If it's not a domain, it takes the normal type.
(patch -p0 doctrine2/lib/Doctrine/DBAL/Platforms/PostgreSqlPlatform.php < pgsql_domains.patch)
Also, it's not the goal here, but the queries could be optimized using joins in place of auto join + where, but, as said, the speed is not the goal since the queries are there only for entities mapping.
Hope it helps.
Comment created by @beberlei:
Let me understand this, this patch automatically detects the underlying type of a new DOMAIN Type created in postgresql?
So say i create a MONEY type and have it be a decimal or something, your code would make doctrine automatically detect it being a decimal and create the decimal doctrine type?
Comment created by rdehouss:
Indeed, it will detect the "natural" type under MONEY and use this type for doctrine.
Implemented and tested in http://github.com/doctrine/dbal/commit/93ad4c2a24adf93d450c9eefbc966ccf3fe87414
Issue was closed with resolution "Fixed"
Imported 1 attachments from Jira into https://gist.github.com/3bafa427714a80609104