pazpar2
1.14.1
|
#include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <yaz/log.h>
#include <yaz/nmem.h>
#include "ppmutex.h"
#include "session.h"
#include "pazpar2_config.h"
#include "settings.h"
#include "http.h"
#include "database.h"
Go to the source code of this file.
Data Structures | |
struct | database_criterion_value |
struct | database_criterion |
Enumerations | |
enum | pazpar2_database_criterion_type { PAZPAR2_STRING_MATCH , PAZPAR2_SUBSTRING_MATCH } |
Functions | |
struct database * | new_database_inherit_settings (const char *id, NMEM nmem, struct settings_array *service_settings) |
struct database * | create_database_for_service (const char *id, struct conf_service *service) |
int | match_zurl (const char *zurl, const char *pattern) |
static int | match_criterion (struct setting **settings, int num_settings, struct conf_service *service, struct database_criterion *c) |
static struct database_criterion * | create_database_criterion (NMEM m, const char *buf) |
static int | database_match_criteria (struct setting **settings, int num_settings, struct conf_service *service, struct database_criterion *cl) |
int | session_grep_databases (struct session *se, const char *filter, void(*fun)(struct session *se, struct session_database *db)) |
int | predef_grep_databases (void *context, struct conf_service *service, void(*fun)(void *context, struct database *db)) |
Enumerator | |
---|---|
PAZPAR2_STRING_MATCH | |
PAZPAR2_SUBSTRING_MATCH |
Definition at line 39 of file database.c.
|
static |
Definition at line 183 of file database.c.
References database_criterion_value::next, PAZPAR2_STRING_MATCH, PAZPAR2_SUBSTRING_MATCH, database_criterion::union_filter, database_criterion_value::value, and database_criterion::values.
Referenced by session_grep_databases().
struct database* create_database_for_service | ( | const char * | id, |
struct conf_service * | service | ||
) |
Definition at line 91 of file database.c.
References conf_service::databases, conf_service::id, database::id, new_database_inherit_settings(), database::next, conf_service::nmem, and conf_service::settings.
Referenced by prepare_target_dictionary().
|
static |
Definition at line 243 of file database.c.
References match_criterion(), database_criterion::next, and database_criterion::union_filter.
Referenced by predef_grep_databases(), and session_grep_databases().
|
static |
Definition at line 140 of file database.c.
References match_zurl(), database_criterion::name, database_criterion_value::next, PAZPAR2_STRING_MATCH, PAZPAR2_SUBSTRING_MATCH, PZ_ID, settings_lookup_offset(), database_criterion::type, database_criterion_value::value, and database_criterion::values.
Referenced by database_match_criteria().
int match_zurl | ( | const char * | zurl, |
const char * | pattern | ||
) |
Definition at line 110 of file database.c.
Referenced by match_criterion(), and update_database_fun().
struct database* new_database_inherit_settings | ( | const char * | id, |
NMEM | nmem, | ||
struct settings_array * | service_settings | ||
) |
Definition at line 57 of file database.c.
References database::id, setting::name, setting::next, database::next, database::num_settings, settings_array::num_settings, setting::precedence, PZ_ID, PZ_MAX_EOF, database::settings, settings_array::settings, setting::target, and setting::value.
Referenced by create_database_for_service(), and load_session_database().
int predef_grep_databases | ( | void * | context, |
struct conf_service * | service, | ||
void(*)(void *context, struct database *db) | fun | ||
) |
Definition at line 291 of file database.c.
References database_match_criteria(), conf_service::databases, database::next, database::num_settings, and database::settings.
Referenced by session_init_databases(), and update_databases().
int session_grep_databases | ( | struct session * | se, |
const char * | filter, | ||
void(*)(struct session *se, struct session_database *db) | fun | ||
) |
Definition at line 266 of file database.c.
References create_database_criterion(), database_match_criteria(), session::databases, session_database::next, session_database::num_settings, PZ_ALLOW, PZ_NAME, session::service, session_database::settings, and setting::value.
Referenced by select_targets().