algebraextensions.c

来自「一个内存数据库的源代码这是服务器端还有客户端」· C语言 代码 · 共 54 行

C
54
字号
#line 40 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/algebraExtensions.mx"#include "mal_config.h"#include "mal_box.h"#include "mal_client.h"#include "mal_interpreter.h"#include "bat5.h"#include "algebra.h"#ifdef WIN32#ifndef LIBALGEBRAEXTENSIONS#define ae_export extern __declspec(dllimport)#else#define ae_export extern __declspec(dllexport)#endif#else#define ae_export extern#endifae_export str CMDBBPproject(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);ae_export str CMDBBPprojectNil(int *ret, int *bid);strCMDBBPproject(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	int *result, *bid, tt;	ptr *p;	BAT *b, *bn;	result = (int *) getArgReference(stk, pci, 0);	bid = (int *) getArgReference(stk, pci, 1);	p = (ptr *) getArgReference(stk, pci, 2);	tt = getArgType(mb, pci, 2);	if ((b = BATdescriptor(*bid)) == NULL) {		throw(MAL, "bbp.project", "Cannot access descriptor");	}	if (ATOMvarsized(tt)) {		if (p == 0 || *(str *) p == 0)			p = (ptr *) str_nil;		else			p = *(ptr **) p;	}	bn = BATconst(b, tt, p);	BBPunfix(b->batCacheid);	if (bn) {		*result = bn->batCacheid;		BBPkeepref(bn->batCacheid);		return MAL_SUCCEED;	}	throw(MAL, "bbp.project", "Cannot create the constant BAT");}

⌨️ 快捷键说明

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