|
YAZ 5.38.1
|
Implements ZOOM record caching. More...
#include <assert.h>#include <string.h>#include <errno.h>#include "zoom-p.h"#include <yaz/diagbib1.h>#include <yaz/record_render.h>#include <yaz/shptr.h>Go to the source code of this file.
Data Structures | |
| struct | ZOOM_record_p |
| struct | ZOOM_record_cache_p |
Functions | |
| static size_t | record_hash (int pos) |
| static ZOOM_record | record_cache_add (ZOOM_resultset r, Z_NamePlusRecord *npr, int pos, const char *syntax, const char *elementSetName, const char *schema, Z_SRW_diagnostic *diag) |
| void | ZOOM_record_cache_add (ZOOM_resultset r, Z_NamePlusRecord *npr, int pos, const char *syntax, const char *elementSetName, const char *schema, Z_SRW_diagnostic *diag) |
| ZOOM_record | ZOOM_record_cache_lookup_i (ZOOM_resultset r, int pos, const char *syntax, const char *elementSetName, const char *schema) |
| ZOOM_record | ZOOM_record_cache_lookup (ZOOM_resultset r, int pos, const char *syntax, const char *elementSetName, const char *schema) |
| ZOOM_record_clone (ZOOM_record srec) | |
| static void | ZOOM_record_release (ZOOM_record rec) |
| ZOOM_resultset_cache_reset (ZOOM_resultset r) | |
| ZOOM_record_get (ZOOM_record rec, const char *type_spec, int *len) | |
| ZOOM_record_error (ZOOM_record rec, const char **cp, const char **addinfo, const char **diagset) | |
| ZOOM_record_destroy (ZOOM_record rec) | |
Implements ZOOM record caching.
Definition in file zoom-record-cache.c.
|
static |
Definition at line 59 of file zoom-record-cache.c.
References ZOOM_resultset_p::connection, Z_SRW_diagnostic::details, ZOOM_record_p::diag_details, ZOOM_record_p::diag_message, ZOOM_record_p::diag_set, ZOOM_record_p::diag_uri, ZOOM_record_cache_p::elementSetName, Z_SRW_diagnostic::message, ZOOM_record_cache_p::next, ZOOM_record_p::npr, ZOOM_record_p::odr, ZOOM_resultset_p::odr, odr_malloc(), odr_strdup(), odr_strdup_null(), odr_strdupn(), ZOOM_record_cache_p::pos, ZOOM_record_cache_p::rec, record_cache_add(), record_hash(), ZOOM_resultset_p::record_hash, ZOOM_record_cache_p::schema, ZOOM_record_p::schema, ZOOM_record_cache_p::syntax, Z_SRW_diagnostic::uri, ZOOM_record_p::wrbuf, YAZ_SHPTR_INC, yaz_strcmp_null(), ZOOM_connection_put_event(), ZOOM_Event_create(), and ZOOM_EVENT_RECV_RECORD.
Referenced by record_cache_add(), ZOOM_record_cache_add(), and ZOOM_record_cache_lookup().
|
static |
Definition at line 52 of file zoom-record-cache.c.
References record_hash(), and RECORD_HASH_SIZE.
Referenced by record_cache_add(), record_hash(), and ZOOM_record_cache_lookup_i().
| void ZOOM_record_cache_add | ( | ZOOM_resultset | r, |
| Z_NamePlusRecord * | npr, | ||
| int | pos, | ||
| const char * | syntax, | ||
| const char * | elementSetName, | ||
| const char * | schema, | ||
| Z_SRW_diagnostic * | diag ) |
Definition at line 125 of file zoom-record-cache.c.
References ZOOM_record_p::npr, record_cache_add(), ZOOM_record_p::schema, ZOOM_memcached_add(), and ZOOM_record_cache_add().
Referenced by handle_srw_response(), handle_Z3950_records(), and ZOOM_record_cache_add().
| ZOOM_record ZOOM_record_cache_lookup | ( | ZOOM_resultset | r, |
| int | pos, | ||
| const char * | syntax, | ||
| const char * | elementSetName, | ||
| const char * | schema ) |
Definition at line 158 of file zoom-record-cache.c.
References ZOOM_resultset_p::connection, ZOOM_record_p::npr, record_cache_add(), ZOOM_record_p::schema, ZOOM_connection_put_event(), ZOOM_Event_create(), ZOOM_EVENT_RECV_RECORD, ZOOM_memcached_lookup(), ZOOM_record_cache_lookup(), and ZOOM_record_cache_lookup_i().
Referenced by handle_srw_response(), ZOOM_connection_srw_send_search(), ZOOM_connection_Z3950_search(), and ZOOM_record_cache_lookup().
| ZOOM_record ZOOM_record_cache_lookup_i | ( | ZOOM_resultset | r, |
| int | pos, | ||
| const char * | syntax, | ||
| const char * | elementSetName, | ||
| const char * | schema ) |
Definition at line 135 of file zoom-record-cache.c.
References ZOOM_record_cache_p::elementSetName, ZOOM_record_cache_p::next, ZOOM_record_cache_p::pos, ZOOM_record_cache_p::rec, record_hash(), ZOOM_resultset_p::record_hash, ZOOM_record_cache_p::schema, ZOOM_record_p::schema, ZOOM_record_cache_p::syntax, yaz_strcmp_null(), and ZOOM_record_cache_lookup_i().
Referenced by ZOOM_record_cache_lookup(), ZOOM_record_cache_lookup_i(), and ZOOM_resultset_record_immediate().
| ZOOM_record_clone | ( | ZOOM_record | srec | ) |
Definition at line 180 of file zoom-record-cache.c.
References ZOOM_record_p::diag_details, ZOOM_record_p::diag_message, ZOOM_record_p::diag_set, ZOOM_record_p::diag_uri, ZOOM_record_p::npr, ZOOM_record_p::odr, odr_createmem(), ODR_DECODE, odr_destroy(), ODR_ENCODE, odr_getbuf(), odr_setbuf(), odr_strdup_null(), ZOOM_record_p::schema, ZOOM_record_p::wrbuf, xmalloc, z_NamePlusRecord(), and ZOOM_record_clone().
Referenced by ZOOM_record_clone(), and ZOOM_resultset_release().
| ZOOM_record_destroy | ( | ZOOM_record | rec | ) |
Definition at line 331 of file zoom-record-cache.c.
References xfree, ZOOM_record_destroy(), and ZOOM_record_release().
Referenced by ZOOM_record_destroy(), and ZOOM_resultset_release().
| ZOOM_record_error | ( | ZOOM_record | rec, |
| const char ** | cp, | ||
| const char ** | addinfo, | ||
| const char ** | diagset ) |
Definition at line 271 of file zoom-record-cache.c.
References diagbib1_str(), ZOOM_record_p::npr, Z_NamePlusRecord::which, Z_NamePlusRecord_surrogateDiagnostic, and ZOOM_record_error().
Referenced by ZOOM_record_error(), and ZOOM_resultset_release().
| ZOOM_record_get | ( | ZOOM_record | rec, |
| const char * | type_spec, | ||
| int * | len ) |
Definition at line 245 of file zoom-record-cache.c.
References SHPTR, wrbuf_alloc(), yaz_record_render(), and ZOOM_record_get().
Referenced by ZOOM_record_get(), and ZOOM_resultset_release().
|
static |
Definition at line 211 of file zoom-record-cache.c.
References ZOOM_record_p::odr, odr_destroy(), ZOOM_record_p::wrbuf, wrbuf_destroy(), YAZ_SHPTR_DEC, and ZOOM_record_release().
Referenced by ZOOM_record_destroy(), ZOOM_record_release(), and ZOOM_resultset_cache_reset().
| ZOOM_resultset_cache_reset | ( | ZOOM_resultset | r | ) |
Definition at line 229 of file zoom-record-cache.c.
References ZOOM_record_cache_p::next, ZOOM_record_cache_p::rec, RECORD_HASH_SIZE, ZOOM_record_release(), and ZOOM_resultset_cache_reset().
Referenced by resultset_destroy(), ZOOM_resultset_cache_reset(), ZOOM_resultset_release(), and ZOOM_resultset_sort1().