Re: plruby: rb_iterate symbol clash with libruby.so

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Pavel Raiskup <praiskup@redhat.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Devrim GÜNDÜZ <devrim@gunduz.org>
Date: 2018-11-05T20:06:41Z
Lists: pgsql-hackers
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_...

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Commits

  1. Rename rbtree.c functions to use "rbt" prefix not "rb" prefix.