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)