Re: plruby: rb_iterate symbol clash with libruby.so - Mailing list pgsql-hackers

From Pavel Raiskup
Subject Re: plruby: rb_iterate symbol clash with libruby.so
Date
Msg-id 1772202.Bn4MKCBuZf@nb.usersys.redhat.com
Whole thread Raw
In response to Re: plruby: rb_iterate symbol clash with libruby.so  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: plruby: rb_iterate symbol clash with libruby.so
List pgsql-hackers
On Monday, November 5, 2018 9:06:41 PM CET Robert Haas wrote:
> On Sat, Nov 3, 2018 at 2:20 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > > Is it realistic we could rename red-black tree methods from 'rb_*' to e.g.
> > > 'rbt_*' to avoid this clash?
> >
> > That's not terribly appetizing, because it essentially means we're giving
> > Ruby (and potentially every other library on the planet) veto power over
> > our function namespace.  That does not scale, especially not when the
> > feedback loop has a time constant measured in years :-(
> >
> > I don't have a huge objection to renaming the rbtree functions, other
> > than the precedent it sets ...
> 
> Maybe prefixing with pg_ would better than rb_ to rbt_.  That's our
> semi-standard namespace prefix, I think.  Of course nothing keeps
> somebody else from using it, too, but we can hope that they won't.
> It's certainly not very surprising that Ruby has symbols starting with
> rb_...

I now realized that there's rb_block_call() alternative for rb_iterate()
Ruby call -- which fortunately doesn't collide with PostgreSQL internals.

It means that for sufficiently new Ruby there exists some solution (not
that something similar can not re-appear elsewhere).

Pavel





pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: [HACKERS] generated columns
Next
From: Alvaro Herrera
Date:
Subject: Re: ON COMMIT actions and inheritance