Re: [HACKERS] OR clause status report - Mailing list pgsql-hackers

From Vadim Mikheev
Subject Re: [HACKERS] OR clause status report
Date
Msg-id 35C1DCFB.92EA50F9@krs.ru
Whole thread Raw
In response to Re: [HACKERS] OR clause status report  (Vince Vielhaber <vev@michvhf.com>)
Responses Re: [HACKERS] OR clause status report
Re: [HACKERS] OR clause status report
List pgsql-hackers
Vince Vielhaber wrote:
>
> Yep, it created it that time but still won't use it. :(

Yes, I see.

This is patch for 6.3.2
CVS updated.

Bruce, could you add this to TODO:

>> campsites=> create index lower_city on locations (lower(city));
>> ERROR:  DefineIndex: (null) class not found
>> campsites=>
>
> Ok, this works:
>
> create index lower_city on locations (lower(city) text_ops);
>
> Something broken in DefineIndex -:((
> XXX_ops for function rettype should be used...

Should be easy to fix but no time -:(

Vadim
*** src/backend/optimizer/path/indxpath.c.orig    Fri Jul 31 22:54:58 1998
--- src/backend/optimizer/path/indxpath.c    Fri Jul 31 22:56:38 1998
***************
*** 410,419 ****
      int            curIndxKey;
      Oid            curClass;

!     if (clauseinfo_list == NIL)
          return NIL;

!     while (!DoneMatchingIndexKeys(indexkeys, index))
      {
          List       *tempgroup = NIL;

--- 410,419 ----
      int            curIndxKey;
      Oid            curClass;

!     if (clauseinfo_list == NIL || indexkeys[0] == 0)
          return NIL;

!     do
      {
          List       *tempgroup = NIL;

***************
*** 443,449 ****
          indexkeys++;
          classes++;

!     }

      /* clausegroup holds all matched clauses ordered by indexkeys */

--- 443,449 ----
          indexkeys++;
          classes++;

!     } while (!DoneMatchingIndexKeys(indexkeys, index));

      /* clausegroup holds all matched clauses ordered by indexkeys */

***************
*** 474,483 ****
      Oid            curClass;
      bool        jfound = false;

!     if (join_cinfo_list == NIL)
          return NIL;

!     while (!DoneMatchingIndexKeys(indexkeys, index))
      {
          List       *tempgroup = NIL;

--- 474,483 ----
      Oid            curClass;
      bool        jfound = false;

!     if (join_cinfo_list == NIL || indexkeys[0] == 0)
          return NIL;

!     do
      {
          List       *tempgroup = NIL;

***************
*** 523,529 ****
          indexkeys++;
          classes++;

!     }

      /* clausegroup holds all matched clauses ordered by indexkeys */

--- 523,529 ----
          indexkeys++;
          classes++;

!     } while (!DoneMatchingIndexKeys(indexkeys, index));

      /* clausegroup holds all matched clauses ordered by indexkeys */


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: AW: [HACKERS] OR clause status report
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] OR clause status report