Ejemplo n.º 1
0
sql_idx *
tr_find_idx( sql_trans *tr, sql_idx *i)
{
	sql_idx *ni = NULL;

	while ((!ni || !ni->data) && tr) {
		sql_table *t =  tr_find_table(tr, i->t);
		node *n = cs_find_id(&t->idxs, i->base.id);
		if (n)
			ni = n->data;
		tr = tr->parent;
	}
	return ni;
}
Ejemplo n.º 2
0
sql_column *
tr_find_column( sql_trans *tr, sql_column *c)
{
	sql_column *nc = NULL;

	while ((!nc || !nc->data) && tr) {
		sql_table *t =  tr_find_table(tr, c->t);
		node *n = cs_find_id(&t->columns, c->base.id);
		if (n)
			nc = n->data;
		tr = tr->parent;
	}
	return nc;
}
Ejemplo n.º 3
0
static BAT *
delta_cands(sql_trans *tr, sql_table *t)
{
	sql_dbat *d;
	BAT *tids;

	if (!t->data) {
		sql_table *ot = tr_find_table(tr->parent, t);
		t->data = timestamp_dbat(ot->data, tr->stime);
	}
	d = t->data;
	if (!store_initialized && d->cached) 
		return temp_descriptor(d->cached->batCacheid);
	tids = _delta_cands(tr, t);
	if (!store_initialized && !d->cached) /* only cache during catalog loading */
		d->cached = temp_descriptor(tids->batCacheid);
	return tids;
}