On 13.01.26 07:15, li carol wrote:
I have applied and reviewed the v2 patch set. The cleanup of the initialization 
flow is a very good improvement and makes the logic much easier to follow.
In particular, the updated comments in PLy_create_exception regarding the 
reference counting logic are very helpful and clarify the previous ambiguity.
I have one minor nitpick in plpy_main.c regarding consistency. In _PG_init(), the import 
and dictionary insertion of the "plpy" module is currently split into two 
checks with the same error message. To make it more consistent with how the __main__ 
module is handled earlier in the same function, we could potentially streamline it like 
this:
        /*
         * Import plpy.
         */
        plpy_mod = PyImport_ImportModule("plpy");
        if (plpy_mod == NULL || PyDict_SetItemString(main_dict, "plpy", plpy_mod) 
< 0)
                PLy_elog(ERROR, "could not import \"plpy\" module");

This is just a small suggestion for style consistency; the existing logic in v2 
is perfectly correct.

Thank you for this suggestion. I agree that having the same error message for two different situations was not good. I changed the error checking of PyDict_SetItemString() like you suggested here, but also gave it a separate PLy_elog() call (without a message, since it's pretty much "can't happen").

I committed the patches with this change.


Reply via email to