Re: plruby: rb_iterate symbol clash with libruby.so
Pavel Raiskup <praiskup@redhat.com>
From: Pavel Raiskup <praiskup@redhat.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Devrim GÜNDÜZ <devrim@gunduz.org>
Date: 2018-11-07T15:27:46Z
Lists: pgsql-hackers
On Wednesday, November 7, 2018 3:25:31 PM CET Tom Lane wrote: > Pavel Raiskup <praiskup@redhat.com> writes: > > On Tuesday, November 6, 2018 7:28:21 PM CET Tom Lane wrote: > >> Done. I realized that the immediate problem, rb_iterate(), was only > >> added as of PG v10, which may explain why we hadn't heard complaints > >> about this till now. So I've made the change only as far back as v10. > > > The 'rb_iterate' seems to exist at least in REL9_2_STABLE branch, so it is > > probably much older. > > Oh! Hmm ... I think I jumped to conclusions when the part of my patch > that touched struct RBTreeIterator failed to apply. But you're right, > rb_iterate has been there since 9.0 now that I look more carefully. > So we really ought to back-patch further. However: > > > That > > said, I'm still not sure how this could work before ... Maybe it has not > > been working for some time. > > Yeah, I'm now mighty confused about this as well. PL/Ruby is pretty old > too, so how come nobody noticed this before? Is its rb_iterate call in > someplace that hardly gets any use? I can not authoritatively answer this (getting familiar with the code) but many of the rb_iterate() calls were replaced with alternative API (if available), so you might be right. That said, I reproduced this by trigger function from tests/plt test-case on the first try, more info and related fixes in [1]. But it is truth that we haven't run the test-suite for RPM builds so far. Might the reason be that nobody used plruby at all for a very long time? [1] https://github.com/devrimgunduz/postgresql-plruby/pull/3 Pavel
Commits
-
Rename rbtree.c functions to use "rbt" prefix not "rb" prefix.
- b2e754c14e27 10.7 landed
- 1f28ec6be270 11.1 landed
- 003c68a3b45d 12.0 landed