Remove columns pg_index.haskeytype and pg_index.indisclustered

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Remove columns pg_index.haskeytype and pg_index.indisclustered
Дата
Msg-id 200105142153.f4ELrgW09804@candle.pha.pa.us
обсуждение исходный текст
Ответы Re: Remove columns pg_index.haskeytype and pg_index.indisclustered  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-patches
I have removed pg_index.haskeytype and pg_index.indisclustered with the
following patch.  They were not used.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
Index: src/backend/access/gist/gist.c
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/access/gist/gist.c,v
retrieving revision 1.73
diff -c -r1.73 gist.c
*** src/backend/access/gist/gist.c    2001/05/07 00:43:15    1.73
--- src/backend/access/gist/gist.c    2001/05/14 21:50:12
***************
*** 1127,1133 ****
          elog(ERROR, "initGISTstate: index %u not found",
               RelationGetRelid(index));
      itupform = (Form_pg_index) GETSTRUCT(htup);
-     giststate->haskeytype = itupform->indhaskeytype;
      indexrelid = itupform->indexrelid;
      ReleaseSysCache(htup);

--- 1127,1132 ----
Index: src/backend/catalog/index.c
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/catalog/index.c,v
retrieving revision 1.146
diff -c -r1.146 index.c
*** src/backend/catalog/index.c    2001/05/07 00:43:17    1.146
--- src/backend/catalog/index.c    2001/05/14 21:50:13
***************
*** 587,595 ****
      indexForm->indexrelid = indexoid;
      indexForm->indrelid = heapoid;
      indexForm->indproc = indexInfo->ii_FuncOid;
-     indexForm->indisclustered = false;
      indexForm->indislossy = islossy;
-     indexForm->indhaskeytype = true;    /* not actually used anymore */
      indexForm->indisunique = indexInfo->ii_Unique;
      indexForm->indisprimary = primary;
      memcpy((char *) &indexForm->indpred, (char *) predText, predLen);
--- 587,593 ----
Index: src/backend/utils/cache/relcache.c
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/utils/cache/relcache.c,v
retrieving revision 1.132
diff -c -r1.132 relcache.c
*** src/backend/utils/cache/relcache.c    2001/05/14 20:30:20    1.132
--- src/backend/utils/cache/relcache.c    2001/05/14 21:50:15
***************
*** 70,76 ****
  static FormData_pg_attribute Desc_pg_attribute[Natts_pg_attribute] = {Schema_pg_attribute};
  static FormData_pg_attribute Desc_pg_proc[Natts_pg_proc] = {Schema_pg_proc};
  static FormData_pg_attribute Desc_pg_type[Natts_pg_type] = {Schema_pg_type};
- static FormData_pg_attribute Desc_pg_variable[Natts_pg_variable] = {Schema_pg_variable};
  static FormData_pg_attribute Desc_pg_log[Natts_pg_log] = {Schema_pg_log};

  /*
--- 70,75 ----
Index: src/include/catalog/catversion.h
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/include/catalog/catversion.h,v
retrieving revision 1.73
diff -c -r1.73 catversion.h
*** src/include/catalog/catversion.h    2001/05/14 20:30:21    1.73
--- src/include/catalog/catversion.h    2001/05/14 21:50:16
***************
*** 53,58 ****
   */

  /*                            yyyymmddN */
! #define CATALOG_VERSION_NO    2001051401

  #endif
--- 53,58 ----
   */

  /*                            yyyymmddN */
! #define CATALOG_VERSION_NO    2001051402

  #endif
Index: src/include/catalog/pg_index.h
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/include/catalog/pg_index.h,v
retrieving revision 1.16
diff -c -r1.16 pg_index.h
*** src/include/catalog/pg_index.h    2001/01/24 19:43:21    1.16
--- src/include/catalog/pg_index.h    2001/05/14 21:50:16
***************
*** 48,54 ****
                                   * index */
      int2vector    indkey;
      oidvector    indclass;
-     bool        indisclustered;
      bool        indislossy;        /* do we fetch false tuples (lossy
                                   * compression)? */
      bool        indhaskeytype;    /* does key type != attribute type? */
--- 48,53 ----
***************
*** 70,87 ****
   *        compiler constants for pg_index
   * ----------------
   */
! #define Natts_pg_index                    12
  #define Anum_pg_index_indexrelid        1
  #define Anum_pg_index_indrelid            2
  #define Anum_pg_index_indproc            3
  #define Anum_pg_index_indkey            4
  #define Anum_pg_index_indclass            5
! #define Anum_pg_index_indisclustered    6
! #define Anum_pg_index_indislossy        7
! #define Anum_pg_index_indhaskeytype        8
! #define Anum_pg_index_indisunique        9
! #define Anum_pg_index_indisprimary        10
! #define Anum_pg_index_indreference        11
! #define Anum_pg_index_indpred            12

  #endif     /* PG_INDEX_H */
--- 69,84 ----
   *        compiler constants for pg_index
   * ----------------
   */
! #define Natts_pg_index                    10
  #define Anum_pg_index_indexrelid        1
  #define Anum_pg_index_indrelid            2
  #define Anum_pg_index_indproc            3
  #define Anum_pg_index_indkey            4
  #define Anum_pg_index_indclass            5
! #define Anum_pg_index_indislossy        6
! #define Anum_pg_index_indisunique        7
! #define Anum_pg_index_indisprimary        8
! #define Anum_pg_index_indreference        9
! #define Anum_pg_index_indpred            10

  #endif     /* PG_INDEX_H */
Index: src/interfaces/odbc/info.c
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/odbc/info.c,v
retrieving revision 1.46
diff -c -r1.46 info.c
*** src/interfaces/odbc/info.c    2001/05/08 17:12:36    1.46
--- src/interfaces/odbc/info.c    2001/05/14 21:50:20
***************
*** 2009,2016 ****
      char       *table_name;
      char        index_name[MAX_INFO_STRING];
      short        fields_vector[16];
!     char        isunique[10],
!                 isclustered[10];
      SDWORD        index_name_len,
                  fields_vector_len;
      TupleNode  *row;
--- 2009,2015 ----
      char       *table_name;
      char        index_name[MAX_INFO_STRING];
      short        fields_vector[16];
!     char        isunique[10];
      SDWORD        index_name_len,
                  fields_vector_len;
      TupleNode  *row;
***************
*** 2170,2176 ****
      indx_stmt = (StatementClass *) hindx_stmt;

      sprintf(index_query, "select c.relname, i.indkey, i.indisunique"
!             ", i.indisclustered, c.relhasrules"
              " from pg_index i, pg_class c, pg_class d"
              " where c.oid = i.indexrelid and d.relname = '%s'"
              " and d.oid = i.indrelid", table_name);
--- 2169,2175 ----
      indx_stmt = (StatementClass *) hindx_stmt;

      sprintf(index_query, "select c.relname, i.indkey, i.indisunique"
!             ", c.relhasrules"
              " from pg_index i, pg_class c, pg_class d"
              " where c.oid = i.indexrelid and d.relname = '%s'"
              " and d.oid = i.indrelid", table_name);
***************
*** 2178,2184 ****
      result = SQLExecDirect(hindx_stmt, index_query, strlen(index_query));
      if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
      {
-
          /*
           * "Couldn't execute index query (w/SQLExecDirect) in
           * SQLStatistics.";
--- 2177,2182 ----
***************
*** 2226,2245 ****
          goto SEEYA;
      }

-     /* bind the "is clustered" column */
      result = SQLBindCol(hindx_stmt, 4, SQL_C_CHAR,
-                         isclustered, sizeof(isclustered), NULL);
-     if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
-     {
-         stmt->errormsg = indx_stmt->errormsg;    /* "Couldn't bind column
-                                                  * in SQLStatistics."; */
-         stmt->errornumber = indx_stmt->errornumber;
-         SQLFreeStmt(hindx_stmt, SQL_DROP);
-         goto SEEYA;
-
-     }
-
-     result = SQLBindCol(hindx_stmt, 5, SQL_C_CHAR,
                          relhasrules, MAX_INFO_STRING, NULL);
      if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
      {
--- 2224,2230 ----
***************
*** 2270,2279 ****
          sprintf(buf, "%s_idx_fake_oid", table_name);
          set_tuplefield_string(&row->tuple[5], buf);

-         /*
-          * Clustered index?  I think non-clustered should be type OTHER
-          * not HASHED
-          */
          set_tuplefield_int2(&row->tuple[6], (Int2) SQL_INDEX_OTHER);
          set_tuplefield_int2(&row->tuple[7], (Int2) 1);

--- 2255,2260 ----
***************
*** 2316,2326 ****
                  set_tuplefield_string(&row->tuple[4], "");
                  set_tuplefield_string(&row->tuple[5], index_name);

!                 /*
!                  * Clustered index?  I think non-clustered should be type
!                  * OTHER not HASHED
!                  */
!                 set_tuplefield_int2(&row->tuple[6], (Int2) (atoi(isclustered) ? SQL_INDEX_CLUSTERED :
SQL_INDEX_OTHER));
                  set_tuplefield_int2(&row->tuple[7], (Int2) (i + 1));

                  if (fields_vector[i] == OID_ATTNUM)
--- 2297,2303 ----
                  set_tuplefield_string(&row->tuple[4], "");
                  set_tuplefield_string(&row->tuple[5], index_name);

!                 set_tuplefield_int2(&row->tuple[6], (Int2) SQL_INDEX_OTHER);
                  set_tuplefield_int2(&row->tuple[7], (Int2) (i + 1));

                  if (fields_vector[i] == OID_ATTNUM)

В списке pgsql-patches по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Removal of pg_variable, pg_inheritproc, pg_ipl
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Removal of pg_variable, pg_inheritproc, pg_ipl