[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnats/gnats/ds-file Makefile.in db.c ds-file.h ...
From: |
Mel Hatzis |
Subject: |
gnats/gnats/ds-file Makefile.in db.c ds-file.h ... |
Date: |
Sat, 23 Apr 2005 01:15:21 -0400 |
CVSROOT: /cvsroot/gnats
Module name: gnats
Branch:
Changes by: Mel Hatzis <address@hidden> 05/04/23 05:15:21
Added files:
gnats/ds-file : Makefile.in db.c ds-file.h fld.c index.c
index.h pr.c t-fconfig
Log message:
* configure.in: Added the beginnings for supporting multiple backend
datastores. A lot of the funtionality dealing directly with the
flat-file
datastore has been moved into it's own library (libds-file.a) which is
pulled in unconditionally for now - since there are no alternative
backend
datastores to configure.
* Makefile.in: Moved most of the logic dealing with the flat-file
backend
into a ds-file sub-directory for which we generate a libds-file.a
library.
Modified all binary targets to link against this library - the name of
the
datastore library to link with is actually supplied by configure. Note
that
the index file is now part of the flat-file datastore library;
GNATS_LIBS
now includes a $(DS_LIB) macro defined by configure; a ds-libs target
has
been added for building the datastore library; fconfig.y is now
generated
(see the note about fconfig.y below).
* ds.mk: New file. Used to generate the Makefile in all datastore
implementations. Contains all the common elements of a datastore
Makefile.
* aclocal.m4: Regenerated.
* autoconf.h.in: Regenerated.
* configure: Regenerated.
* cmds.c (do_server_query, GNATS_lock, GNATS_unlk, GNATS_edit): Function
renames for the datastore API - iterate_prs, prExists and readPRWithNum
renamed to db_query, pr_exists and pr_load_by_id respectively. The
renames
are to conform to a standard naming convention used by the datastore
API to
assist with datastore implementation.
(GNATS_rset): Removed references to the index, which is now only
relevant
when GNATS if configured with the flat-file datastore. This change
involves
a modification to the message accompanying the return code when the
index
is reloaded - since the index is no longer always relevant, it makes no
sense for the GNATS server to refer to it in the client/server protocol.
* database.c (struct databaseInfo, newDatabaseInfo): Replaced indexDesc
with a void ds_private pointer which is intended to cache any datastore
specific information (such as the indexDesc). The indexDesc is now
defined
and exclusively used in the flat-file datastore library and is pulled in
via ds_private when needed.
(getIndexDesc, setIndexDesc, clearIndexDesc): Moved to index.c in the
flat-file datastore library since this is no longer generically
relevant.
(getDatastorePrivate, setDatastorePrivate): New functions. Used for
managing the datastore specific database elements such as the index in
the
flat-file datastore implementation.
(loadDatabase): Replaced all flat-file datastore specific functionality
with a new "db_init" function which is part of the new GNATS datastore
API.
(freeDatabaseInfo): Replaced all references to functions which free the
index with a call to a new "db_destroy" function which is part of the
new
GNATS datastore API.
* database.h (setIndexDesc, setDatastorePrivate): Replaced setIndexDesc
with setDatastorePrivate - setIndexDesc now declared in ds-file/index.h.
Any datastore specific configuration elements defined in the dbconfig
(via ds-file/t-fconfig) are cached in the DatabaseInfo struct via
setDatastorePrivate.
(getIndexDesc, getDatastorePrivate): Replaced getIndexDesc with
getDatastorePrivate - getIndexDesc now declared in ds-file/index.h.
* edit.c (processPRChanges): No need to check if the PR has been
completely
read into memory...all callers of this function do so. Furthermore, the
idea of reading a PR partially is not desirable for a generalized
backend
datastore.
(rewrite_pr): Moved all the logic associated with reading/writing to a
PR
file and dealing with the index into a new 'pr_update' function in
ds-file/pr.c.
(replace_pr): Renamed prExists to pr_exists, readPRWithNum to
pr_load_by_id
and fillInPR with pr_load. These functions are all part of the datastore
API and have been renamed for clarity.
* ds-file/t-fconfig, fconfig.y, fconfig.y.in: fconfig.y renamed to
fconfig.y.in which no longer contains any datastore specific grammar.
The
datastore specific items are now pulled in from a t-fconfig file
located in
the ds-file directory. The fconfig.y file is generated by concatenating
fconfig.y.in with t-fconfig. To accomodate this, fconfig.y.in now
contains a dsDescription section which all datastore's must define.
* file-pr.c (createNewPRFile): Renamed to createNewPR since we'll
eventually be using alternatives to files for the backend. Also, moved
all
the logic associated with reading/writing to a PR file dealing with the
index into a new 'pr_create' function in ds-file/pr.c.
(run_atpr): Pass in an int for the PR number since we no longer refer
to a
string representation of it in createNewPR.
(checkIfReply, append_report): Function renames for datastore API.
(getBugNumber): Moved to ds-file/pr.c - only relevant to flat-file
datastore.
(submit_pr): Function rename for multiple backend datastore support.
* gnats.h: No longer pull in index.h...this is only used for the
flat-file
datastore.
* index.c, index.h, ds-file/index.c, ds-file/index.h: Moved the
index.[ch]
files into the new ds-file sub-directory which implements the flat-file
backend datastore. The index is now only applicable if GNATS is
configured
with the flat-file backend datastore. All references to the index in the
DatabaseInfo and PR data structures have been replaced with an opaque
'ds_private' field, which is used to cache all datastore specific data.
The getIndexDesc/setIndexDesc function definitions were moved out of
database.c into index.c since these functions are specific to the
flat-file
datastore.
* pr.c (allocPR): Replaced allocIndex with a call to the new pr_init
function in the datastore API. The flat-file datastore implementation of
pr_init is where allocIndex is now called. Also handle the case where
there
are no fields in the dbconfig without corrupting memory.
(get_pr, get_pr_from_index, get_pr_path, pr_file_readable): These
functions
have been relocated to ds-file/pr.c since they are specific to the
flat-file datastore.
(fillInPR): Renamed to pr_load and moved to ds-file/pr.c since the
implementation of this function is datastore specific.
(field_value): Replaced the call to indexValue which retrieves the field
value from the flat-file index with a datastore API function call named
field_cache_value. This allows for datastore implementations to utilize
a
cache (such as the flat-file index), for keeping some field values in
memory.
(free_pr): Replaced calls related to freeing the index with a new
datastore
API function named pr_destroy. The flat-file datastore implementation of
pr_destroy is where the index is now free'd.
(prExists): Renamed to pr_exists and moved to ds-file/pr.c since the
implementation of this function is datastore specific.
(readPRWithNum): Renamed to pr_load_by_id and moved to ds-file/pr.c
since
the implementation of this function is datastore specific.
(pr_delete): Moved to ds-file/pr.c since the implementation of this
function is datastore specific.
* pr.h (PR_struct): Replaced the index pointer with an opaque pointer
to a
struct containing datastore specific data. The index is now defined
within
this opaque datastore data structure only when GNATS is linked with the
flat-file datastore library.
(fillInPR): Renamed to pr_load and moved to ds.h.
* query.h (index.h): Removed index.h since the index is no longer a
generic
part of the GNATS datastore; index.h is now only pulled in when GNATS is
configured with the flat-file backend.
(*QueryItem, SearchItem, *QueryTree, struct queryExpr): Imported from
query.c since these is required by the datastore library.
(*QueryFunc): Moved to ds.h since this is an integral part of the
datastore
query functionality from which it is referenced.
(iterate_prs): Renamed to db_query and moved to ds.h since this is now a
part of the GNATS backend datastore API. The function was renamed to
conform to a standard naming convention used by the datastore API to
assist
with datastore implementation.
* query.c (*QueryItem, SearchItem, *QueryTree, struct queryExpr): Moved
to
query.h since these are now referenced from the datastore library.
(fieldCompare, process_format): The index is now only relevant when
GNATS
is configured with the flat-file backend. The check for whether a PR is
only partially in memory or whether we're only referencing an indexed
field is no longer relevant in all cases. The datastore is now
responsible
for implementing a partial PR cache (such as the index).
(pr_matches_tree): No longer a static - referenced by the datastore
backend.
(iterate_prs): Renamed to db_query and moved into the datastore library
- this is a member of the datastore API.
* ds.h: New File. Contains function declarations for all functions
implementing the GNATS datastore API. All datastore implementations are
required to define these functions.
* ds-file/Makefile.in, ds-file/ds-file.h, ds-file/db.c, ds-file/pr.c,
ds-file/fld.c: New files. Collectively implement the GNATS flat-file
datastore.
* gen-index.c: We will eventually only build this as part of the
flat-file
datastore. For now, pull in the index include file from the ds-file
directory.
* getclose.c (do_prlist): Reworked so as not to use the flat-file index.
Use a query to get the relevant PRs for processing.
* pr-age.c (main): Function rename for multiple backend datastore.
* pr-edit.c (main): Function renames for multiple backend datastore.
* query-pr.c (main): Function renames for multiple backend datastore.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnats/gnats/gnats/ds-file/Makefile.in?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnats/gnats/gnats/ds-file/db.c?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnats/gnats/gnats/ds-file/ds-file.h?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnats/gnats/gnats/ds-file/fld.c?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnats/gnats/gnats/ds-file/index.c?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnats/gnats/gnats/ds-file/index.h?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnats/gnats/gnats/ds-file/pr.c?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnats/gnats/gnats/ds-file/t-fconfig?rev=1.1
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnats/gnats/ds-file Makefile.in db.c ds-file.h ...,
Mel Hatzis <=