aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/CHANGELOG.md
diff options
context:
space:
mode:
authorArturo Pie <arturotd08@yahoo.ca>2012-10-13 23:48:37 -0400
committerArturo Pie <arturotd08@yahoo.ca>2012-10-14 01:07:29 -0400
commit3980465f2651ae2520828d9aec3b310da69521fe (patch)
treeaa40df0021d860c21ebbc8ba97587ad5bed8fb1a /activerecord/CHANGELOG.md
parent84c37741e005b3ac6807be1caf5255c041f12693 (diff)
downloadrails-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 'activerecord/CHANGELOG.md')
-rw-r--r--activerecord/CHANGELOG.md5
1 files changed, 5 insertions, 0 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md
index ef2b112b34..402c296aee 100644
--- a/activerecord/CHANGELOG.md
+++ b/activerecord/CHANGELOG.md
@@ -1,5 +1,10 @@
## Rails 3.2.9 (unreleased)
+* PostgreSQL adapter correctly fetches default values when using
+ multiple schemas and domains in a db. Fixes #7914
+
+ *Arturo Pie*
+
* Fix deprecation notice when loading a collection association that
selects columns from other tables, if a new record was previously
built using that association.