view release on metacpan or search on metacpan
include/rdfstore_bits.h view on Meta::CPAN
#include "rdfstore_compress.h"
#define MAXBITBYTE (RDFSTORE_MAXRECORDS_BYTES_SIZE)
#define STEP 16 /* bytes per increase */
typedef struct bitseq {
int size;
unsigned char bits[MAXBITBYTE];
} bitseq;
int rdfstore_bits_setmask(
unsigned int * len,
unsigned char * bits,
unsigned int at,
unsigned int mask,
unsigned int value,
unsigned int maxlen
);
int rdfstore_bits_isanyset (
unsigned int * len,
rdfstore_bits.c view on Meta::CPAN
* set at -bit- position 'at'
* the masked bits to value
*
* return the modified bits
*/
/*
* #define RDFSTORE_DEBUG_BITS
*/
int rdfstore_bits_setmask(
unsigned int * size,
unsigned char * bits,
unsigned int at,
unsigned int mask,
unsigned int value,
unsigned int max
) {
register int depth,change;
if (mask == 0) return(0);
rdfstore_iterator.c view on Meta::CPAN
int i=0;
printf("iterator remove ACTUAL (BEFORE remove):\n");
for ( i=0; i<me->ids_size; i++) {
printf("%02X",me->ids[i]);
};
printf("' (%d)\n",me->ids_size);
}
#endif
/* zap current pos - we do not check whether is zero already or not....yet :) */
if( ! rdfstore_bits_setmask(& me->ids_size, me->ids, me->pos, 1, 0, sizeof(me->ids)) )
return 0;
#ifdef RDFSTORE_DEBUG
{
int i=0;
printf("iterator remove ACTUAL (AFTER remove):\n");
for ( i=0; i<me->ids_size; i++) {
printf("%02X",me->ids[i]);
};
printf("' (%d)\n",me->ids_size);
rdfstore_kernel.c view on Meta::CPAN
fprintf(stderr,"Could not fetch windex of word '%s' for store '%s': %s\n", word, (me->name != NULL) ? me->name : "(in-memory)", rdfstore_flat_store_get_error(me->windex));
#if defined(RDFSTORE_CONNECTIONS) && defined(RDFSTORE_CONNECTIONS_REINDEXING)
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
};
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 1, sizeof(me->bits_decode));
if (outsize) {
err = rdfstore_flat_store_store_compressed(me->windex, me->func_encode, key, outsize, me->bits_decode,me->bits_encode );
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for '%s' in windex for store '%s'\n", outsize, (char *)key.data, (me->name != NULL) ? me->name : "(in-memory)");
#endif
} else {
if (err != FLAT_STORE_E_KEYEXIST) {
RDFSTORE_FREE(utf8_casefolded_buff);
rdfstore_kernel.c view on Meta::CPAN
} else {
outsize = 0;
};
} else {
me->func_decode(data.size, data.data, &outsize, me->bits_decode); /* perhaps the
* compression for
* single bits could be
* different */
RDFSTORE_FREE(data.data);
};
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 1, sizeof(me->bits_decode));
me->func_encode(outsize, me->bits_decode, &outsize, me->bits_encode);
if (outsize) {
data.data = me->bits_encode;
data.size = outsize;
err = rdfstore_flat_store_store(me->windex, key, data);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for '%s' in windex for store '%s'\n", outsize, (char *)key.data, (me->name != NULL) ? me->name : "(in-memory)");
#endif
rdfstore_kernel.c view on Meta::CPAN
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
} else {
me->func_decode(data.size, data.data, &outsize, me->bits_decode);
RDFSTORE_FREE(data.data);
};
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 1, sizeof(me->bits_decode));
me->func_encode(outsize, me->bits_decode, &outsize, me->bits_encode);
if (outsize) {
data.data = me->bits_encode;
data.size = outsize;
err = rdfstore_flat_store_store(me->languages, key, data);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for '%s' in languages for store '%s'\n", outsize, (char *)key.data, (me->name != NULL) ? me->name : "(in-memory)");
#endif
rdfstore_kernel.c view on Meta::CPAN
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
} else {
me->func_decode(data.size, data.data, &outsize, me->bits_decode);
RDFSTORE_FREE(data.data);
};
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 1, sizeof(me->bits_decode));
me->func_encode(outsize, me->bits_decode, &outsize, me->bits_encode);
if (outsize) {
data.data = me->bits_encode;
data.size = outsize;
err = rdfstore_flat_store_store(me->datatypes, key, data);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for '%s' in datatypes for store '%s'\n", outsize, (char *)key.data, (me->name != NULL) ? me->name : "(in-memory)");
#endif
rdfstore_kernel.c view on Meta::CPAN
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
} else {
me->func_decode(data.size, data.data, &outsize, me->bits_decode);
RDFSTORE_FREE(data.data);
};
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 1, sizeof(me->bits_decode));
me->func_encode(outsize, me->bits_decode, &outsize, me->bits_encode);
if (outsize) {
data.data = me->bits_encode;
data.size = outsize;
err = rdfstore_flat_store_store(me->xsd_date, key, data);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for date '%s' in literal '%s' in integer table for store '%s'\n", outsize, thedateval, statement->object->value.literal.string, (me->name != NULL) ? me->name : "(in-memory)");
#endif
rdfstore_kernel.c view on Meta::CPAN
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
} else {
me->func_decode(data.size, data.data, &outsize, me->bits_decode);
RDFSTORE_FREE(data.data);
};
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 1, sizeof(me->bits_decode));
me->func_encode(outsize, me->bits_decode, &outsize, me->bits_encode);
if (outsize) {
data.data = me->bits_encode;
data.size = outsize;
err = rdfstore_flat_store_store(me->xsd_integer, key, data);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for integer '%ld' in literal '%s' in integer table for store '%s'\n", outsize, (long)thelval, statement->object->value.literal.string, (me->name != NULL) ? me->name : "(in-memory)");
#endif
rdfstore_kernel.c view on Meta::CPAN
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
} else {
me->func_decode(data.size, data.data, &outsize, me->bits_decode);
RDFSTORE_FREE(data.data);
};
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 1, sizeof(me->bits_decode));
me->func_encode(outsize, me->bits_decode, &outsize, me->bits_encode);
if (outsize) {
data.data = me->bits_encode;
data.size = outsize;
err = rdfstore_flat_store_store(me->xsd_double, key, data);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for double '%f' in literal '%s' in double table for store '%s'\n", outsize, thedval, statement->object->value.literal.string, (me->name != NULL) ? me->name : "(in-memory)");
#endif
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
RDFSTORE_FREE( neighbour->context );
};
if ( neighbour->node != NULL ) {
RDFSTORE_FREE( neighbour->node->value.resource.identifier );
RDFSTORE_FREE( neighbour->node );
};
RDFSTORE_FREE( neighbour );
};
#endif
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 1, sizeof(me->bits_decode));
#ifdef RDFSTORE_CONNECTIONS
/* COPY subjects(SUBJECT) to s_connections(SUBJECT) */
bcopy(me->bits_decode, s_connections, outsize); /* slow? */
s_outsize = outsize;
/* COPY subjects(SUBJECT) to p_connections(PREDICATE) */
bcopy(me->bits_decode, p_connections, outsize); /* slow? */
p_outsize = outsize;
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
};
if ( neighbour->node != NULL ) {
RDFSTORE_FREE( neighbour->node->value.resource.identifier );
RDFSTORE_FREE( neighbour->node );
};
RDFSTORE_FREE( neighbour );
};
#endif
MX;
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 1, sizeof(me->bits_decode));
MX;
#ifdef RDFSTORE_CONNECTIONS
/* OR predicates(PREDICATE) to s_connections(SUBJECT) */
s_outsize = rdfstore_bits_or(outsize, me->bits_decode, s_outsize, s_connections, me->bits_encode); /* use me->bits_encode for easyness
no problem due is rest with encode
operation below here */
bcopy(me->bits_encode, s_connections, s_outsize); /* slow? */
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
RDFSTORE_FREE( neighbour->context );
};
if ( neighbour->node != NULL ) {
RDFSTORE_FREE( neighbour->node->value.resource.identifier );
RDFSTORE_FREE( neighbour->node );
};
RDFSTORE_FREE( neighbour );
};
#endif
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 1, sizeof(me->bits_decode));
#ifdef RDFSTORE_CONNECTIONS
/* OR objects(OBJECT) to s_connections(SUBJECT) */
s_outsize = rdfstore_bits_or(outsize, me->bits_decode, s_outsize, s_connections, me->bits_encode);
bcopy(me->bits_encode, s_connections, s_outsize); /* slow? */
/* OR objects(OBJECT) to p_connections(PREDICATE) */
p_outsize = rdfstore_bits_or(outsize, me->bits_decode, p_outsize, p_connections, me->bits_encode);
bcopy(me->bits_encode, p_connections, p_outsize); /* slow? */
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* set the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 1, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_insert");
rdfstore_kernel.c view on Meta::CPAN
} else {
outsize = 0;
};
} else {
me->func_decode(data.size, data.data, &outsize, me->bits_decode); /* perhaps the
* compression for
* single bits could be
* different */
RDFSTORE_FREE(data.data);
};
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 1, sizeof(me->bits_decode));
me->func_encode(outsize, me->bits_decode, &outsize, me->bits_encode);
if (outsize) {
data.data = me->bits_encode;
data.size = outsize;
err = rdfstore_flat_store_store(me->contexts, key, data);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for '%s' in contexts table for store '%s'\n", outsize, (char *)key.data, (me->name != NULL) ? me->name : "(in-memory)");
#endif
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize = 0;
};
} else {
me->func_decode(data.size, data.data, &outsize, me->bits_decode);
RDFSTORE_FREE(data.data);
};
/* reset the right bit to zero */
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
#if defined(RDFSTORE_CONNECTIONS) && defined(RDFSTORE_CONNECTIONS_REINDEXING)
/*
We need to re-index quite a lot for each new statement component now - hope caching will
help here!! i.e. the swiss army nife problem (see SWAD-E paper and preso)
1.1) remove this new statement (st_id) from p_connections(neighbour->predicate) and o_connections(neighbour->object)
tables of each other statement (neighbour) connected to this one via subjects(SUBJECT) node
1.2) remove this new statement (st_id) from s_connections(neighbour->subject) and o_connections(neighbour->object)
tables of each other statement (neighbour) connected to this one via predicates(SUBJECT) node
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
/* now: we do not need/must check whther or not to remove this key because the other statement is sitll there */
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
rdfstore_kernel.c view on Meta::CPAN
} else {
me->func_decode(data.size, data.data, &outsize, me->bits_decode); /* perhaps the
* compression for
* single bits could be
* different */
RDFSTORE_FREE(data.data);
};
MX;
/* reset the right bits to zero */
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
#if defined(RDFSTORE_CONNECTIONS) && defined(RDFSTORE_CONNECTIONS_REINDEXING)
/* 2.2) reindex st_id for connections to predicates(PREDICATE) node */
/* copy the predicates(PREDICATE) bits through the reindex iterator array */
memcpy(reindex->ids, me->bits_decode, outsize);
reindex->ids_size = outsize;
/* set the size - inefficient!! */
pos = 0;
reindex->size = 0;
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
};
} else {
me->func_decode(data.size, data.data, &outsize, me->bits_decode); /* perhaps the
* compression for
* single bits could be
* different */
RDFSTORE_FREE(data.data);
};
/* reset the right bit to zero */
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
#if defined(RDFSTORE_CONNECTIONS) && defined(RDFSTORE_CONNECTIONS_REINDEXING)
/* 3.3) reindex st_id for connections to objects(OBJECT) node */
/* copy the objects(OBJECT) bits through the reindex iterator array */
memcpy(reindex->ids, me->bits_decode, outsize);
reindex->ids_size = outsize;
/* set the size - inefficient!! */
pos = 0;
reindex->size = 0;
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
/* now: we do not need/must check whther or not to remove this key because the other statement is sitll there */
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
/* now: we do not need/must check whther or not to remove this key because the other statement is sitll there */
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->o_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->s_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
return -1;
} else {
outsize_reindex = 0;
};
} else {
me->func_decode_connections(data.size, data.data, &outsize_reindex, reindex_decode);
RDFSTORE_FREE(data.data);
};
/* reset the corresponding bit of this statement */
rdfstore_bits_setmask(&outsize_reindex, reindex_decode, st_id, 1, 0, sizeof(reindex_decode));
/* store it back */
me->func_encode_connections(outsize_reindex, reindex_decode, &outsize_reindex, reindex_encode);
data.data = reindex_encode;
data.size = outsize_reindex;
err = rdfstore_flat_store_store(me->p_connections, key, data);
if (err != 0) {
if (err != FLAT_STORE_E_KEYEXIST) {
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
#if defined(RDFSTORE_CONNECTIONS) && defined(RDFSTORE_CONNECTIONS_REINDEXING)
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
};
/* reset the right bit to zero */
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
outsize = rdfstore_bits_shorten(outsize, me->bits_decode);
if ( outsize > 0 ) {
err = rdfstore_flat_store_store_compressed(me->contexts, me->func_encode,
key, outsize,me->bits_decode,me->bits_encode);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for '%s' in contexts for store '%s'\n", outsize, (char *)key.data, (me->name != NULL) ? me->name : "(in-memory)");
#endif
} else {
if (err != FLAT_STORE_E_KEYEXIST) {
rdfstore_kernel.c view on Meta::CPAN
#endif
return -1;
} else {
outsize = 0;
};
};
/*
NOTE: perhaps the code below should be substituted as in the above other single-bit tables with
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
outsize = rdfstore_bits_shorten(outsize, me->bits_decode);
*/
/*
* match stuff for literal words - we have one bit
* only for free-text then we use
* rdfstore_bits_getfirstsetafter()
*/
pos = 0;
if ((pos = rdfstore_bits_getfirstsetafter(outsize, me->bits_decode, pos)) < outsize * 8) /* matched once */
pos++; /* hop to the next record */
if ((pos < outsize * 8) &&
((pos = rdfstore_bits_getfirstsetafter(outsize, me->bits_decode, pos)) < outsize * 8)) { /* matched more the one
* record */
#ifdef RDFSTORE_DEBUG
fprintf(stderr,"object literal word '%s' matched TWICE at pos=%d\n", word, pos);
#endif
/* reset the right bit to zero */
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
if (outsize) {
err = rdfstore_flat_store_store_compressed(me->windex, me->func_encode,key, outsize, me->bits_decode,me->bits_encode);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for '%s' in windex for store '%s'\n", outsize, (char *)key.data, (me->name != NULL) ? me->name : "(in-memory)");
#endif
} else {
if (err != FLAT_STORE_E_KEYEXIST) {
RDFSTORE_FREE(utf8_casefolded_buff);
perror("rdfstore_remove");
rdfstore_kernel.c view on Meta::CPAN
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
};
/*
NOTE: perhaps the code below should be substituted as in the above other single-bit tables with
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
outsize = rdfstore_bits_shorten(outsize, me->bits_decode);
*/
/*
* match stuff for literal words - we have one bit
* only for free-text then we use
* rdfstore_bits_getfirstsetafter()
*/
pos = 0;
if ((pos = rdfstore_bits_getfirstsetafter(outsize, me->bits_decode, pos)) < outsize * 8) /* matched once */
pos++; /* hop to the next record */
if ((pos < outsize * 8) &&
((pos = rdfstore_bits_getfirstsetafter(outsize, me->bits_decode, pos)) < outsize * 8)) { /* matched more the one
* record */
#ifdef RDFSTORE_DEBUG
fprintf(stderr,"object literal stem '%s' matched TWICE at pos=%d\n", word, pos);
#endif
/* reset the right bit to zero */
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
if (outsize) {
err = rdfstore_flat_store_store_compressed(me->windex, me->func_encode,
key, outsize, me->bits_decode, me->bits_encode);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for stemming '%s' in windex for store '%s'\n", outsize, (char *)key.data, (me->name != NULL) ? me->name : "(in-memory)");
#endif
} else {
if (err != FLAT_STORE_E_KEYEXIST) {
RDFSTORE_FREE(utf8_casefolded_buff);
rdfstore_kernel.c view on Meta::CPAN
#if defined(RDFSTORE_CONNECTIONS) && defined(RDFSTORE_CONNECTIONS_REINDEXING)
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
};
/* reset the right bit to zero */
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
outsize = rdfstore_bits_shorten(outsize, me->bits_decode);
if (outsize) {
err = rdfstore_flat_store_store_compressed(me->languages, me->func_encode,
key, outsize, me->bits_decode, me->bits_encode);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for language '%s' in languages for store '%s'\n", outsize, (char *)key.data, (me->name != NULL) ? me->name : "(in-memory)");
#endif
} else {
rdfstore_kernel.c view on Meta::CPAN
#if defined(RDFSTORE_CONNECTIONS) && defined(RDFSTORE_CONNECTIONS_REINDEXING)
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
};
/* reset the right bit to zero */
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
outsize = rdfstore_bits_shorten(outsize, me->bits_decode);
if (outsize) {
err = rdfstore_flat_store_store_compressed(me->datatypes, me->func_encode,
key, outsize, me->bits_decode, me->bits_encode);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for datatype '%s' in datatypes for store '%s'\n", outsize, (char *)key.data, (me->name != NULL) ? me->name : "(in-memory)");
#endif
} else {
rdfstore_kernel.c view on Meta::CPAN
#if defined(RDFSTORE_CONNECTIONS) && defined(RDFSTORE_CONNECTIONS_REINDEXING)
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
};
/* reset the right bit to zero */
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
outsize = rdfstore_bits_shorten(outsize, me->bits_decode);
if (outsize) {
err = rdfstore_flat_store_store_compressed(me->xsd_date, me->func_encode,
key, outsize, me->bits_decode, me->bits_encode);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for date '%s' in date table for store '%s'\n", outsize, thedateval, (me->name != NULL) ? me->name : "(in-memory)");
#endif
} else {
rdfstore_kernel.c view on Meta::CPAN
#if defined(RDFSTORE_CONNECTIONS) && defined(RDFSTORE_CONNECTIONS_REINDEXING)
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
};
/* reset the right bit to zero */
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
outsize = rdfstore_bits_shorten(outsize, me->bits_decode);
if (outsize) {
err = rdfstore_flat_store_store_compressed(me->xsd_integer, me->func_encode,
key, outsize, me->bits_decode, me->bits_encode);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for integer '%ld' in integer table for store '%s'\n", outsize, (long)thelval, (me->name != NULL) ? me->name : "(in-memory)");
#endif
} else {
rdfstore_kernel.c view on Meta::CPAN
#if defined(RDFSTORE_CONNECTIONS) && defined(RDFSTORE_CONNECTIONS_REINDEXING)
rdfstore_iterator_close(reindex);
#endif
return -1;
} else {
outsize = 0;
};
};
/* reset the right bit to zero */
rdfstore_bits_setmask(&outsize, me->bits_decode, st_id, 1, 0, sizeof(me->bits_decode));
outsize = rdfstore_bits_shorten(outsize, me->bits_decode);
if (outsize) {
err = rdfstore_flat_store_store_compressed(me->xsd_double, me->func_encode,
key, outsize, me->bits_decode, me->bits_encode);
if (err == 0) {
#ifdef RDFSTORE_DEBUG_COMPRESSION
fprintf(stderr,"Stored %d bytes for double '%f' in double table for store '%s'\n", outsize, thedval, (me->name != NULL) ? me->name : "(in-memory)");
#endif
} else {
rdfstore_kernel.c view on Meta::CPAN
cursor->ids_size = 0;
if (rdfstore_flat_store_first(me->statements, &key) == 0) {
do {
retval = 0;
if (rdfstore_flat_store_fetch(me->statements, key, &data) == 0) {
unpackInt(data.data, &st_id);
RDFSTORE_FREE(data.data);
/*
* not sure rdfstore_bits_setmask() actually
* sets ids_size right.....
*/
rdfstore_bits_setmask(&cursor->ids_size, cursor->ids, st_id, 1, 1, sizeof(cursor->ids));
cursor->size++;
} else {
RDFSTORE_FREE(key.data);
RDFSTORE_FREE(cursor);
perror("rdfstore_elements");
fprintf(stderr,"Could not fetch key '%s' in statements for store '%s': %s\n", (char *)key.data, (me->name != NULL) ? me->name : "(in-memory)", rdfstore_flat_store_get_error(me->statements));
return NULL;
};
/* set the right bit */