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

📄 language.c

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 C
字号:
#line 147 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#include "mal_config.h"#include "language.h"strCMDraise(str *ret, str *msg){	*ret = GDKstrdup(*msg);	return GDKstrdup(*msg);}strMALassertBit(int *ret, bit *val, str *msg){	(void) ret;	if( *val == 0 || *val == bit_nil)		throw(MAL, "mal.assert",*msg);	return MAL_SUCCEED;}strMALassertInt(int *ret, int *val, str *msg){	(void) ret;	if( *val == 0 || *val == int_nil)		throw(MAL, "mal.assert",*msg);	return MAL_SUCCEED;}strMALassertLng(int *ret, lng *val, str *msg){	(void) ret;	if( *val == 0 || *val == lng_nil)		throw(MAL, "mal.assert",*msg);	return MAL_SUCCEED;}strMALassertSht(int *ret, sht *val, str *msg){	(void) ret;	if( *val == 0 || *val == sht_nil)		throw(MAL, "mal.assert",*msg);	return MAL_SUCCEED;}strMALassertOid(int *ret, oid *val, str *msg){	(void) ret;	if( *val == oid_nil)		throw(MAL, "mal.assert",*msg);	return MAL_SUCCEED;}strMALassertStr(int *ret, str *val, str *msg){	(void) ret;	if( *val == str_nil)		throw(MAL, "mal.assert",*msg);	return MAL_SUCCEED;}strMALassertTriple(MalBlkPtr mb, MalStkPtr stk, InstrPtr p){	(void) mb;	(void) stk;	(void) p;	throw(MAL, "mal.assert","Command not yet available");}#line 221 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"strCMDcallString(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	str *s;	(void) mb;		/* fool compiler */	s = (str *) getArgReference(stk, pci, 1);	if (strlen(*s) == 0)		return MAL_SUCCEED;	callString(MCgetClient(), *s, FALSE);	return MAL_SUCCEED;}strMALstartDataflow( MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	int *ret;	str msg= MAL_SUCCEED;	ret= (int*) getArgReference(stk,pci,0);	if( pci == NULL || stk == NULL){		*ret = 1; /* ignore dataflow request */		return MAL_SUCCEED;	}	msg= runMALdataflow(MCgetClient(), mb, getPC(mb,pci), pci->jump, stk,0,0);	if( msg == MAL_SUCCEED)		*ret = 0;	return MAL_SUCCEED;}str CMDregisterFunction(int *ret, str *m, str *f, str *code, str *help){	Client c;	Symbol sym= NULL;	MalBlkPtr mb;/*	InstrPtr sig;*/	str msg;	(void) m; (void) f;	c= MCgetClient();	msg= compileString(&sym, c,*code);	if( sym) {		stream_printf(GDKout,"REGISTER FUNCTIOn %s.%s\n",			getModuleId(sym->def->stmt[0]), getFunctionId(sym->def->stmt[0]));		mb= sym->def;		if( help)			mb->help= GDKstrdup(*help);		printFunction(c->fdout, mb,0);/*		sig= getSignature(sym);		renameFunction( getModuleId(sig), getFunctionId(sig), 			putName(*m, strlen(*m)), putName(*f,strlen(*f)));*/	}	*ret = 0;	return msg;}strCMDevalFile(int *ret, str *fnme){	str s = *fnme;	Client c = MCgetClient();	char buffer[1024];	(void) ret;		/* fool compiler */	if (s == 0) {		throw(MAL, "mal.setCwd", "File name missing\n");	}	if (strlen(s) + strlen(c->cwd) + 2 >= 1024) {		throw(MAL, "mal.setCwd", "Evaluation buffer too small\n");	}	buffer[0] = 0;	if (*s != '/') {		strcpy(buffer, c->cwd);		strcat(buffer, "/");	}	strcat(buffer, s);	return evalFile(c, buffer, 0);}#line 308 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"strCMDcallBAT(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	(void) mb;	(void) stk;	(void) pci;		/* fool compiler */	throw(MAL, "mal.call", "Not yet implemented");}strCMDincludeFile(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	(void) mb;	(void) stk;	(void) pci;		/* fool compiler */	throw(MAL, "mal.include", "Not yet implemented");}strCMDdebug(int *ret, int *flg){	*ret = GDKdebug;	if (*flg)		GDKdebug = *flg;	return MAL_SUCCEED;}strCMDsetCwd(str *ret, str *fnme){	Client c = MCgetClient();	*ret = c->cwd;	c->cwd = GDKstrdup(*fnme);	return MAL_SUCCEED;}#line 380 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_oid(bit *res, oid *i, oid *first);str RNGnewRange_oid(bit *res, oid *i, oid *first){	*res = TRUE;	*i= *first;	return MAL_SUCCEED;}#line 381 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_lng(bit *res, lng *i, lng *first);str RNGnewRange_lng(bit *res, lng *i, lng *first){	*res = TRUE;	*i= *first;	return MAL_SUCCEED;}#line 382 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_int(bit *res, int *i, int *first);str RNGnewRange_int(bit *res, int *i, int *first){	*res = TRUE;	*i= *first;	return MAL_SUCCEED;}#line 383 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_sht(bit *res, sht *i, sht *first);str RNGnewRange_sht(bit *res, sht *i, sht *first){	*res = TRUE;	*i= *first;	return MAL_SUCCEED;}#line 384 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_flt(bit *res, flt *i, flt *first);str RNGnewRange_flt(bit *res, flt *i, flt *first){	*res = TRUE;	*i= *first;	return MAL_SUCCEED;}#line 385 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_dbl(bit *res, dbl *i, dbl *first);str RNGnewRange_dbl(bit *res, dbl *i, dbl *first){	*res = TRUE;	*i= *first;	return MAL_SUCCEED;}#line 386 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_oid(bit *res, oid *i, oid *step, oid *last);str RNGnextElement_oid(bit *res, oid *i, oid *step, oid *last){	oid v = *i;	v = v + *step;	*i = v;	*res = v < *last;	return MAL_SUCCEED;}#line 388 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_lng(bit *res, lng *i, lng *step, lng *last);str RNGnextElement_lng(bit *res, lng *i, lng *step, lng *last){	lng v = *i;	v = v + *step;	*i = v;	*res = v < *last;	return MAL_SUCCEED;}#line 389 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_int(bit *res, int *i, int *step, int *last);str RNGnextElement_int(bit *res, int *i, int *step, int *last){	int v = *i;	v = v + *step;	*i = v;	*res = v < *last;	return MAL_SUCCEED;}#line 390 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_sht(bit *res, sht *i, sht *step, sht *last);str RNGnextElement_sht(bit *res, sht *i, sht *step, sht *last){	sht v = *i;	v = v + *step;	*i = v;	*res = v < *last;	return MAL_SUCCEED;}#line 391 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_flt(bit *res, flt *i, flt *step, flt *last);str RNGnextElement_flt(bit *res, flt *i, flt *step, flt *last){	flt v = *i;	v = v + *step;	*i = v;	*res = v < *last;	return MAL_SUCCEED;}#line 392 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_dbl(bit *res, dbl *i, dbl *step, dbl *last);str RNGnextElement_dbl(bit *res, dbl *i, dbl *step, dbl *last){	dbl v = *i;	v = v + *step;	*i = v;	*res = v < *last;	return MAL_SUCCEED;}#line 393 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"

⌨️ 快捷键说明

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