Tuple *kp = (Tuple*) key;
int i = 0;
unsigned long value = 5381;
- for ( ; i < def->arity; i++ ) {
+ for ( ; i < def->columns->size; i++ ) {
if ( columns[i] ) {
value <<= 3;
if ( kp->elements[i] ) {
Tuple *kp = (Tuple*) key;
Tuple *tp = (Tuple*) item;
int i = 0;
- for ( ; i < def->arity; i++ ) {
+ for ( ; i < def->columns->size; i++ ) {
if ( columns[i] && kp->elements[i] ) {
if ( columns[i]->haskey(
columns[i], tp->elements[i], kp->elements[i] ) == 0 ) {
TupleSchema *def = (TupleSchema *) this;
ItemKeyFun **columns = (ItemKeyFun**) def->columns->elements;
Tuple *tp = (Tuple*) item;
- Tuple *key = Tuple_clone( def->arity, tp );
+ Tuple *key = Tuple_clone( tp );
int i;
- for ( i = 0; i < def->arity; i++ ) {
+ for ( i = 0; i < def->columns->size; i++ ) {
if ( columns[i] ) {
key->elements[i] = columns[i]->itemkey(
columns[i], tp->elements[i] );
ItemKeyFun **columns = (ItemKeyFun**) def->columns->elements;
Tuple *kp = (Tuple*) key;
int i;
- for ( i = 0; i < def->arity; i++ ) {
+ for ( i = 0; i < def->columns->size; i++ ) {
if ( columns[i] ) {
columns[i]->releasekey( columns[i], kp->elements[i] );
}
Tuple *t = (Tuple*) item;
char *x = "<";
int a, i;
- for ( i = 0; i < def->arity; i++ ) {
+ for ( i = 0; i < def->columns->size; i++ ) {
OUT( snprintf( buffer, limit, x ) );
x = ",";
OUT( columns[i]->tostring(
.tostring = TupleSchema_tostring
};
-TupleSchema *TupleSchema_create(int arity,Tuple *columns) {
+TupleSchema *TupleSchema_create(Tuple *columns) {
TupleSchema *ts = (TupleSchema*) malloc( sizeof( TupleSchema ) );
(*ts) = (TupleSchema) {
.base = TupleSchema_callbacks,
- .arity = arity,
.columns = columns
};
return ts;
// Duplicate a TupleSchema with optionally some columns reset.
TupleSchema *TupleSchema_mask(TupleSchema *schema,...) {
TupleSchema *masked = COPY(TupleSchema,schema);
- masked->columns = Tuple_clone( schema->arity, schema->columns );
+ masked->columns = Tuple_clone( schema->columns );
va_list ap;
int i;
va_start( ap, schema );
for ( ;; ) {
i = va_arg( ap, int );
- if ( i < 0 || i >= schema->arity ) {
+ if ( i < 0 || i >= schema->columns->size ) {
break;
}
masked->columns->elements[i] = 0;