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

📄 gdk_scanselect.h

📁 这个是内存数据库中的一个管理工具
💻 H
📖 第 1 页 / 共 5 页
字号:
#ifndef _GDK_SCANSELECT_H#define _GDK_SCANSELECT_H#include "gdk.h"#ifdef NOEXPAND_CHR#ifndef NOEXPAND_BIT#define NOEXPAND_BIT 1#endif#ifndef NOEXPAND_BTE#define NOEXPAND_BTE 1#endif#endif#ifdef NOEXPAND_INT#ifndef NOEXPAND_FLT#define NOEXPAND_FLT 1#endif#ifndef NOEXPAND_BAT#define NOEXPAND_BAT 1#endif#if SIZEOF_OID == SIZEOF_INT && !defined(NOEXPAND_OID)#define NOEXPAND_OID 1#endif#if SIZEOF_WRD == SIZEOF_INT && !defined(NOEXPAND_WRD)#define NOEXPAND_WRD 1#endif#if SIZEOF_PTR == SIZEOF_INT && !defined(NOEXPAND_PTR)#define NOEXPAND_PTR 1#endif#endif#ifdef NOEXPAND_LNG#ifndef NOEXPAND_DBL#define NOEXPAND_DBL 1#endif#if SIZEOF_OID == SIZEOF_LNG && !defined(NOEXPAND_OID)#define NOEXPAND_OID 1#endif#if SIZEOF_WRD == SIZEOF_LNG && !defined(NOEXPAND_WRD)#define NOEXPAND_WRD 1#endif#if SIZEOF_PTR == SIZEOF_LNG && !defined(NOEXPAND_PTR)#define NOEXPAND_PTR 1#endif#endif#if defined(NOEXPAND_CHR) || defined(SKIP_TYPE_EXPANSIONS)#define ATOM_PUT_CHR(tpe,hp,dst,src)		\	if (tpe == TYPE_chr) {			\		*(chr*) dst = *(chr*) src;	\	} else#else#define ATOM_PUT_CHR(tpe,hp,dst,src)#endif#if defined(NOEXPAND_BTE) || defined(SKIP_TYPE_EXPANSIONS)#define ATOM_PUT_BTE(tpe,hp,dst,src)		\	if (tpe == TYPE_bte) {			\		*(bte*) dst = *(bte*) src;	\	} else#else#define ATOM_PUT_BTE(tpe,hp,dst,src)#endif#if defined(NOEXPAND_SHT) || defined(SKIP_TYPE_EXPANSIONS)#define ATOM_PUT_SHT(tpe,hp,dst,src)		\	if (tpe == TYPE_sht) {			\		*(sht*) dst = *(sht*) src;	\	} else#else#define ATOM_PUT_SHT(tpe,hp,dst,src)#endif#if defined(NOEXPAND_INT) || defined(SKIP_TYPE_EXPANSIONS)#define ATOM_PUT_INT(tpe,hp,dst,src)		\	if (tpe == TYPE_int) {			\		*(int*) dst = *(int*) src;	\	} else#else#define ATOM_PUT_INT(tpe,hp,dst,src)#endif#if defined(NOEXPAND_LNG) || defined(SKIP_TYPE_EXPANSIONS)#define ATOM_PUT_LNG(tpe,hp,dst,src)		\	if (tpe == TYPE_lng) {			\		*(lng*) dst = *(lng*) src;	\	} else#else#define ATOM_PUT_LNG(tpe,hp,dst,src)#endif#define ATOM_PUT(tpe,hp,dst,src)					\	ATOM_PUT_CHR(tpe,hp,dst,src)					\	ATOM_PUT_SHT(tpe,hp,dst,src)					\	ATOM_PUT_INT(tpe,hp,dst,src)					\	ATOM_PUT_LNG(tpe,hp,dst,src)					\	if (tpe == TYPE_bat) {						\		BBPincref(*(bat*) src, TRUE);				\		*(bat*) dst = *(bat*) src;				\	} else if (tpe == TYPE_str) {					\		if (strPut(hp, (var_t*) dst, (str) src) == 0) {		\				goto bunins_failed;			\		}							\	} else {							\		if (BATatoms[tpe].atomPut) {				\			if ((*BATatoms[tpe].atomPut)(hp, (var_t*) dst, (str) src) == 0) { \				goto bunins_failed;			\			}						\		} else {						\			memcpy(dst, src, (size_t) ATOMsize(tpe));	\		}							\		ATOMfix(tpe, src);					\	}#define SIMPLE_PUT(tpe,hp,dst,src) { *(tpe*) (ptr) (dst) = *(tpe*) (ptr) (src); }#define VOID_PUT(tpe,hp,dst,src)   {}	#define voidvoid_bunfastins_nocheck_noinc(b, p, h, t)		\	do {							\		VOID_PUT(void, (b)->hheap, BUNhloc(b, p), h);	\		VOID_PUT(void, (b)->theap, BUNtloc(b, p), t);	\	} while (0)#define voidvoid_bunfastins_nocheck(b, p, h, t, s)			\	do {							\		(b)->batBuns->free += s;			\		(b)->batCount ++;				\		voidvoid_bunfastins_nocheck_noinc(b, p, h, t);	\	} while (0)#define voidvoid_bunfastins(b, h, t)					\	do {								\		REGISTER BUN _p = BUNlast(b);				\		REGISTER int _bunsize = BUNsize(b);			\		if ((b)->batBuns->free + _bunsize > (b)->batBuns->size) { \			if (BATextend((b), BATgrows(b)) == NULL) {	\				goto bunins_failed;			\			}						\			_p = BUNlast(b);				\		}							\		voidvoid_bunfastins_nocheck(b, _p, h, t, _bunsize);		\	} while (0)	#define voidchr_bunfastins_nocheck_noinc(b, p, h, t)		\	do {							\		VOID_PUT(void, (b)->hheap, BUNhloc(b, p), h);	\		SIMPLE_PUT(chr, (b)->theap, BUNtloc(b, p), t);	\	} while (0)#define voidchr_bunfastins_nocheck(b, p, h, t, s)			\	do {							\		(b)->batBuns->free += s;			\		(b)->batCount ++;				\		voidchr_bunfastins_nocheck_noinc(b, p, h, t);	\	} while (0)#define voidchr_bunfastins(b, h, t)					\	do {								\		REGISTER BUN _p = BUNlast(b);				\		REGISTER int _bunsize = BUNsize(b);			\		if ((b)->batBuns->free + _bunsize > (b)->batBuns->size) { \			if (BATextend((b), BATgrows(b)) == NULL) {	\				goto bunins_failed;			\			}						\			_p = BUNlast(b);				\		}							\		voidchr_bunfastins_nocheck(b, _p, h, t, _bunsize);		\	} while (0)	#define voidbte_bunfastins_nocheck_noinc(b, p, h, t)		\	do {							\		VOID_PUT(void, (b)->hheap, BUNhloc(b, p), h);	\		SIMPLE_PUT(bte, (b)->theap, BUNtloc(b, p), t);	\	} while (0)#define voidbte_bunfastins_nocheck(b, p, h, t, s)			\	do {							\		(b)->batBuns->free += s;			\		(b)->batCount ++;				\		voidbte_bunfastins_nocheck_noinc(b, p, h, t);	\	} while (0)#define voidbte_bunfastins(b, h, t)					\	do {								\		REGISTER BUN _p = BUNlast(b);				\		REGISTER int _bunsize = BUNsize(b);			\		if ((b)->batBuns->free + _bunsize > (b)->batBuns->size) { \			if (BATextend((b), BATgrows(b)) == NULL) {	\				goto bunins_failed;			\			}						\			_p = BUNlast(b);				\		}							\		voidbte_bunfastins_nocheck(b, _p, h, t, _bunsize);		\	} while (0)	#define voidsht_bunfastins_nocheck_noinc(b, p, h, t)		\	do {							\		VOID_PUT(void, (b)->hheap, BUNhloc(b, p), h);	\		SIMPLE_PUT(sht, (b)->theap, BUNtloc(b, p), t);	\	} while (0)#define voidsht_bunfastins_nocheck(b, p, h, t, s)			\	do {							\		(b)->batBuns->free += s;			\		(b)->batCount ++;				\		voidsht_bunfastins_nocheck_noinc(b, p, h, t);	\	} while (0)#define voidsht_bunfastins(b, h, t)					\	do {								\		REGISTER BUN _p = BUNlast(b);				\		REGISTER int _bunsize = BUNsize(b);			\		if ((b)->batBuns->free + _bunsize > (b)->batBuns->size) { \			if (BATextend((b), BATgrows(b)) == NULL) {	\				goto bunins_failed;			\			}						\			_p = BUNlast(b);				\		}							\		voidsht_bunfastins_nocheck(b, _p, h, t, _bunsize);		\	} while (0)	#define voidint_bunfastins_nocheck_noinc(b, p, h, t)		\	do {							\		VOID_PUT(void, (b)->hheap, BUNhloc(b, p), h);	\		SIMPLE_PUT(int, (b)->theap, BUNtloc(b, p), t);	\	} while (0)#define voidint_bunfastins_nocheck(b, p, h, t, s)			\	do {							\		(b)->batBuns->free += s;			\		(b)->batCount ++;				\		voidint_bunfastins_nocheck_noinc(b, p, h, t);	\	} while (0)#define voidint_bunfastins(b, h, t)					\	do {								\		REGISTER BUN _p = BUNlast(b);				\		REGISTER int _bunsize = BUNsize(b);			\		if ((b)->batBuns->free + _bunsize > (b)->batBuns->size) { \			if (BATextend((b), BATgrows(b)) == NULL) {	\				goto bunins_failed;			\			}						\			_p = BUNlast(b);				\		}							\		voidint_bunfastins_nocheck(b, _p, h, t, _bunsize);		\	} while (0)	#define voidlng_bunfastins_nocheck_noinc(b, p, h, t)		\	do {							\		VOID_PUT(void, (b)->hheap, BUNhloc(b, p), h);	\		SIMPLE_PUT(lng, (b)->theap, BUNtloc(b, p), t);	\	} while (0)#define voidlng_bunfastins_nocheck(b, p, h, t, s)			\	do {							\		(b)->batBuns->free += s;			\		(b)->batCount ++;				\		voidlng_bunfastins_nocheck_noinc(b, p, h, t);	\	} while (0)#define voidlng_bunfastins(b, h, t)					\	do {								\		REGISTER BUN _p = BUNlast(b);				\		REGISTER int _bunsize = BUNsize(b);			\		if ((b)->batBuns->free + _bunsize > (b)->batBuns->size) { \			if (BATextend((b), BATgrows(b)) == NULL) {	\				goto bunins_failed;			\			}						\			_p = BUNlast(b);				\		}							\		voidlng_bunfastins_nocheck(b, _p, h, t, _bunsize);		\	} while (0)	#define voidany_bunfastins_nocheck_noinc(b, p, h, t)		\	do {							\		VOID_PUT(void, (b)->hheap, BUNhloc(b, p), h);	\		ATOM_PUT((b)->ttype, (b)->theap, BUNtloc(b, p), t);	\	} while (0)#define voidany_bunfastins_nocheck(b, p, h, t, s)			\	do {							\		(b)->batBuns->free += s;			\		(b)->batCount ++;				\		voidany_bunfastins_nocheck_noinc(b, p, h, t);	\	} while (0)#define voidany_bunfastins(b, h, t)					\	do {								\		REGISTER BUN _p = BUNlast(b);				\		REGISTER int _bunsize = BUNsize(b);			\		if ((b)->batBuns->free + _bunsize > (b)->batBuns->size) { \			if (BATextend((b), BATgrows(b)) == NULL) {	\				goto bunins_failed;			\			}						\			_p = BUNlast(b);				\		}							\		voidany_bunfastins_nocheck(b, _p, h, t, _bunsize);		\	} while (0)	#define chrvoid_bunfastins_nocheck_noinc(b, p, h, t)		\	do {							\		SIMPLE_PUT(chr, (b)->hheap, BUNhloc(b, p), h);	\		VOID_PUT(void, (b)->theap, BUNtloc(b, p), t);	\	} while (0)#define chrvoid_bunfastins_nocheck(b, p, h, t, s)			\	do {							\		(b)->batBuns->free += s;			\		(b)->batCount ++;				\		chrvoid_bunfastins_nocheck_noinc(b, p, h, t);	\	} while (0)#define chrvoid_bunfastins(b, h, t)					\	do {								\		REGISTER BUN _p = BUNlast(b);				\		REGISTER int _bunsize = BUNsize(b);			\		if ((b)->batBuns->free + _bunsize > (b)->batBuns->size) { \			if (BATextend((b), BATgrows(b)) == NULL) {	\				goto bunins_failed;			\			}						\			_p = BUNlast(b);				\		}							\		chrvoid_bunfastins_nocheck(b, _p, h, t, _bunsize);		\	} while (0)	#define chrchr_bunfastins_nocheck_noinc(b, p, h, t)		\	do {							\		SIMPLE_PUT(chr, (b)->hheap, BUNhloc(b, p), h);	\		SIMPLE_PUT(chr, (b)->theap, BUNtloc(b, p), t);	\	} while (0)#define chrchr_bunfastins_nocheck(b, p, h, t, s)			\	do {							\		(b)->batBuns->free += s;			\		(b)->batCount ++;				\		chrchr_bunfastins_nocheck_noinc(b, p, h, t);	\	} while (0)#define chrchr_bunfastins(b, h, t)					\	do {								\		REGISTER BUN _p = BUNlast(b);				\		REGISTER int _bunsize = BUNsize(b);			\		if ((b)->batBuns->free + _bunsize > (b)->batBuns->size) { \			if (BATextend((b), BATgrows(b)) == NULL) {	\				goto bunins_failed;			\			}						\			_p = BUNlast(b);				\		}							\		chrchr_bunfastins_nocheck(b, _p, h, t, _bunsize);		\	} while (0)	#define chrbte_bunfastins_nocheck_noinc(b, p, h, t)		\	do {							\		SIMPLE_PUT(chr, (b)->hheap, BUNhloc(b, p), h);	\		SIMPLE_PUT(bte, (b)->theap, BUNtloc(b, p), t);	\	} while (0)#define chrbte_bunfastins_nocheck(b, p, h, t, s)			\	do {							\		(b)->batBuns->free += s;			\		(b)->batCount ++;				\		chrbte_bunfastins_nocheck_noinc(b, p, h, t);	\	} while (0)#define chrbte_bunfastins(b, h, t)					\	do {								\		REGISTER BUN _p = BUNlast(b);				\		REGISTER int _bunsize = BUNsize(b);			\		if ((b)->batBuns->free + _bunsize > (b)->batBuns->size) { \			if (BATextend((b), BATgrows(b)) == NULL) {	\				goto bunins_failed;			\			}						\			_p = BUNlast(b);				\

⌨️ 快捷键说明

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