⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 batcast.c

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 C
📖 第 1 页 / 共 5 页
字号:
	h= (char*) BUNhead(b,BUNfirst(b));	p= (char*) BUNfirst(b);	q= (char*) BUNlast(b);	xx= BUNsize(b);	while(p<q){		sht *r = (sht*)BUNtail(b,p);		y= (*r == sht_nil) ? flt_nil: (flt)(*r);		bunfastins(bn, h, &y);		p+= xx; h+=xx;	}bunins_failed:	#line 133 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if (!(bn->batDirty&2)) bn = BATsetaccess(bn, BAT_READ);	*ret= bn->batCacheid;	BATkey(BATmirror(bn), FALSE);	bn->tsorted = 0;	BBPkeepref(*ret);	BBPreleaseref(b->batCacheid);	return MAL_SUCCEED;#line 187 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"}#line 287 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 144 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"batcast_export str CMDconvert_void_sht_flt(int *ret, int *bid);str CMDconvert_void_sht_flt(int *ret, int *bid){	BAT *b,*bn;	sht *p,*q;	flt *o;	size_t xx;	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if( ( b= BATdescriptor(*bid)) == NULL ){ ;		 throw(MAL,  "batcalc.flt", "cannot access descriptor");   }#line 151 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"    if (BAThvoid(b)) {        bn = BATnew(TYPE_void, TYPE_flt, BATcount(b));        BATseqbase(bn, b->hseqbase);    } else        bn = BATnew(b->htype, TYPE_flt, BATcount(b));	if( bn== NULL) {				throw(MAL, "batcalc.flt", "can not create bat");	}    bn->hsorted = b->hsorted;    bn->tsorted = b->tsorted;#line 152 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	o= (flt*)BUNtail(bn,BUNfirst(bn));	p= (sht*)BUNtail(b,BUNfirst(b));	q= (sht*)BUNtail(b,BUNlast(b));	xx= BUNsize(b);	while(p<q){		*o = *p== sht_nil ?  flt_nil: (flt) *p;		p= (sht *) ((char*)p+xx); o++;	}	(bn)->batBuns->free += BATcount(b)*sizeof(flt);	BATsetcount(bn, BATcount(b));	#line 133 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if (!(bn->batDirty&2)) bn = BATsetaccess(bn, BAT_READ);	*ret= bn->batCacheid;	BATkey(BATmirror(bn), FALSE);	bn->tsorted = 0;	BBPkeepref(*ret);	BBPreleaseref(b->batCacheid);	return MAL_SUCCEED;#line 163 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"}#line 288 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"#line 299 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 287 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 166 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"batcast_export str CMDconvert_sht_dbl(int *ret, int *bid);str CMDconvert_sht_dbl(int *ret, int *bid){	BAT *b,*bn;	size_t xx;	dbl y;	char *p, *q, *h;	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if( ( b= BATdescriptor(*bid)) == NULL ){ ;		 throw(MAL,  "batcalc.dbl", "cannot access descriptor");   }#line 173 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"    if (BAThvoid(b)) {        bn = BATnew(TYPE_void, TYPE_dbl, BATcount(b));        BATseqbase(bn, b->hseqbase);    } else        bn = BATnew(b->htype, TYPE_dbl, BATcount(b));	if( bn== NULL) {				throw(MAL, "batcalc.dbl", "can not create bat");	}    bn->hsorted = b->hsorted;    bn->tsorted = b->tsorted;#line 174 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	h= (char*) BUNhead(b,BUNfirst(b));	p= (char*) BUNfirst(b);	q= (char*) BUNlast(b);	xx= BUNsize(b);	while(p<q){		sht *r = (sht*)BUNtail(b,p);		y= (*r == sht_nil) ? dbl_nil: (dbl)(*r);		bunfastins(bn, h, &y);		p+= xx; h+=xx;	}bunins_failed:	#line 133 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if (!(bn->batDirty&2)) bn = BATsetaccess(bn, BAT_READ);	*ret= bn->batCacheid;	BATkey(BATmirror(bn), FALSE);	bn->tsorted = 0;	BBPkeepref(*ret);	BBPreleaseref(b->batCacheid);	return MAL_SUCCEED;#line 187 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"}#line 287 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 144 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"batcast_export str CMDconvert_void_sht_dbl(int *ret, int *bid);str CMDconvert_void_sht_dbl(int *ret, int *bid){	BAT *b,*bn;	sht *p,*q;	dbl *o;	size_t xx;	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if( ( b= BATdescriptor(*bid)) == NULL ){ ;		 throw(MAL,  "batcalc.dbl", "cannot access descriptor");   }#line 151 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"    if (BAThvoid(b)) {        bn = BATnew(TYPE_void, TYPE_dbl, BATcount(b));        BATseqbase(bn, b->hseqbase);    } else        bn = BATnew(b->htype, TYPE_dbl, BATcount(b));	if( bn== NULL) {				throw(MAL, "batcalc.dbl", "can not create bat");	}    bn->hsorted = b->hsorted;    bn->tsorted = b->tsorted;#line 152 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	o= (dbl*)BUNtail(bn,BUNfirst(bn));	p= (sht*)BUNtail(b,BUNfirst(b));	q= (sht*)BUNtail(b,BUNlast(b));	xx= BUNsize(b);	while(p<q){		*o = *p== sht_nil ?  dbl_nil: (dbl) *p;		p= (sht *) ((char*)p+xx); o++;	}	(bn)->batBuns->free += BATcount(b)*sizeof(dbl);	BATsetcount(bn, BATcount(b));	#line 133 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if (!(bn->batDirty&2)) bn = BATsetaccess(bn, BAT_READ);	*ret= bn->batCacheid;	BATkey(BATmirror(bn), FALSE);	bn->tsorted = 0;	BBPkeepref(*ret);	BBPreleaseref(b->batCacheid);	return MAL_SUCCEED;#line 163 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"}#line 288 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"#line 300 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 290 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 166 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"batcast_export str CMDconvert_int_sht(int *ret, int *bid);str CMDconvert_int_sht(int *ret, int *bid){	BAT *b,*bn;	size_t xx;	sht y;	char *p, *q, *h;	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if( ( b= BATdescriptor(*bid)) == NULL ){ ;		 throw(MAL,  "batcalc.sht", "cannot access descriptor");   }#line 173 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"    if (BAThvoid(b)) {        bn = BATnew(TYPE_void, TYPE_sht, BATcount(b));        BATseqbase(bn, b->hseqbase);    } else        bn = BATnew(b->htype, TYPE_sht, BATcount(b));	if( bn== NULL) {				throw(MAL, "batcalc.sht", "can not create bat");	}    bn->hsorted = b->hsorted;    bn->tsorted = b->tsorted;#line 174 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	h= (char*) BUNhead(b,BUNfirst(b));	p= (char*) BUNfirst(b);	q= (char*) BUNlast(b);	xx= BUNsize(b);	while(p<q){		int *r = (int*)BUNtail(b,p);		y= (*r == int_nil) ? sht_nil: (sht)(*r);		bunfastins(bn, h, &y);		p+= xx; h+=xx;	}bunins_failed:	#line 133 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if (!(bn->batDirty&2)) bn = BATsetaccess(bn, BAT_READ);	*ret= bn->batCacheid;	BATkey(BATmirror(bn), FALSE);	bn->tsorted = 0;	BBPkeepref(*ret);	BBPreleaseref(b->batCacheid);	return MAL_SUCCEED;#line 187 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"}#line 290 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 144 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"batcast_export str CMDconvert_void_int_sht(int *ret, int *bid);str CMDconvert_void_int_sht(int *ret, int *bid){	BAT *b,*bn;	int *p,*q;	sht *o;	size_t xx;	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if( ( b= BATdescriptor(*bid)) == NULL ){ ;		 throw(MAL,  "batcalc.sht", "cannot access descriptor");   }#line 151 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"    if (BAThvoid(b)) {        bn = BATnew(TYPE_void, TYPE_sht, BATcount(b));        BATseqbase(bn, b->hseqbase);    } else        bn = BATnew(b->htype, TYPE_sht, BATcount(b));	if( bn== NULL) {				throw(MAL, "batcalc.sht", "can not create bat");	}    bn->hsorted = b->hsorted;    bn->tsorted = b->tsorted;#line 152 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	o= (sht*)BUNtail(bn,BUNfirst(bn));	p= (int*)BUNtail(b,BUNfirst(b));	q= (int*)BUNtail(b,BUNlast(b));	xx= BUNsize(b);	while(p<q){		*o = *p== int_nil ?  sht_nil: (sht) *p;		p= (int *) ((char*)p+xx); o++;	}	(bn)->batBuns->free += BATcount(b)*sizeof(sht);	BATsetcount(bn, BATcount(b));	#line 133 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if (!(bn->batDirty&2)) bn = BATsetaccess(bn, BAT_READ);	*ret= bn->batCacheid;	BATkey(BATmirror(bn), FALSE);	bn->tsorted = 0;	BBPkeepref(*ret);	BBPreleaseref(b->batCacheid);	return MAL_SUCCEED;#line 163 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"}#line 291 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"#line 302 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 287 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 166 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"batcast_export str CMDconvert_int_oid(int *ret, int *bid);str CMDconvert_int_oid(int *ret, int *bid){	BAT *b,*bn;	size_t xx;	oid y;	char *p, *q, *h;	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if( ( b= BATdescriptor(*bid)) == NULL ){ ;		 throw(MAL,  "batcalc.oid", "cannot access descriptor");   }#line 173 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"    if (BAThvoid(b)) {        bn = BATnew(TYPE_void, TYPE_oid, BATcount(b));        BATseqbase(bn, b->hseqbase);    } else        bn = BATnew(b->htype, TYPE_oid, BATcount(b));	if( bn== NULL) {				throw(MAL, "batcalc.oid", "can not create bat");	}    bn->hsorted = b->hsorted;    bn->tsorted = b->tsorted;#line 174 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	h= (char*) BUNhead(b,BUNfirst(b));	p= (char*) BUNfirst(b);	q= (char*) BUNlast(b);	xx= BUNsize(b);	while(p<q){		int *r = (int*)BUNtail(b,p);		y= (*r == int_nil) ? oid_nil: (oid)(*r);		bunfastins(bn, h, &y);		p+= xx; h+=xx;	}bunins_failed:	#line 133 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if (!(bn->batDirty&2)) bn = BATsetaccess(bn, BAT_READ);	*ret= bn->batCacheid;	BATkey(BATmirror(bn), FALSE);	bn->tsorted = 0;	BBPkeepref(*ret);	BBPreleaseref(b->batCacheid);	return MAL_SUCCEED;#line 187 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"}#line 287 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	#line 144 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"batcast_export str CMDconvert_void_int_oid(int *ret, int *bid);str CMDconvert_void_int_oid(int *ret, int *bid){	BAT *b,*bn;	int *p,*q;	oid *o;	size_t xx;	#line 96 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/batcast.mx"	if( ( b= BATdescriptor(*bid)) == NULL ){ ;		 throw(MAL,  "batcalc.oid", "cannot access descriptor");   }#line 151 "/export/scratch0/monet/monet.GNU.64.64.d.1479

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -