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

📄 ecpgtype.h

📁 PostgreSQL 8.1.4的源码 适用于Linux下的开源数据库系统
💻 H
字号:
/* * This file implements a data structure that is built and maintained by the * preprocessor. * * All types that can be handled for host variable declarations has to * be handled eventually. *//* * Here are all the types that we are to handle. Note that it is the type * that is registered and that has nothing whatsoever to do with the storage * class. * * Simple types * integers: char, short, int, long (signed and unsigned) * floats: float, double * * Complex types: * VARCHAR, VARCHAR2 - Strings with length (maxlen is given in the declaration) * Arrays of simple types and of VARCHAR, VARCHAR2 (size given in declaration) * Records build of simple types, arrays and other structs. * * Complicating things: * typedefs and struct names! * * Conclusion: * This is a typically recursive definition. A structure of typed list elements * would probably work fine: */#ifndef _ECPGTYPE_H#define _ECPGTYPE_H#ifdef __cplusplusextern		"C"{#endifenum ECPGttype{	ECPGt_char = 1, ECPGt_unsigned_char, ECPGt_short, ECPGt_unsigned_short,	ECPGt_int, ECPGt_unsigned_int, ECPGt_long, ECPGt_unsigned_long,	ECPGt_long_long, ECPGt_unsigned_long_long,	ECPGt_bool,	ECPGt_float, ECPGt_double,	ECPGt_varchar, ECPGt_varchar2,	ECPGt_numeric,				/* this is a decimal that stores its digits in								 * a malloced array */	ECPGt_decimal,				/* this is a decimal that stores its digits in								 * a fixed array */	ECPGt_date,	ECPGt_timestamp,	ECPGt_interval,	ECPGt_array,	ECPGt_struct,	ECPGt_union,	ECPGt_descriptor,			/* sql descriptor, no C variable */	ECPGt_char_variable,	ECPGt_const,				/* a constant is needed sometimes */	ECPGt_EOIT,					/* End of insert types. */	ECPGt_EORT,					/* End of result types. */	ECPGt_NO_INDICATOR			/* no indicator */}; /* descriptor items */enum ECPGdtype{	ECPGd_count = 1,	ECPGd_data,	ECPGd_di_code,	ECPGd_di_precision,	ECPGd_indicator,	ECPGd_key_member,	ECPGd_length,	ECPGd_name,	ECPGd_nullable,	ECPGd_octet,	ECPGd_precision,	ECPGd_ret_length,	ECPGd_ret_octet,	ECPGd_scale,	ECPGd_type,	ECPGd_EODT,					/* End of descriptor types. */	ECPGd_cardinality};#define IS_SIMPLE_TYPE(type) ((type) >= ECPGt_char && (type) <= ECPGt_interval)#ifdef __cplusplus}#endif#endif   /* _ECPGTYPE_H */

⌨️ 快捷键说明

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