> 2021年3月29日 16:37,Pavel Stehule <pavel.steh...@gmail.com> 写道:
> 
> 
> 
> ne 28. 3. 2021 v 15:07 odesílatel Andrew Dunstan <and...@dunslane.net 
> <mailto:and...@dunslane.net>> napsal:
> 
> On 3/17/21 7:59 AM, wenjing wrote:
> > ok
> >
> > The cause of the problem is that the name of the dependent function
> > (readNextTransactionID) has changed. I fixed it.
> >
> > This patch(V43) is base on 9fd2952cf4920d563e9cea51634c5b364d57f71a
> >
> > Wenjing
> >
> >
> 
> I have fixed this patch so that
> 
> a) it applies cleanly
> 
> b) it uses project best practice for catalog Oid assignment.
> 
> However, as noted elsewhere it fails the recovery TAP test.
> 
> I also note this:
> 
> 
> diff --git a/src/test/regress/parallel_schedule
> b/src/test/regress/parallel_schedule
> index 312c11a4bd..d44fa62f4e 100644
> --- a/src/test/regress/parallel_schedule
> +++ b/src/test/regress/parallel_schedule
> @@ -129,3 +129,10 @@ test: fast_default
>  
>  # run stats by itself because its delay may be insufficient under heavy
> load
>  test: stats
> +
> +# global temp table test
> +test: gtt_stats
> +test: gtt_function
> +test: gtt_prepare
> +test: gtt_parallel_1 gtt_parallel_2
> +test: gtt_clean
> 
> 
> Tests that need to run in parallel should use either the isolation
> tester framework (which is explicitly for testing things concurrently)
> or the TAP test framework.
> 
> Adding six test files to the regression test suite for this one feature
> is not a good idea. You should have one regression test script ideally,
> and it should be added as appropriate to both the parallel and serial
> schedules (and not at the end). Any further tests should be added using
> the other frameworks mentioned.
> 
> 
> * bad name of GTT-README - the convention is README.gtt
> 
> * Typo - "ofa" 
> 
> 2) Use beforeshmemexit to ensure that all files ofa session GTT are deleted 
> when
> the session exits. 
> 
> * Typo "nd" 
> 
> 3) GTT storage file cleanup during abnormal situations
> When a backend exits abnormally (such as oom kill), the startup process starts
> recovery before accepting client connection. The same startup process checks
> nd removes all GTT files before redo WAL.
> 
> * This comment is wrong
> 
>   /*
> + * Global temporary table is allowed to be dropped only when the
> + * current session is using it.
> + */
> + if (RELATION_IS_GLOBAL_TEMP(rel))
> + {
> + if (is_other_backend_use_gtt(RelationGetRelid(rel)))
> + ereport(ERROR,
> + (errcode(ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST),
> + errmsg("cannot drop global temporary table %s when other backend attached 
> it.",
> + RelationGetRelationName(rel))));
> + }
> 
> * same wrong comment
> 
>   /*
> + * Global temporary table is allowed to be dropped only when the
> + * current session is using it.
> + */
> + if (RELATION_IS_GLOBAL_TEMP(rel))
> + {
> + if (is_other_backend_use_gtt(RelationGetRelid(rel)))
> + ereport(ERROR,
> + (errcode(ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST),
> + errmsg("cannot drop global temporary table %s when other backend attached 
> it.",
> + RelationGetRelationName(rel))));
> + }
> 
> * typo "backand"
> 
> +/*
> + * Check if there are other backends using this GTT besides the current 
> backand.
> + */
> 
> There is not user's documentation
This is necessary, and I will make a separate document patch.


Wenjing.


> 
> Regards
> 
> Pavel
> 
>  
> 
> cheers
> 
> 
> andrew
> 
> 
> -- 
> 
> Andrew Dunstan
> EDB: https://www.enterprisedb.com <https://www.enterprisedb.com/>
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to