Re: PoC/WIP: Extended statistics on expressions
Tomas Vondra <tomas.vondra@enterprisedb.com>
From: Tomas Vondra <tomas.vondra@enterprisedb.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Dean Rasheed <dean.a.rasheed@gmail.com>, pgsql-hackers@postgresql.org
Date: 2021-03-25T01:33:06Z
Lists: pgsql-hackers
Attachments
- 0001-Extended-statistics-on-expressions-20210325.patch (text/x-patch)
On 3/25/21 1:30 AM, Justin Pryzby wrote: > On Thu, Mar 25, 2021 at 01:05:37AM +0100, Tomas Vondra wrote: >> here's an updated patch. 0001 should address most of the today's review >> items regarding comments etc. > > This is still an issue: > > postgres=# CREATE STATISTICS xt ON a FROM t JOIN t ON true; > ERROR: schema "i" does not exist > Ah, right. That's a weird issue. I was really confused about this, because nothing changes about the grammar or how we check the number of relations. The problem is pretty trivial - the new code in utility.c just grabs the first element and casts it to RangeVar, without checking that it actually is RangeVar. With joins it's a JoinExpr, so we get a bogus error. The attached version fixes it by simply doing the check in utility.c. It's a bit redundant with what's in CreateStatistics() but I don't think we can just postpone it easily - we need to do the transformation here, with access to queryString. But maybe we don't need to pass the relid, when we have the list of relations in CreateStatsStmt itself ... regards -- Tomas Vondra EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Disallow extended statistics on system columns
- 66061077155d 14.0 landed
- c9eeef2a15c0 15.0 landed
-
Identify simple column references in extended statistics
- 50ba70a957f9 14.0 landed
- 537ca68dbb24 15.0 landed
-
Don't print extra parens around expressions in extended stats
- 4d1816ec26e8 14.0 landed
- 13380e147649 15.0 landed
-
Change position of field "transformed" in struct CreateStatsStmt.
- 13a1ca160dcf 14.0 landed
-
Add transformed flag to nodes/*funcs.c for CREATE STATISTICS
- d57ecebd128c 14.0 landed
-
Stabilize stats_ext test with other collations
- 2a058e938c73 14.0 landed
-
Extended statistics on expressions
- a4d75c86bf15 14.0 landed
-
Reduce duration of stats_ext regression tests
- 98376c18f12e 14.0 landed
-
Allow composite types in catalog bootstrap
- 79f6a942bdb9 14.0 landed
-
Convert Typ from array to list in bootstrap
- e1a5e65703ce 14.0 landed
-
Disallow CREATE STATISTICS on system catalogs
- c22539756ee5 10.16 landed
- f52db969440b 11.11 landed
- 943a113bcb6f 12.6 landed
- d26d4c717dbf 13.2 landed
- c9a0dc34865f 14.0 landed