Re: Potential problem in commit f777d773878 and 4f7f7b03758
От | Dilip Kumar |
---|---|
Тема | Re: Potential problem in commit f777d773878 and 4f7f7b03758 |
Дата | |
Msg-id | CAFiTN-u_WW9Kd_jJxeG_GiWXEnh60X10QN6ORBsqrX32RiZmpw@mail.gmail.com обсуждение исходный текст |
Ответ на | Potential problem in commit f777d773878 and 4f7f7b03758 (Dilip Kumar <dilipbalaut@gmail.com>) |
Список | pgsql-hackers |
On Fri, Aug 22, 2025 at 4:04 PM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > Simple test to reproduce: > > Change the module path for any extension as below, like I have done > for amcheck and then copy the .so file at $libdir/test/ folder. > module_pathname = '$libdir/test/amcheck' > > While creating the extension it fail to load the file because, after > commit f777d773878 we remove the $libdir from the path[1] and later in > expand_dynamic_library_name() since there is a '/' in remaining path > we will call full = substitute_path_macro(name, "$libdir", > pkglib_path); to generate the full path by substituting the "$libdir" > macro[2]. But we have already removed $libdir from the filename, so > there will be no substitution and it will just search the > 'test/amcheck' path, which was not intended. > > IMHO the fix should be that we need to preserve the original name as > well, and in the else case we should pass the original name which is > '$libdir/test/amcheck' in this case so that macro substitution can > work properly? > I just quickly changed this and it's working fine, but I haven't analyzed fully whether it breaks something which was intended by the commit (f777d773878 and 4f7f7b03758) but check-world is passing. -- Regards, Dilip Kumar Google
Вложения
В списке pgsql-hackers по дате отправления: