pgtypes.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:3k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /* File:            pgtypes.h
  2.  *
  3.  * Description:     See "pgtypes.c"
  4.  *
  5.  * Comments:        See "notice.txt" for copyright and license information.
  6.  *
  7.  */
  8. #ifndef __PGTYPES_H__
  9. #define __PGTYPES_H__
  10. #include "psqlodbc.h"
  11. /* the type numbers are defined by the OID's of the types' rows */
  12. /* in table pg_type */
  13. // #define PG_TYPE_LO ????  /* waiting for permanent type */
  14. #define PG_TYPE_BOOL         16
  15. #define PG_TYPE_BYTEA        17
  16. #define PG_TYPE_CHAR         18
  17. #define PG_TYPE_NAME         19
  18. #define PG_TYPE_CHAR16       20
  19. #define PG_TYPE_INT2         21
  20. #define PG_TYPE_INT28        22
  21. #define PG_TYPE_INT4         23
  22. #define PG_TYPE_REGPROC      24
  23. #define PG_TYPE_TEXT         25
  24. #define PG_TYPE_OID          26
  25. #define PG_TYPE_TID          27
  26. #define PG_TYPE_XID          28
  27. #define PG_TYPE_CID          29
  28. #define PG_TYPE_OID8         30
  29. #define PG_TYPE_SET          32
  30. #define PG_TYPE_CHAR2       409
  31. #define PG_TYPE_CHAR4       410
  32. #define PG_TYPE_CHAR8       411
  33. #define PG_TYPE_POINT       600
  34. #define PG_TYPE_LSEG        601
  35. #define PG_TYPE_PATH        602
  36. #define PG_TYPE_BOX         603
  37. #define PG_TYPE_POLYGON     604
  38. #define PG_TYPE_FILENAME    605
  39. #define PG_TYPE_FLOAT4      700
  40. #define PG_TYPE_FLOAT8      701
  41. #define PG_TYPE_ABSTIME     702
  42. #define PG_TYPE_RELTIME     703
  43. #define PG_TYPE_TINTERVAL   704
  44. #define PG_TYPE_UNKNOWN     705
  45. #define PG_TYPE_MONEY 790
  46. #define PG_TYPE_OIDINT2     810
  47. #define PG_TYPE_OIDINT4     910
  48. #define PG_TYPE_OIDNAME     911
  49. #define PG_TYPE_BPCHAR     1042
  50. #define PG_TYPE_VARCHAR    1043
  51. #define PG_TYPE_DATE       1082
  52. #define PG_TYPE_TIME       1083
  53. #define PG_TYPE_DATETIME   1184
  54. #define PG_TYPE_TIMESTAMP  1296
  55. /* extern Int4 pgtypes_defined[]; */
  56. extern Int2 sqlTypes[];
  57. /* Defines for pgtype_precision */
  58. #define PG_STATIC -1
  59. Int4 sqltype_to_pgtype(Int2 fSqlType);
  60. Int2 pgtype_to_sqltype(StatementClass *stmt, Int4 type);
  61. Int2 pgtype_to_ctype(StatementClass *stmt, Int4 type);
  62. char *pgtype_to_name(StatementClass *stmt, Int4 type);
  63. /* These functions can use static numbers or result sets(col parameter) */
  64. Int4 pgtype_precision(StatementClass *stmt, Int4 type, int col, int handle_unknown_size_as);
  65. Int4 pgtype_display_size(StatementClass *stmt, Int4 type, int col, int handle_unknown_size_as);
  66. Int4 pgtype_length(StatementClass *stmt, Int4 type, int col, int handle_unknown_size_as);
  67. Int2 pgtype_scale(StatementClass *stmt, Int4 type);
  68. Int2 pgtype_radix(StatementClass *stmt, Int4 type);
  69. Int2 pgtype_nullable(StatementClass *stmt, Int4 type);
  70. Int2 pgtype_auto_increment(StatementClass *stmt, Int4 type);
  71. Int2 pgtype_case_sensitive(StatementClass *stmt, Int4 type);
  72. Int2 pgtype_money(StatementClass *stmt, Int4 type);
  73. Int2 pgtype_searchable(StatementClass *stmt, Int4 type);
  74. Int2 pgtype_unsigned(StatementClass *stmt, Int4 type);
  75. char *pgtype_literal_prefix(StatementClass *stmt, Int4 type);
  76. char *pgtype_literal_suffix(StatementClass *stmt, Int4 type);
  77. char *pgtype_create_params(StatementClass *stmt, Int4 type);
  78. Int2 sqltype_to_default_ctype(Int2 sqltype);
  79. #endif