data0type.c
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:2k
- /******************************************************
- Data types
- (c) 1996 Innobase Oy
- Created 1/16/1996 Heikki Tuuri
- *******************************************************/
- #include "data0type.h"
- #ifdef UNIV_NONINL
- #include "data0type.ic"
- #endif
- dtype_t dtype_binary_val = {DATA_BINARY, 0, 0, 0};
- dtype_t* dtype_binary = &dtype_binary_val;
- /*************************************************************************
- Validates a data type structure. */
- ibool
- dtype_validate(
- /*===========*/
- /* out: TRUE if ok */
- dtype_t* type) /* in: type struct to validate */
- {
- ut_a(type);
- ut_a((type->mtype >= DATA_VARCHAR) && (type->mtype <= DATA_SYS));
-
- if (type->mtype == DATA_SYS) {
- ut_a(type->prtype >= DATA_ROW_ID);
- ut_a(type->prtype <= DATA_MIX_ID);
- }
- return(TRUE);
- }
- /*************************************************************************
- Prints a data type structure. */
- void
- dtype_print(
- /*========*/
- dtype_t* type) /* in: type */
- {
- ulint mtype;
- ulint prtype;
- ut_a(type);
- printf("DATA TYPE: ");
-
- mtype = type->mtype;
- prtype = type->prtype;
- if (mtype == DATA_VARCHAR) {
- printf("DATA_VARCHAR");
- } else if (mtype == DATA_CHAR) {
- printf("DATA_CHAR");
- } else if (mtype == DATA_BINARY) {
- printf("DATA_BINARY");
- } else if (mtype == DATA_INT) {
- printf("DATA_INT");
- } else if (mtype == DATA_MYSQL) {
- printf("DATA_MYSQL");
- } else if (mtype == DATA_SYS) {
- printf("DATA_SYS");
- } else {
- printf("unknown type %lu", mtype);
- }
-
- if ((type->mtype == DATA_SYS)
- || (type->mtype == DATA_VARCHAR)
- || (type->mtype == DATA_CHAR)) {
- printf(" ");
- if (prtype == DATA_ROW_ID) {
- printf("DATA_ROW_ID");
- } else if (prtype == DATA_ROLL_PTR) {
- printf("DATA_ROLL_PTR");
- } else if (prtype == DATA_MIX_ID) {
- printf("DATA_MIX_ID");
- } else if (prtype == DATA_ENGLISH) {
- printf("DATA_ENGLISH");
- } else if (prtype == DATA_FINNISH) {
- printf("DATA_FINNISH");
- } else {
- printf("unknown prtype %lu", mtype);
- }
- }
- printf("; len %lu prec %lun", type->len, type->prec);
- }