aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2013-12-23 22:18:12 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2013-12-23 22:18:48 -0500
commit4eeda92d86250b702ee6f88fcad2340e5e7d8747 (patch)
treee265dec9cf4a15db13cffd4e545eab5467df3034 /src
parentd43760b624b7cebc35e5f9c60d2e1439cbe9b220 (diff)
downloadpostgresql-4eeda92d86250b702ee6f88fcad2340e5e7d8747.tar.gz
postgresql-4eeda92d86250b702ee6f88fcad2340e5e7d8747.zip
Fix ANALYZE failure on a column that's a domain over a range.
Most other range operations seem to work all right on domains, but this one not so much, at least not since commit 918eee0c. Per bug #8684 from Brett Neumeier.
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/adt/rangetypes_typanalyze.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/utils/adt/rangetypes_typanalyze.c b/src/backend/utils/adt/rangetypes_typanalyze.c
index 114bce015c6..43c0b7e78bc 100644
--- a/src/backend/utils/adt/rangetypes_typanalyze.c
+++ b/src/backend/utils/adt/rangetypes_typanalyze.c
@@ -27,6 +27,7 @@
#include "catalog/pg_operator.h"
#include "commands/vacuum.h"
#include "utils/builtins.h"
+#include "utils/lsyscache.h"
#include "utils/rangetypes.h"
static int float8_qsort_cmp(const void *a1, const void *a2);
@@ -44,8 +45,8 @@ range_typanalyze(PG_FUNCTION_ARGS)
TypeCacheEntry *typcache;
Form_pg_attribute attr = stats->attr;
- /* Get information about range type */
- typcache = range_get_typcache(fcinfo, stats->attrtypid);
+ /* Get information about range type; note column might be a domain */
+ typcache = range_get_typcache(fcinfo, getBaseType(stats->attrtypid));
if (attr->attstattarget < 0)
attr->attstattarget = default_statistics_target;