Re: SQL/JSON features for v15

2022-09-04 Thread Amit Langote
On Fri, Sep 2, 2022 at 8:56 PM Justin Pryzby wrote: > On Wed, Aug 31, 2022 at 03:51:18PM +0900, Amit Langote wrote: > > Finally, I get this warning: > > > > execExprInterp.c: In function ‘ExecJsonCoerceCStringToText’: > > execExprInterp.c:4765:3: warning: missin

Re: SQL/JSON features for v15

2022-08-31 Thread Amit Langote
On Wed, Aug 31, 2022 at 3:51 PM Amit Langote wrote: > SELECT JSON_VALUE(jsonb '"aaa"', '$' RETURNING int DEFAULT 111 ON ERROR); > - json_value > - > -111 > -(1 row) > - > +ERROR: syntax error at or near "DEFAULT"

Re: SQL/JSON features for v15

2022-08-31 Thread Amit Langote
On Wed, Aug 31, 2022 at 3:51 PM Amit Langote wrote: > On Wed, Aug 31, 2022 at 6:25 AM Nikita Glukhov > wrote: > > v10 patches > > Finally, I get this warning: > > execExprInterp.c: In function ‘ExecJsonCoerceCStringToText’: > execExprInterp.c:4765:3: warning: missin

Re: SQL/JSON features for v15

2022-08-30 Thread Amit Langote
On Wed, Aug 31, 2022 at 6:25 AM Nikita Glukhov wrote: > On 30.08.2022 11:09, Amit Langote wrote: > First of all, regarding 0009, my understanding was that we should > disallow DEFAULT expression ON ERROR too for now, so something like > the following does not occur: > > SELEC

Re: SQL/JSON features for v15

2022-08-30 Thread Amit Langote
On Tue, Aug 30, 2022 at 6:19 PM Alvaro Herrera wrote: > On 2022-Aug-30, Amit Langote wrote: > > > Patches 0001-0006: > > > > Yeah, these add the overhead of an extra function call (typin() -> > > typin_opt_error()) in possibly very common paths. Other than >

Re: SQL/JSON features for v15

2022-08-30 Thread Amit Langote
On Tue, Aug 30, 2022 at 6:49 AM Nikita Glukhov wrote: > On 29.08.2022 15:56, Amit Langote wrote: > On Sat, Aug 27, 2022 at 5:11 AM Nikita Glukhov > wrote: > I have completed in v9 all the things I previously planned: > > BTW, maybe the following hunk in boolin_opt_erro

Re: SQL/JSON features for v15

2022-08-29 Thread Amit Langote
ed. That would be nice indeed. I'm wondering if you're going to change the PASSING values initialization to add the steps into the parent JsonExpr's ExprState, like the previous patch was doing? -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: SQL/JSON features for v15

2022-08-23 Thread Amit Langote
On Wed, Aug 24, 2022 at 11:55 AM Amit Langote wrote: > On Wed, Aug 24, 2022 at 6:29 AM Nikita Glukhov > wrote: > > Here is my plan: > > > > 0. Take my last v7-0001 patch as a base. It already contains refactoring > > of JsonCoercion code. (Fix 0002 is not nee

Re: SQL/JSON features for v15

2022-08-23 Thread Amit Langote
ill be NULL for now: /* * JsonBehavior - * representation of JSON ON ... BEHAVIOR clause */ typedef struct JsonBehavior { NodeTag type; JsonBehaviorType btype; /* behavior type */ Node *default_expr; /* default expression, if any */ } JsonBehavior; And if so, no expression left to check the Const-ness of? -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: SQL/JSON features for v15

2022-08-23 Thread Amit Langote
On Tue, Aug 23, 2022 at 4:48 PM Amit Langote wrote: > On Thu, Aug 18, 2022 at 12:46 PM Nikita Glukhov > wrote: > > The desciprion of the v7 patches: > > > > 0003 Add EEOP_SUBTRANS executor step > > v6 + new recursive JIT > > > > 0004 Split JsonExpr e

Re: SQL/JSON features for v15

2022-08-23 Thread Amit Langote
T > > 0004 Split JsonExpr execution into steps > simply rebase of v6 + used LLMBuildSwitch() in EEOP_JSONEXPR Will need to spend more time looking at these. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: SQL/JSON features for v15

2022-08-22 Thread Amit Langote
On Tue, Aug 23, 2022 at 10:52 AM Jonathan S. Katz wrote: > Andres, Andrew, Amit, Robert -- as you have either worked on this or > expressed opinions -- any thoughts on this current patch set? FWIW, I've started looking at these patches. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: cataloguing NOT NULL constraints

2022-08-21 Thread Amit Langote
| not null | Partition of: pp DEFAULT alter table cc alter a drop not null ; ERROR: column "a" is marked NOT NULL in parent table IIRC, I had tried to propose implementing the same behavior for legacy inheritance back in the day, but maybe we left it alone for not breaking compatibility. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size

2022-08-10 Thread Amit Langote
leaving ExecInterpExpr() anyway, so maybe you meant the io coercion itself was done using some code outside ExecInterpExpr()? The current JsonExpr code does it by recursively calling ExecInterpExpr() using the nested ExprState expressly for the coercion. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size

2022-08-08 Thread Amit Langote
Hi Andres, On Sat, Aug 6, 2022 at 5:37 AM Andres Freund wrote: > On 2022-08-04 17:01:48 +0900, Amit Langote wrote: > > On Wed, Aug 3, 2022 at 12:00 AM Andres Freund wrote: > > > Honestly, this code seems like it should just be rewritten from scratch. > > > > Based

Re: enable/disable broken for statement triggers on partitioned tables

2022-08-05 Thread Amit Langote
On Fri, Aug 5, 2022 at 6:58 PM Alvaro Herrera wrote: > OK, pushed. This soon caused buildfarm to show a failure due to > underspecified ORDER BY, so I just pushed a fix for that too. Thank you. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: enable/disable broken for statement triggers on partitioned tables

2022-08-04 Thread Amit Langote
#else > EnableDisableTrigger( all args ) > #endif > > and otherwise they're compatible as compiled today. > > Since there are no known users of this interface, it doesn't seem to > warrant any more convenient treatment. Makes sense. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size

2022-08-04 Thread Amit Langote
Hi, On Wed, Aug 3, 2022 at 12:00 AM Andres Freund wrote: > On 2022-08-02 12:05:55 +0900, Amit Langote wrote: > > On Tue, Aug 2, 2022 at 9:39 AM Andres Freund wrote: > > > On 2022-07-27 17:01:13 +0900, Amit Langote wrote: > > > > Here's an updated version

Re: Eliminating SPI from RI triggers - take 2

2022-08-03 Thread Amit Langote
On Wed, Jul 13, 2022 at 8:59 PM Amit Langote wrote: > On Sat, Jul 9, 2022 at 1:15 AM Robert Haas wrote: > Thanks for taking a look at this. I'll try to respond to other points > in a separate email, but I wanted to clarify something about below: > > > I find my ego

Re: enable/disable broken for statement triggers on partitioned tables

2022-08-03 Thread Amit Langote
On Thu, Aug 4, 2022 at 3:01 AM Alvaro Herrera wrote: > On 2022-Aug-02, Amit Langote wrote: > > Regarding the patch, I agree that storing the recurse flag rather than > > overwriting subtype might be better. > > > > + boolexecTimeRecursion; /* set by

Re: Skip partition tuple routing with constant partition key

2022-08-02 Thread Amit Langote
On Tue, Aug 2, 2022 at 6:58 AM David Rowley wrote: > On Thu, 28 Jul 2022 at 19:37, Amit Langote wrote: > > > > On Thu, Jul 28, 2022 at 11:59 AM David Rowley wrote: > > > > I'd quite like to push this patch early next week, so if anyone else > > &g

Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size

2022-08-01 Thread Amit Langote
Hi, Thanks for looking into this. On Tue, Aug 2, 2022 at 9:39 AM Andres Freund wrote: > On 2022-07-27 17:01:13 +0900, Amit Langote wrote: > > Here's an updated version of the patch, with mostly cosmetic changes. > > In particular, I added comments describing the n

Re: enable/disable broken for statement triggers on partitioned tables

2022-08-01 Thread Amit Langote
On Tue, Aug 2, 2022 at 3:58 AM Alvaro Herrera wrote: > On 2022-Aug-01, Amit Langote wrote: > > > On Sat, Jul 30, 2022 at 5:25 AM Tom Lane wrote: > > > > I do not think it's a great idea to have ALTER TABLE scribbling on > > > the source parsetree. > >

Re: enable/disable broken for statement triggers on partitioned tables

2022-07-31 Thread Amit Langote
t by setting a new flag in AlteredTableInfo, instead of AlterTableCmd. AlteredTableInfo has other runtime info about the relation being altered and perhaps it wouldn't be too bad if it also stores the inh/recurse flag. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: generic plans and "initial" pruning

2022-07-28 Thread Amit Langote
On Thu, Jul 28, 2022 at 1:27 AM Robert Haas wrote: > On Tue, Jul 26, 2022 at 11:01 PM Amit Langote wrote: > > Needed to be rebased again, over 2d04277121f this time. Thanks for looking. > 0001 adds es_part_prune_result but does not use it, so maybe the > introduction of that

Re: Skip partition tuple routing with constant partition key

2022-07-28 Thread Amit Langote
On Thu, Jul 28, 2022 at 11:59 AM David Rowley wrote: > On Thu, 28 Jul 2022 at 00:50, Amit Langote wrote: > > So, in a way the caching scheme works for > > LIST partitioning only if the same value appears consecutively in the > > input set, whereas it does not for *a set of

Re: Skip partition tuple routing with constant partition key

2022-07-27 Thread Amit Langote
On Wed, Jul 27, 2022 at 7:28 AM David Rowley wrote: > On Sat, 23 Jul 2022 at 01:23, Amit Langote wrote: > > + /* > > +* The Datum has changed. Zero the number of times > > we've > > +* found

Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size

2022-07-27 Thread Amit Langote
On Fri, Jul 22, 2022 at 2:49 PM Amit Langote wrote: > On Fri, Jul 22, 2022 at 1:13 PM David Rowley wrote: > > BTW, I was working on code inside llvm_compile_expr() a few days ago > > and I thought I'd gotten the new evaluation steps I was adding correct > > as it worke

Re: generic plans and "initial" pruning

2022-07-26 Thread Amit Langote
On Wed, Jul 13, 2022 at 4:03 PM Amit Langote wrote: > On Wed, Jul 13, 2022 at 3:40 PM Amit Langote wrote: > > Rebased over 964d01ae90c. > > Sorry, left some pointless hunks in there while rebasing. Fixed in > the attached. Needed to be rebased again, over 2d04277121f this

Re: Skip partition tuple routing with constant partition key

2022-07-22 Thread Amit Langote
this function can be quite expensive for LIST and RANGE partitioned + * tables have many partitions. having many partitions Many of the use cases for LIST and RANGE + * partitioned tables mean that the same partition is likely to be found in mean -> are such that we record the partition index we've found in the + * PartitionDesc we record the partition index we've found *for given values* in the PartitionDesc -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size

2022-07-21 Thread Amit Langote
On Fri, Jul 22, 2022 at 1:13 PM David Rowley wrote: > On Fri, 22 Jul 2022 at 15:22, Amit Langote wrote: > > BTW, the only way I found to *forcefully* exercise llvm_compile_expr() > > is to add `set jit_above_cost to 0` at the top of the test file, or > > are we missing a

Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size

2022-07-21 Thread Amit Langote
On Fri, Jul 22, 2022 at 2:12 AM Alvaro Herrera wrote: > On 2022-Jul-21, Amit Langote wrote: > > > Because I wrote all of it while not really understanding how the LLVM > > constructs like blocks and branches work, the only reason I think > > those llvm_compile_expr() add

Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size

2022-07-21 Thread Amit Langote
On Thu, Jul 21, 2022 at 11:55 PM Amit Langote wrote: > On Wed, Jul 20, 2022 at 11:09 PM Amit Langote wrote: > > On Wed, Jul 20, 2022 at 12:37 AM Andres Freund wrote: > > > On 2022-07-19 20:40:11 +0900, Amit Langote wrote: > > > > About that, I was wondering if t

Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size

2022-07-21 Thread Amit Langote
On Wed, Jul 20, 2022 at 11:09 PM Amit Langote wrote: > On Wed, Jul 20, 2022 at 12:37 AM Andres Freund wrote: > > On 2022-07-19 20:40:11 +0900, Amit Langote wrote: > > > About that, I was wondering if the blocks in llvm_compile_expr() need > > > to be hand-cod

Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size

2022-07-20 Thread Amit Langote
On Wed, Jul 20, 2022 at 12:37 AM Andres Freund wrote: > On 2022-07-19 20:40:11 +0900, Amit Langote wrote: > > About that, I was wondering if the blocks in llvm_compile_expr() need > > to be hand-coded to match what's added in ExecInterpExpr() or if I've > > mi

Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size

2022-07-19 Thread Amit Langote
er more > intractable than I expected. Almost all the legwork here has been done > by Amit Langote, for which he deserves both my thanks and considerable > credit, but I take responsibility for it. > > I just discovered today that this scheme is failing under > "force_parall

Re: enable/disable broken for statement triggers on partitioned tables

2022-07-14 Thread Amit Langote
tch is ready for committer. Great, thanks. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: Eliminating SPI from RI triggers - take 2

2022-07-13 Thread Amit Langote
On Sat, Jul 9, 2022 at 1:15 AM Robert Haas wrote: > On Fri, Jul 1, 2022 at 2:23 AM Amit Langote wrote: > > So, I hacked together a patch (attached 0001) that invents an "RI > > plan" construct (struct RIPlan) to replace the use of an "SPI plan" > > (stru

Re: generic plans and "initial" pruning

2022-07-13 Thread Amit Langote
On Wed, Jul 13, 2022 at 3:40 PM Amit Langote wrote: > Rebased over 964d01ae90c. Sorry, left some pointless hunks in there while rebasing. Fixed in the attached. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com v19-0001-Move-PartitioPruneInfo-out-of-plan-nodes-into-Pl.pa

Re: generic plans and "initial" pruning

2022-07-12 Thread Amit Langote
Rebased over 964d01ae90c. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com v18-0002-Optimize-AcquireExecutorLocks-by-locking-only-un.patch Description: Binary data v18-0001-Move-PartitioPruneInfo-out-of-plan-nodes-into-Pl.patch Description: Binary data

Re: enable/disable broken for statement triggers on partitioned tables

2022-07-12 Thread Amit Langote
| A > (2 rows) > > ALTER TABLE > tgrelid | tgname | tgenabled > -++--- > child1 | tg | A > parent | tg | A > (2 rows) > > DROP TABLE > DROP FUNCTION > > The patch doesn't start recursion in case '

Re: Eliminating SPI from RI triggers - take 2

2022-07-06 Thread Amit Langote
On Wed, Jul 6, 2022 at 11:55 AM Amit Langote wrote: > On Wed, Jul 6, 2022 at 3:24 AM Jacob Champion wrote: > > On Thu, Jun 30, 2022 at 11:23 PM Amit Langote > > wrote: > > > > > > I will continue investigating what to do about points (1) and (2) > > >

Re: Eliminating SPI from RI triggers - take 2

2022-07-05 Thread Amit Langote
On Wed, Jul 6, 2022 at 3:24 AM Jacob Champion wrote: > On Thu, Jun 30, 2022 at 11:23 PM Amit Langote wrote: > > > > I will continue investigating what to do about points (1) and (2) > > mentioned above and see if we can do away with using SQL in the > > remaining cas

Re: doc phrase: "inheritance child"

2022-07-05 Thread Amit Langote
On Thu, Jun 30, 2022 at 6:55 PM Justin Pryzby wrote: > On Fri, May 27, 2022 at 03:22:38PM +0900, Amit Langote wrote: > > On Wed, May 25, 2022 at 1:30 PM Ashutosh Bapat > > wrote: > > > > > > - If true, the stats include inheritance child columns, n

Eliminating SPI from RI triggers - take 2

2022-06-30 Thread Amit Langote
n RI check or action is implemented using SQL plan or a hard-code plan, the execution should proceed with the effectively same config/environment. I will continue investigating what to do about points (1) and (2) mentioned above and see if we can do away with using SQL in the remaining cases.

Re: enable/disable broken for statement triggers on partitioned tables

2022-06-29 Thread Amit Langote
On Tue, May 24, 2022 at 3:11 PM Amit Langote wrote: > Simon reported $subject off-list. > > For triggers on partitioned tables, various enable/disable trigger > variants recurse to also process partitions' triggers by way of > ATSimpleRecursion() done in the "prep&q

Re: Replica Identity check of partition table on subscriber

2022-06-22 Thread Amit Langote
On Wed, Jun 22, 2022 at 8:05 PM Amit Kapila wrote: > On Wed, Jun 22, 2022 at 10:09 AM Amit Langote wrote: > > On Wed, Jun 22, 2022 at 12:02 PM houzj.f...@fujitsu.com > > wrote: > > > Since the patch has been committed. Attach the last patch to fix the > > >

Re: Replica Identity check of partition table on subscriber

2022-06-21 Thread Amit Langote
ch is a single array like: > > entry->attrmap = palloc(desc->natts * sizeof(AttrNumber)); LGTM, thank you. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: Replica Identity check of partition table on subscriber

2022-06-21 Thread Amit Langote
On Tue, Jun 21, 2022 at 5:08 PM houzj.f...@fujitsu.com wrote: > On Tuesday, June 21, 2022 3:21 PM Amit Langote > wrote: > > Thanks for the patch. > > > > I agree it's an old bug. A partition map entry's localrel may point > > to a stale Relation pointer

Re: Replica Identity check of partition table on subscriber

2022-06-21 Thread Amit Langote
n +* relation after the last use of this entry. Note that localrelvalid is +* only updated by the relcache invalidation callback, so it may still be +* true irrespective of whether the Relation pointed to by localrel has +* been cleared or not. +*/ if (found && entry->localre

Re: Replica Identity check of partition table on subscriber

2022-06-20 Thread Amit Langote
t;leaf" partition is updatable Regarding the commit message's top line, which is this: Fix partition table's RI checking on the subscriber. I think it should spell out REPLICA IDENTITY explicitly to avoid the commit being confused to have to do with "Referential Integrity checking". -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: Replica Identity check of partition table on subscriber

2022-06-16 Thread Amit Langote
On Thu, Jun 16, 2022 at 9:28 PM Amit Kapila wrote: > On Thu, Jun 16, 2022 at 5:24 PM Amit Langote wrote: > > On Thu, Jun 16, 2022 at 6:42 PM Amit Kapila wrote: > > > On Fri, Jun 10, 2022 at 2:26 PM Amit Langote > > > wrote: > > > > @@ -1735,6 +

Re: Replica Identity check of partition table on subscriber

2022-06-16 Thread Amit Langote
On Thu, Jun 16, 2022 at 6:42 PM Amit Kapila wrote: > On Fri, Jun 10, 2022 at 2:26 PM Amit Langote wrote: > > @@ -1735,6 +1735,13 @@ apply_handle_insert_internal(ApplyExecutionData > > *edata, > > static void > > check_relation_updatable

Re: Replica Identity check of partition table on subscriber

2022-06-16 Thread Amit Langote
On Thu, Jun 16, 2022 at 3:45 PM Amit Kapila wrote: > On Thu, Jun 16, 2022 at 11:43 AM Amit Langote wrote: > > + * Don't throw any error here just mark the relation entry as not > > updatable, > > + * as replica identity is only for updates and deletes but inserts can

Re: Replica Identity check of partition table on subscriber

2022-06-15 Thread Amit Langote
ot; here really means no-longer-useful, so we should use that phrase as a nearby comment does: Release the no-longer-useful attrmap, if any. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: Replica Identity check of partition table on subscriber

2022-06-14 Thread Amit Langote
On Tue, Jun 14, 2022 at 9:57 PM Amit Kapila wrote: > On Tue, Jun 14, 2022 at 1:02 PM Amit Langote wrote: > > > +# Change the column order of table on publisher > > I think it might be better to say something specific to describe the > > test intent, like: > >

Re: Replica Identity check of partition table on subscriber

2022-06-14 Thread Amit Langote
On Tue, Jun 14, 2022 at 3:31 PM Amit Langote wrote: > On Mon, Jun 13, 2022 at 6:14 PM Amit Kapila wrote: > > I think we can do that way as well but do you see any benefit in it? > > The way I am suggesting will avoid the effort of updating the remote > > rel copy till

Re: Replica Identity check of partition table on subscriber

2022-06-13 Thread Amit Langote
On Mon, Jun 13, 2022 at 6:14 PM Amit Kapila wrote: > On Mon, Jun 13, 2022 at 2:20 PM Amit Langote wrote: > > On Sat, Jun 11, 2022 at 10:36 AM Amit Kapila > > wrote: > > > On Fri, Jun 10, 2022 at 2:26 PM Amit Langote > > > wrote: > > >

Re: Replica Identity check of partition table on subscriber

2022-06-13 Thread Amit Langote
t part. Also how about being more specific about the test intent, say: Test that replication continues to work correctly after altering the partition of a partitioned target table. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: Replica Identity check of partition table on subscriber

2022-06-13 Thread Amit Langote
On Sat, Jun 11, 2022 at 10:36 AM Amit Kapila wrote: > On Fri, Jun 10, 2022 at 2:26 PM Amit Langote wrote: > > > > +logicalrep_partmap_invalidate > > > > I wonder why not call this logicalrep_partmap_update() to go with > > logicalrep_relmap_upda

Re: Replica Identity check of partition table on subscriber

2022-06-10 Thread Amit Langote
. @@ -584,7 +594,6 @@ logicalrep_partition_open(LogicalRepRelMapEntry *root, Oid partOid = RelationGetRelid(partrel); AttrMap *attrmap = root->attrmap; boolfound; - int i; MemoryContext oldctx; if (LogicalRepPartMap == NULL) > Thanks to Hou Zhijie for helping me in the first patch. Thank you both for the fixes. > I will add a test for it later That would be very welcome. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com [1] https://www.postgresql.org/message-id/flat/201902041630.gpadougzab7v%40alvherre.pgsql

Re: Replica Identity check of partition table on subscriber

2022-06-09 Thread Amit Langote
pport to replicate into > partitioned tables), so adding Amit L. and Peter E. Thanks, I can see the problem. I have looked at other mentioned problems with the code too and agree they look like bugs. Both patches look to be on the right track to fix the issues, but will look more closely to see if I've anything to add. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: doc: CREATE FOREIGN TABLE .. PARTITION OF .. DEFAULT

2022-06-02 Thread Amit Langote
On Thu, Jun 2, 2022 at 6:14 PM Etsuro Fujita wrote: > On Thu, Jun 2, 2022 at 10:23 AM Amit Langote wrote: > > On Wed, Jun 1, 2022 at 6:15 PM Etsuro Fujita > > wrote: > > > On Tue, May 31, 2022 at 9:35 PM Robert Haas wrote: > > > > I would probably just upd

Re: doc: CREATE FOREIGN TABLE .. PARTITION OF .. DEFAULT

2022-06-01 Thread Amit Langote
e can live > without it, so I changed my mind; I'll go with my version. I think we > could revisit this later. I guess I'm fine with leaving the text as-is, though slightly bothered by leaving the phrase "partition of the given parent table with specified partition bound va

Re: adding status for COPY progress report

2022-05-31 Thread Amit Langote
ut that in the shared memory, or at least not with one-off adjustments of the shared progress reporting state like in the proposed patch. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: enable/disable broken for statement triggers on partitioned tables

2022-05-27 Thread Amit Langote
7;t change. > > That's a concern if backpatching. Otherwise, it's better to put them > like shown in the patch. Agreed. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: doc: CREATE FOREIGN TABLE .. PARTITION OF .. DEFAULT

2022-05-27 Thread Amit Langote
> I think we should fix the syntax synopsis in the Parameters section > of the CREATE FOREIGN TABLE reference page as well. Oops, good catch. > Attached is a patch for that. Thank you. I think we should also rewrite the description to match the CREATE TABLE's text, as in the att

Re: doc phrase: "inheritance child"

2022-05-26 Thread Amit Langote
ollowing be a good rewrite: If true, the stats cover the contents not only of the specified table, but also of its child tables or partitions. (If the table is partitioned, which contains no data by itself, the stats only cover the contents of partitions). Although, maybe the parenthetical is unnecessary. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: doc phrase: "inheritance child"

2022-05-26 Thread Amit Langote
starelid | stainherit --+ foo | t foo1 | f (2 rows) Maybe you're thinking of RangeTblEntry that the planner makes 2 copies for inheritance parents, but only 1 for partition parents as of e8d5dd6be79. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: doc: CREATE FOREIGN TABLE .. PARTITION OF .. DEFAULT

2022-05-26 Thread Amit Langote
On Fri, May 27, 2022 at 1:58 AM Robert Haas wrote: > On Thu, May 26, 2022 at 1:50 AM Amit Langote wrote: > > Attached 2 patches -- one for PG 11 onwards and another for PG 10. > > Committed, except I adjusted the v11 version so that the CREATE > FOREIGN TABLE documentation woul

Re: doc: CREATE FOREIGN TABLE .. PARTITION OF .. DEFAULT

2022-05-25 Thread Amit Langote
ate_table.sgml here as well. Yes. a2a2205761 did that for alter_table.sgml and we evidently missed including create_foreign_table.sgml in that discussion. Attached 2 patches -- one for PG 11 onwards and another for PG 10. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com PG10-missing-partition_bound_spec.patch Description: Binary data missing-partition_bound_spec.patch Description: Binary data

Re: First draft of the PG 15 release notes

2022-05-25 Thread Amit Langote
On Thu, May 26, 2022 at 11:17 AM Bruce Momjian wrote: > On Thu, May 26, 2022 at 10:31:14AM +0900, Amit Langote wrote: > > * I think it's better to s/...or a LIST partition/...or with a LIST > > partition > > > > * The capitalization of DEFAULT and LIST seems

Re: First draft of the PG 15 release notes

2022-05-25 Thread Amit Langote
On Wed, May 25, 2022 at 1:04 PM Amit Langote wrote: > On Wed, May 25, 2022 at 12:44 PM David Rowley wrote: > > On Wed, 25 May 2022 at 15:01, Amit Langote wrote: > > > +Previously, a partitioned table with DEFAULT partition or a LIST > > > partition containing multip

Re: First draft of the PG 15 release notes

2022-05-24 Thread Amit Langote
On Wed, May 25, 2022 at 12:44 PM David Rowley wrote: > On Wed, 25 May 2022 at 15:01, Amit Langote wrote: > > +Previously, a partitioned table with DEFAULT partition or a LIST > > partition containing multiple values could not be used for ordered > > partition scans. Now it

Re: First draft of the PG 15 release notes

2022-05-24 Thread Amit Langote
On Wed, May 25, 2022 at 8:36 AM Bruce Momjian wrote: > On Thu, May 19, 2022 at 06:13:28PM +0900, Amit Langote wrote: > > Or maybe we could mention that but use a wording that doesn't make it > > sound like an implementation detail, like: > > > > +Previously, an ord

enable/disable broken for statement triggers on partitioned tables

2022-05-23 Thread Amit Langote
should do something like the attached. A lot of boilerplate is needed given that the various enable/disable trigger variants are represented as separate sub-commands (AlterTableCmd subtypes), which can perhaps be avoided by inventing a EnableDisableTrigStmt sub-command node that stores (only?) t

Re: First draft of the PG 15 release notes

2022-05-19 Thread Amit Langote
On Thu, May 19, 2022 at 2:56 PM David Rowley wrote: > On Thu, 19 May 2022 at 14:41, Amit Langote wrote: > > Though a bit late given beta is now wrapped, I have another partition > > item wording improvement suggestion: > > > > -Previously, a partitioned table with an

Re: First draft of the PG 15 release notes

2022-05-18 Thread Amit Langote
On Sat, May 14, 2022 at 12:42 AM Bruce Momjian wrote: > On Fri, May 13, 2022 at 10:48:41AM +0900, Amit Langote wrote: > > Btw, perhaps the following should be listed under E.1.3.2.1. Logical > > Replication, not E.1.3.1.1. Partitioning? > > > > > > > &g

Re: pgbench --partitions=0

2022-05-17 Thread Amit Langote
On Wed, May 18, 2022 at 9:50 Michael Paquier wrote: > On Mon, May 16, 2022 at 03:00:51PM +0900, Michael Paquier wrote: > > (I have added an open item, just in case.) > > And fixed as of 27f1366 Thank you. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com

Re: pgbench --partitions=0

2022-05-15 Thread Amit Langote
On Mon, May 16, 2022 at 2:41 PM Michael Paquier wrote: > On Mon, May 16, 2022 at 11:34:41AM +0900, Amit Langote wrote: > > Attached a patch to fix with a test added. cc'ing Michael who > > authored that commit. > > Indeed, 6f164e6d got that incorrectly. I don't

pgbench --partitions=0

2022-05-15 Thread Amit Langote
ed. cc'ing Michael who authored that commit. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com pgbench-accept-0-partitions.patch Description: Binary data

Re: First draft of the PG 15 release notes

2022-05-12 Thread Amit Langote
On Fri, May 13, 2022 at 11:44 AM Amit Kapila wrote: > On Fri, May 13, 2022 at 7:19 AM Amit Langote wrote: > > > > On Thu, May 12, 2022 at 10:52 PM Bruce Momjian wrote: > > > Okay, I went with: > > > > > > Previously, such updates ran delete act

Re: First draft of the PG 15 release notes

2022-05-12 Thread Amit Langote
tion root. WFM, thanks. Btw, perhaps the following should be listed under E.1.3.2.1. Logical Replication, not E.1.3.1.1. Partitioning? Remove incorrect duplicate partitions in system view pg_publication_tables (Hou Zhijie) Attached a patch to do so. -- Thanks, Amit La

Re: First draft of the PG 15 release notes

2022-05-11 Thread Amit Langote
On Wed, May 11, 2022 at 11:41 PM Bruce Momjian wrote: > On Wed, May 11, 2022 at 04:02:31PM +0900, Amit Langote wrote: > > On Wed, May 11, 2022 at 12:44 AM Bruce Momjian wrote: > > > I have completed the first draft of the PG 15 release notes > > The commit is intended to

Re: First draft of the PG 15 release notes

2022-05-11 Thread Amit Langote
On Wed, May 11, 2022 at 12:44 AM Bruce Momjian wrote: > I have completed the first draft of the PG 15 release notes Thanks. Regarding: Improve the trigger behavior of updates on partitioned tables that move rows between partitions (Amit Langote) Previously, such updates fired del

Re: simplifying foreign key/RI checks

2022-05-02 Thread Amit Langote
On Mon, Apr 11, 2022 at 4:47 PM Amit Langote wrote: > This one has been marked Returned with Feedback in the CF app, which > makes sense given the discussion on -committers [1]. > > Agree with the feedback given that it would be better to address *all* > RI trigger check/action f

Re: simplifying foreign key/RI checks

2022-04-11 Thread Amit Langote
On Thu, Apr 7, 2022 at 10:05 AM Amit Langote wrote: > There were rebase conflicts with the recently committed > execPartition.c/h changes. While fixing them, I thought maybe > find_leaf_part_for_key() doesn't quite match in style with its > neighbors in execPartition.h,

Re: generic plans and "initial" pruning

2022-04-10 Thread Amit Langote
On Fri, Apr 8, 2022 at 8:45 PM Amit Langote wrote: > Most looked fine changes to me except a couple of typos, so I've > adopted those into the attached new version, even though I know it's > too late to try to apply it. > > + * XXX is it worth doing a bms_copy()

Re: generic plans and "initial" pruning

2022-04-08 Thread Amit Langote
Hi David, On Fri, Apr 8, 2022 at 8:16 PM David Rowley wrote: > On Fri, 8 Apr 2022 at 17:49, Amit Langote wrote: > > Attached updated patch with these changes. > Thanks for making the changes. I started looking over this patch but > really feel like it needs quite a few more ite

Re: generic plans and "initial" pruning

2022-04-07 Thread Amit Langote
On Thu, Apr 7, 2022 at 9:41 PM David Rowley wrote: > On Thu, 7 Apr 2022 at 20:28, Amit Langote wrote: > > Here's an updated version. In Particular, I removed > > part_prune_results list from PortalData, in favor of anything that > > needs to look at the list c

Re: generic plans and "initial" pruning

2022-04-07 Thread Amit Langote
On Wed, Apr 6, 2022 at 4:20 PM Amit Langote wrote: > And here is a version like that that passes make check-world. Maybe > still a WIP as I think comments could use more editing. > > Here's how the new implementation works: > > AcquireExecutorLocks() calls ExecutorDoIni

Re: simplifying foreign key/RI checks

2022-04-06 Thread Amit Langote
There were rebase conflicts with the recently committed execPartition.c/h changes. While fixing them, I thought maybe find_leaf_part_for_key() doesn't quite match in style with its neighbors in execPartition.h, so changed it to ExecGetLeafPartitionForKey(). -- Amit Langote EDB:

Re: generic plans and "initial" pruning

2022-04-06 Thread Amit Langote
On Fri, Apr 1, 2022 at 5:36 PM Amit Langote wrote: > On Fri, Apr 1, 2022 at 5:20 PM David Rowley wrote: > > On Fri, 1 Apr 2022 at 19:58, Amit Langote wrote: > > > Yes, the ExecLockRelsInfo node in the current patch, that first gets > > > added to the QueryDesc and su

Re: Skip partition tuple routing with constant partition key

2022-04-05 Thread Amit Langote
:20.798] Result: FAIL Hmm, make check-world passes for me after rebasing the patch (v10) to the latest HEAD (clean), nor do I see a failure on cfbot: http://cfbot.cputube.org/amit-langote.html -- Amit Langote EDB: http://www.enterprisedb.com

Re: generic plans and "initial" pruning

2022-04-05 Thread Amit Langote
On Tue, Apr 5, 2022 at 7:00 PM Alvaro Herrera wrote: > On 2022-Apr-05, Amit Langote wrote: > > While at it, maybe it's better to rename ExecInitPruningContext() to > > InitPartitionPruneContext(), which I've done in the attached updated > > patch. > > Good ca

Re: generic plans and "initial" pruning

2022-04-04 Thread Amit Langote
On Mon, Apr 4, 2022 at 9:55 PM Amit Langote wrote: > On Sun, Apr 3, 2022 at 8:33 PM Alvaro Herrera wrote: > > I think the names ExecCreatePartitionPruneState and > > ExecInitPartitionPruning are too confusingly similar. Maybe the former > > should be renamed to somehow mak

Re: generic plans and "initial" pruning

2022-04-04 Thread Amit Langote
+ * pruning got rid of some of the subplans, any subsequent pruning passes will + * will be looking at a different set of target subplans to choose from than + * those in the pre-initial-pruning set, so the maps in PartitionPruneState + * containing those indexes must be updated to reflect the new indexes of + * subplans in the post-initial-pruning set. I've attached only the updated 0001, though I'm still working on the others to address David's comments. -- Amit Langote EDB: http://www.enterprisedb.com v9-0001-Some-refactoring-of-runtime-pruning-code.patch Description: Binary data

Re: generic plans and "initial" pruning

2022-04-01 Thread Amit Langote
On Fri, Apr 1, 2022 at 5:20 PM David Rowley wrote: > On Fri, 1 Apr 2022 at 19:58, Amit Langote wrote: > > Yes, the ExecLockRelsInfo node in the current patch, that first gets > > added to the QueryDesc and subsequently to the EState of the query, > > serves as that stashin

Re: generic plans and "initial" pruning

2022-04-01 Thread Amit Langote
On Fri, Apr 1, 2022 at 12:45 PM Tom Lane wrote: > Amit Langote writes: > > On Fri, Apr 1, 2022 at 10:32 AM David Rowley wrote: > >> 1. You've changed the signature of various functions by adding > >> ExecLockRelsInfo *execlockrelsinfo. I'm wonde

Re: generic plans and "initial" pruning

2022-03-31 Thread Amit Langote
On Fri, Apr 1, 2022 at 1:08 PM David Rowley wrote: > On Fri, 1 Apr 2022 at 16:09, Amit Langote wrote: > > definition of PlannedStmt says this: > > > > /* > > * PlannedStmt node > > * > > * The output of the planner > >

<    1   2   3   4   5   6   7   8   9   10   >