|
YAZ 5.37.0
|
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(), 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, 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 ZOOM_record_cache_add(), and ZOOM_record_cache_lookup().
|
static |
Definition at line 52 of file zoom-record-cache.c.
References RECORD_HASH_SIZE.
Referenced by record_cache_add(), 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 124 of file zoom-record-cache.c.
References ZOOM_record_p::npr, record_cache_add(), ZOOM_record_p::schema, and ZOOM_memcached_add().
Referenced by handle_srw_response(), and handle_Z3950_records().
| ZOOM_record ZOOM_record_cache_lookup | ( | ZOOM_resultset | r, |
| int | pos, | ||
| const char * | syntax, | ||
| const char * | elementSetName, | ||
| const char * | schema ) |
Definition at line 157 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(), and ZOOM_record_cache_lookup_i().
Referenced by handle_srw_response(), ZOOM_connection_srw_send_search(), and ZOOM_connection_Z3950_search().
| ZOOM_record ZOOM_record_cache_lookup_i | ( | ZOOM_resultset | r, |
| int | pos, | ||
| const char * | syntax, | ||
| const char * | elementSetName, | ||
| const char * | schema ) |
Definition at line 134 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, and yaz_strcmp_null().
Referenced by ZOOM_record_cache_lookup(), and ZOOM_resultset_record_immediate().
| ZOOM_record_clone | ( | ZOOM_record | srec | ) |
Definition at line 179 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().
| ZOOM_record_destroy | ( | ZOOM_record | rec | ) |
Definition at line 330 of file zoom-record-cache.c.
References xfree, ZOOM_record_destroy(), and ZOOM_record_release().
Referenced by ZOOM_record_destroy().
| ZOOM_record_error | ( | ZOOM_record | rec, |
| const char ** | cp, | ||
| const char ** | addinfo, | ||
| const char ** | diagset ) |
Definition at line 270 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().
| ZOOM_record_get | ( | ZOOM_record | rec, |
| const char * | type_spec, | ||
| int * | len ) |
Definition at line 244 of file zoom-record-cache.c.
References SHPTR, wrbuf_alloc(), yaz_record_render(), and ZOOM_record_get().
Referenced by ZOOM_record_get().
|
static |
Definition at line 210 of file zoom-record-cache.c.
References ZOOM_record_p::odr, odr_destroy(), ZOOM_record_p::wrbuf, wrbuf_destroy(), and YAZ_SHPTR_DEC.
Referenced by ZOOM_record_destroy(), and ZOOM_resultset_cache_reset().
| ZOOM_resultset_cache_reset | ( | ZOOM_resultset | r | ) |
Definition at line 228 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().