diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2000-07-14 22:18:02 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2000-07-14 22:18:02 +0000 |
commit | 6bfe64032efd043f80a495a495331dcfc2d9f05c (patch) | |
tree | d0cc092d38bdea690a79e4aebfa4629e1db54e96 /src/include/bootstrap/bootstrap.h | |
parent | a30bc7c75a54910a78d1939bd32f5d91164ba8a4 (diff) |
Cleanup of code for creating index entries. Functional indexes with
pass-by-ref data types --- eg, an index on lower(textfield) --- no longer
leak memory during index creation or update. Clean up a lot of redundant
code ... did you know that copy, vacuum, truncate, reindex, extend index,
and bootstrap each basically duplicated the main executor's logic for
extracting information about an index and preparing index entries?
Functional indexes should be a little faster now too, due to removal
of repeated function lookups.
CREATE INDEX 'opt_type' clause is deimplemented by these changes,
but I haven't removed it from the parser yet (need to merge with
Thomas' latest change set first).
Diffstat (limited to 'src/include/bootstrap/bootstrap.h')
-rw-r--r-- | src/include/bootstrap/bootstrap.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/include/bootstrap/bootstrap.h b/src/include/bootstrap/bootstrap.h index b3ddea19d50..882ac3c7d1c 100644 --- a/src/include/bootstrap/bootstrap.h +++ b/src/include/bootstrap/bootstrap.h @@ -7,18 +7,21 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: bootstrap.h,v 1.18 2000/06/17 23:41:49 tgl Exp $ + * $Id: bootstrap.h,v 1.19 2000/07/14 22:17:54 tgl Exp $ * *------------------------------------------------------------------------- */ #ifndef BOOTSTRAP_H #define BOOTSTRAP_H -#include "access/funcindex.h" #include "access/itup.h" +#include "nodes/execnodes.h" #include "utils/rel.h" -#define MAXATTR 40 /* max. number of attributes in a relation */ +/* MAXATTR is the maximum number of attributes in a relation supported + * at bootstrap time (ie, the max possible in a system table). + */ +#define MAXATTR 40 typedef struct hashnode { @@ -35,10 +38,7 @@ extern int DebugMode; extern int BootstrapMain(int ac, char *av[]); -extern void index_register(char *heap, char *ind, - int natts, AttrNumber *attnos, - FuncIndexInfo *finfo, PredInfo *predInfo, - bool unique); +extern void index_register(char *heap, char *ind, IndexInfo *indexInfo); extern void err_out(void); extern void InsertOneTuple(Oid objectid); |