xugu_define.go 3.8 KB

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