Re: INET operators and NOT

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tomas Cerha <t(dot)cerha(at)sh(dot)cvut(dot)cz>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: INET operators and NOT
Date: 2000-06-01 22:22:10
Message-ID: 200006012222.SAA03313@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

I still see this problem in 7.0.

[ Charset ISO-8859-2 unsupported, converting... ]
> Your name : Tomas Cerha
> Your email address : t(dot)cerha(at)sh(dot)cvut(dot)cz
> ----------------------------------------------------------------------
> System Configuration
> ----------------------------------------------------------------------
> Architecture (example: Intel Pentium) : Intel Pentium MMX
> Operating System (example: Linux 2.0.26 ELF) : Linux 2.2.5-15 ELF
> PostgreSQL version (example: PostgreSQL-6.5.3): PostgreSQL-6.5.3
> Compiler used (example: gcc 2.8.0) : installed from RPMs
> installed packages:
> postgresql-6.5.3-1.i386.rpm
> postgresql-perl-6.5.3-1.i386.rpm
> postgresql-server-6.5.3-1.i386.rpm
> postgresql-tcl-6.5.3-1.i386.rpm
> postgresql-test-6.5.3-1.rpm
> ----------------------------------------------------------------------
> I've already posted this bug, but nobody replied yet ... I was not
> subscribed, but now I am. If it is not significant, I'm sorry to
> overload this
> mailing list... Now to the problem:
>
> ----------------------------------------------------------------------
> Please enter a FULL description of your problem:
> ----------------------------------------------------------------------
>
> Aplying the NOT operator with << INET operator results always in false.
> See the example below:
>
> This is the contents of table a:
>
> accounting=> SELECT * FROM a;
> ip
> --------
> 10.1.1.1
> 10.1.1.2
> 10.2.1.2
> 10.2.1.1
> (4 rows)
>
> Now, let's select only those hosts from subnet '10.1/16': (works fine)
>
> accounting=> SELECT * FROM a WHERE ip<<'10.1/16';
> ip
> --------
> 10.1.1.1
> 10.1.1.2
> (2 rows)
>
> And now, I only apply NOT to prewious statement ....
>
> accounting=> SELECT * FROM a WHERE NOT ip<<'10.1/16';
> ip
> --
> (0 rows)
>
>
> But that is not true! I tryed this also with other versions of postgress
> on other machines and the result was always the same. But this makes all
> about INET operators quite unusable, when I am not able to exclude some
> address space (I can only include them). Or is there another way to do
> It?
>
>
> ----------------------------------------------------------------------
> Please describe a way to repeat the problem. Please try to provide a
> concise reproducible example, if at all possible:
> ----------------------------------------------------------------------
>
> CREATE TABLE a (ip inet);
>
> INSERT INTO a VALUES ('10.1.1.1');
> INSERT INTO a VALUES ('10.1.1.2');
> INSERT INTO a VALUES ('10.2.1.2');
> INSERT INTO a VALUES ('10.2.1.1');
>
> SELECT * FROM a;
> SELECT * FROM a WHERE ip<<'10.1/16';
> SELECT * FROM a WHERE NOT ip<<'10.1/16';
>
> DROP TABLE a;
>
> ----------------------------------------------------------------------
> Thank you for any idea which could help to solve this problem ...
>
> Tom Cerha, student, FEE CTU Prague Czech Republic
>
> ************
>
>

--
Bruce Momjian | http://www.op.net/~candle
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2000-06-01 22:23:18 Re: [HACKERS] Re: INET operators and NOT
Previous Message Tom Lane 2000-06-01 21:51:01 Re: BUG Report - Select distinct on

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2000-06-01 22:23:18 Re: [HACKERS] Re: INET operators and NOT
Previous Message Bruce Momjian 2000-06-01 22:03:17 Re: ecpg enhance patch