#define ExclusiveLock in /usr/include/postgresql/9.1/server/storage/lock.h

From: Arturas Mazeika <mazeika(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: #define ExclusiveLock in /usr/include/postgresql/9.1/server/storage/lock.h
Date: 2013-10-11 13:49:11
Message-ID: CAAUL=cH-wXYOHVZz2ByM6q3BrfeekKKbEj3_L_w7iSsvs2h3mw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi pg_Hackers,

I would like to express my wonder to see the following line

#define ExclusiveLock 7 /* blocks ROW
SHARE/SELECT...FOR

(line number 543) in /usr/include/postgresql/9.1/server/storage/lock.h
file, because ExclusiveLock is a name of a class in libspatialindex library
(see* *libspatialindex.github.io).

Using postgres SPI and the spatial library becomes quite a challenge in a
larger project, since the order of the includes starts making a big
difference. Suddenly the c++ pre-processor starts generating codes like

class 7
{

}

I suppose changing the define to be all capital letters becomes a huge
problem, doesn't it ?

Cheers,
arturas

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.2 LTS
Release: 12.04
Codename: precise

$ psql -c 'select version()'

version
------------------------------------------------------------------------------------------------------------
PostgreSQL 9.1.9 on x86_64-unknown-linux-gnu, compiled by gcc
(Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit
(1 row)

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2013-10-11 13:56:28 Re: [HACKERS] Cube extension point support // GSoC'13
Previous Message Michael Paquier 2013-10-11 13:27:43 Re: background workers, round three