diff options
author | Arturo Pie <arturotd08@yahoo.ca> | 2012-10-13 23:48:37 -0400 |
---|---|---|
committer | Arturo Pie <arturotd08@yahoo.ca> | 2012-10-14 01:07:29 -0400 |
commit | 3980465f2651ae2520828d9aec3b310da69521fe (patch) | |
tree | aa40df0021d860c21ebbc8ba97587ad5bed8fb1a /actionpack/lib | |
parent | 84c37741e005b3ac6807be1caf5255c041f12693 (diff) | |
download | rails-3980465f2651ae2520828d9aec3b310da69521fe.tar.gz rails-3980465f2651ae2520828d9aec3b310da69521fe.tar.bz2 rails-3980465f2651ae2520828d9aec3b310da69521fe.zip |
#7914 get default value when type uses schema name
PostgreSQL adapter properly parses default values when using multiple
schemas and domains.
When using domains across schemas, PostgresSQL prefixes the type of the
default value with the name of the schema where that type (or domain) is.
For example, this query:
```
SELECT a.attname, d.adsrc
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = "defaults"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum;
```
could return something like "'<default_value>'::pg_catalog.text" or
"(''<default_value>'::pg_catalog.text)::text" for the text columns with
defaults.
I modified the regexp used to parse this value so that it ignores
anything between ':: and \b(?:character varying|bpchar|text), and it
allows to have optional parens like in the above second example.
Diffstat (limited to 'actionpack/lib')
0 files changed, 0 insertions, 0 deletions