xugu_define.go 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. package xugu
  2. // 定义 HANDLE_TYPE 枚举
  3. type HANDLE_TYPE int
  4. const (
  5. HT_UNKNOW HANDLE_TYPE = iota // 0 未知
  6. HT_CONN // 1 连接
  7. HT_PARAMS // 2 参数
  8. HT_ERR // 错误
  9. HT_RS // 结果
  10. HT_LOB // 大对象
  11. HT_SMART_RS // 智能结果集
  12. )
  13. const (
  14. XG_OK = iota
  15. )
  16. const (
  17. XG_ERROR = -1
  18. XG_NET_ERROR = -4
  19. XG_INVALID_ARG = -3
  20. XG_SOCKET_ERROR = -8
  21. XG_LOGIN_ERROR = -9
  22. )
  23. const (
  24. ERROR_BUFF_SIZE uint = 1024
  25. PREPARE_NAME_BUFF_SIZE uint = 128
  26. CURSOR_NAME_BUFF_SIZE uint = 128
  27. ROWID_BUFF_SIZE uint = 256
  28. COLUMN_NAME_BUFF_SIZE uint = 256
  29. FIELD_BUFF_SIZE uint = 4096
  30. LOB_BUFF_SIZE uint = 8
  31. RET_NO_DATA int = 100
  32. // SQL_UNKNOWN int = 0
  33. // SQL_SELECT int = 4
  34. // SQL_CREATE int = 5
  35. // SQL_PROCEDURE int = 10
  36. SQL_PARAM_INPUT int = 1
  37. SQL_PARAM_OUTPUT int = 2
  38. SQL_PARAM_INPUTOUTPUT int = 3
  39. SQL_PARAM_RETURNVALUE int = 6
  40. SQL_XG_C_CHAR int = 2
  41. SQL_XG_C_CLOB int = 41
  42. SQL_XG_C_BLOB int = 42
  43. SQL_XG_C_NULL int = -11
  44. BIND_PARAM_BY_NAME int = 2
  45. BIND_PARAM_BY_POS int = 1
  46. )
  47. // SQL类型常量
  48. const (
  49. SQL_UNKNOWN = iota
  50. SQL_SELECT
  51. SQL_INSERT
  52. SQL_UPDATE
  53. SQL_DELETE
  54. SQL_CREATE
  55. SQL_ALTER
  56. SQL_PROCEDURE
  57. SQL_OTHER
  58. )
  59. const (
  60. TYPE_EMPTY = 0
  61. TYPE_NULL = 1
  62. TYPE_BOOL = 2
  63. TYPE_I1 = 3
  64. TYPE_I2 = 4
  65. TYPE_I4 = 5
  66. TYPE_I8 = 6
  67. TYPE_NUM = 7
  68. TYPE_R4 = 8
  69. TYPE_R8 = 9
  70. TYPE_DATE = 10
  71. TYPE_TIME = 11
  72. TYPE_TIME_TZ = 12
  73. TYPE_DATETIME = 13
  74. TYPE_DATETIME_TZ = 14
  75. TYPE_INTERVAL_Y = 15
  76. TYPE_INTERVAL_Y2M = 16
  77. TYPE_INTERVAL_M = 17
  78. TYPE_INTERVAL_D = 18
  79. TYPE_INTERVAL_D2H = 19
  80. TYPE_INTERVAL_H = 20
  81. TYPE_INTERVAL_D2M = 21
  82. TYPE_INTERVAL_H2M = 22
  83. TYPE_INTERVAL_MI = 23
  84. TYPE_INTERVAL_D2S = 24
  85. TYPE_INTERVAL_H2S = 25
  86. TYPE_INTERVAL_M2S = 26
  87. TYPE_INTERVAL_S = 27
  88. TYPE_ROWVER = 28
  89. TYPE_GUID = 29
  90. TYPE_CHAR = 30
  91. TYPE_NCHAR = 31
  92. TYPE_CLOB = 32
  93. TYPE_BINARY = 33
  94. TYPE_BLOB = 34
  95. TYPE_GEOM = 35
  96. TYPE_POINT = 36
  97. TYPE_BOX = 37
  98. TYPE_POLYLINE = 38
  99. TYPE_POLYGON = 39
  100. TYPE_BLOB_I = 40
  101. TYPE_BLOB_S = 41
  102. TYPE_BLOB_M = 42
  103. TYPE_BLOB_OM = 43
  104. TYPE_STREAM = 44
  105. TYPE_ROWID = 45
  106. TYPE_SIBLING = 46
  107. TYPE_MAX_SYS = 47
  108. TYPE_BLADE_BEGIN = 101
  109. TYPE_BLADE_END = 1000
  110. TYPE_OBJECT = 1001
  111. TYPE_REFROW = 1002
  112. TYPE_RECORD = 1003
  113. TYPE_VARRAY = 1004
  114. TYPE_TABLE = 1005
  115. TYPE_ITABLE = 1006
  116. TYPE_CURSOR = 1007
  117. TYPE_REFCUR = 1008
  118. TYPE_ROWTYPE = 1009
  119. TYPE_COLTYPE = 1010
  120. TYPE_CUR_REC = 1011
  121. TYPE_PARAM = 1012
  122. )
  123. const (
  124. XG_C_NULL = 0
  125. XG_C_BOOL = 1
  126. XG_C_CHAR = 2
  127. XG_C_TINYINT = 3
  128. XG_C_SHORT = 4
  129. XG_C_INTEGER = 5
  130. XG_C_BIGINT = 6
  131. XG_C_FLOAT = 7
  132. XG_C_DOUBLE = 8
  133. XG_C_NUMERIC = 9
  134. XG_C_DATE = 10
  135. XG_C_TIME = 11
  136. XG_C_TIME_TZ = 12
  137. XG_C_DATETIME = 13
  138. XG_C_DATETIME_TZ = 14
  139. XG_C_BINARY = 15
  140. XG_C_INTERVAL = 21
  141. XG_C_INTERVAL_YEAR_TO_MONTH = 28
  142. XG_C_INTERVAL_DAY_TO_SECOND = 31
  143. XG_C_CLOB = 41
  144. XG_C_BLOB = 42
  145. )
  146. const XG_C_NCHAR = 162 /* only for c# wchar use */
  147. const XG_C_CHARN1 = 163
  148. const DATETIME_ASLONG = 123
  149. const XG_PARAM_NAME_ERR = -53
  150. const XG_BIND_PARAM_ERROR = -59