mysql4types.inc 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. {
  2. Contains the types needed for use with MySQL v4.0
  3. }
  4. type
  5. Pmy_bool = ^my_bool;
  6. my_bool = char;
  7. Pgptr = ^gptr;
  8. gptr = char;
  9. Pmy_socket = ^my_socket;
  10. my_socket = longint;
  11. var
  12. mysql_port : dword;cvar;external;
  13. mysql_unix_port : Pchar;cvar;external;
  14. type
  15. Pst_mysql_field = ^st_mysql_field;
  16. st_mysql_field = record
  17. name : Pchar;
  18. table : Pchar;
  19. org_table : Pchar;
  20. db : Pchar;
  21. def : Pchar;
  22. length : dword;
  23. max_length : dword;
  24. flags : dword;
  25. decimals : dword;
  26. ftype : enum_field_types;
  27. end;
  28. MYSQL_FIELD = st_mysql_field;
  29. TMYSQL_FIELD = MYSQL_FIELD;
  30. PMYSQL_FIELD = ^MYSQL_FIELD;
  31. type
  32. MYSQL_ROW = ppchar;
  33. PMYSQL_ROW = ^MYSQL_ROW;
  34. TMYSQL_ROW = MYSQL_ROW;
  35. PMYSQL_FIELD_OFFSET = ^MYSQL_FIELD_OFFSET;
  36. MYSQL_FIELD_OFFSET = dword;
  37. Pmy_ulonglong = ^my_ulonglong;
  38. my_ulonglong = qword;
  39. type
  40. Pst_mysql_rows = ^st_mysql_rows;
  41. st_mysql_rows = record
  42. next : Pst_mysql_rows;
  43. data : MYSQL_ROW;
  44. end;
  45. MYSQL_ROWS = st_mysql_rows;
  46. TMYSQL_ROWS = MYSQL_ROWS;
  47. PMYSQL_ROWS = ^MYSQL_ROWS;
  48. MYSQL_ROW_OFFSET = MYSQL_ROWS;
  49. PMYSQL_ROW_OFFSET = ^MYSQL_ROW_OFFSET;
  50. Pst_used_mem = ^st_used_mem;
  51. st_used_mem = record
  52. next : Pst_used_mem;
  53. left : dword;
  54. size : dword;
  55. end;
  56. USED_MEM = st_used_mem;
  57. TUSED_MEM = USED_MEM;
  58. PUSED_MEM = ^USED_MEM;
  59. Pst_mem_root = ^st_mem_root;
  60. st_mem_root = record
  61. free : PUSED_MEM;
  62. used : PUSED_MEM;
  63. pre_alloc : PUSED_MEM;
  64. min_malloc : dword;
  65. block_size : dword;
  66. block_num : dword;
  67. first_block_usage : dword;
  68. error_handler : procedure ;cdecl;
  69. end;
  70. MEM_ROOT = st_mem_root;
  71. TMEM_ROOT = MEM_ROOT;
  72. PMEM_ROOT = ^MEM_ROOT;
  73. Pst_mysql_data = ^st_mysql_data;
  74. st_mysql_data = record
  75. rows : my_ulonglong;
  76. fields : dword;
  77. data : PMYSQL_ROWS;
  78. alloc : MEM_ROOT;
  79. end;
  80. MYSQL_DATA = st_mysql_data;
  81. TMYSQL_DATA = MYSQL_DATA;
  82. PMYSQL_DATA = ^MYSQL_DATA;
  83. Pst_mysql_options = ^st_mysql_options;
  84. st_mysql_options = record
  85. connect_timeout : dword;
  86. client_flag : dword;
  87. port : dword;
  88. host : Pchar;
  89. init_command : Pchar;
  90. user : Pchar;
  91. password : Pchar;
  92. unix_socket : Pchar;
  93. db : Pchar;
  94. my_cnf_file : Pchar;
  95. my_cnf_group : Pchar;
  96. charset_dir : Pchar;
  97. charset_name : Pchar;
  98. ssl_key : Pchar;
  99. ssl_cert : Pchar;
  100. ssl_ca : Pchar;
  101. ssl_capath : Pchar;
  102. ssl_cipher : Pchar;
  103. max_allowed_packet : Cardinal;
  104. use_ssl : my_bool;
  105. compress : my_bool;
  106. named_pipe : my_bool;
  107. rpl_probe : my_bool;
  108. rpl_parse : my_bool;
  109. no_master_reads : my_bool;
  110. end;
  111. TMYSQL_OPTIONS = st_mysql_options;
  112. PTMYSQL_OPTIONS = ^TMYSQL_OPTIONS;
  113. mysql_option = (MYSQL_OPT_CONNECT_TIMEOUT,MYSQL_OPT_COMPRESS,
  114. MYSQL_OPT_NAMED_PIPE,MYSQL_INIT_COMMAND,
  115. MYSQL_READ_DEFAULT_FILE,MYSQL_READ_DEFAULT_GROUP,
  116. MYSQL_SET_CHARSET_DIR,MYSQL_SET_CHARSET_NAME
  117. );
  118. mysql_status = (MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,
  119. MYSQL_STATUS_USE_RESULT);
  120. mysql_rpl_type = (MYSQL_RPL_MASTER,MYSQL_RPL_SLAVE,MYSQL_RPL_ADMIN );
  121. Pst_mysql = ^st_mysql;
  122. st_mysql = record
  123. net : NET;
  124. connector_fd : gptr;
  125. host : Pchar;
  126. user : Pchar;
  127. passwd : Pchar;
  128. unix_socket : Pchar;
  129. server_version : Pchar;
  130. host_info : Pchar;
  131. info : Pchar;
  132. db : Pchar;
  133. charset : Pointer; //!! Was Pcharset_info_st;
  134. fields : PMYSQL_FIELD;
  135. field_alloc : MEM_ROOT;
  136. affected_rows : my_ulonglong;
  137. insert_id : my_ulonglong;
  138. extra_info : my_ulonglong;
  139. thread_id : dword;
  140. packet_length : dword;
  141. port : dword;
  142. client_flag : dword;
  143. server_capabilities : dword;
  144. protocol_version : dword;
  145. field_count : dword;
  146. server_status : dword;
  147. server_language : dword;
  148. options : st_mysql_options;
  149. status : mysql_status;
  150. free_me : my_bool;
  151. reconnect : my_bool;
  152. scramble_buff : array[0..8] of char;
  153. rpl_pivot : my_bool;
  154. master : Pst_mysql;
  155. next_slave : Pst_mysql;
  156. last_used_slave : Pst_mysql;
  157. last_used_con : Pst_mysql;
  158. end;
  159. TMYSQL = st_mysql;
  160. PMYSQL = ^TMYSQL;
  161. Pst_mysql_res = ^st_mysql_res;
  162. st_mysql_res = record
  163. row_count : my_ulonglong;
  164. fields : PMYSQL_FIELD;
  165. data : PMYSQL_DATA;
  166. data_cursor : PMYSQL_ROWS;
  167. lengths : Pdword;
  168. handle : PMYSQL;
  169. field_alloc : MEM_ROOT;
  170. field_count : dword;
  171. current_field : dword;
  172. row : MYSQL_ROW;
  173. current_row : MYSQL_ROW;
  174. eof : my_bool;
  175. end;
  176. MYSQL_RES = st_mysql_res;
  177. TMYSQL_RES = MYSQL_RES;
  178. PMYSQL_RES = ^MYSQL_RES;
  179. const
  180. MAX_MYSQL_MANAGER_ERR = 256;
  181. MAX_MYSQL_MANAGER_MSG = 256;
  182. MANAGER_OK = 200;
  183. MANAGER_INFO = 250;
  184. MANAGER_ACCESS = 401;
  185. MANAGER_CLIENT_ERR = 450;
  186. MANAGER_INTERNAL_ERR = 500;
  187. type
  188. Pst_mysql_manager = ^st_mysql_manager;
  189. st_mysql_manager = record
  190. net : NET;
  191. host : Pchar;
  192. user : Pchar;
  193. passwd : Pchar;
  194. port : dword;
  195. free_me : my_bool;
  196. eof : my_bool;
  197. cmd_status : longint;
  198. last_errno : longint;
  199. net_buf : Pchar;
  200. net_buf_pos : Pchar;
  201. net_data_end : Pchar;
  202. net_buf_size : longint;
  203. last_error : array[0..(MAX_MYSQL_MANAGER_ERR)-1] of char;
  204. end;
  205. MYSQL_MANAGER = st_mysql_manager;
  206. PMYSQL_MANAGER = ^MYSQL_MANAGER;
  207. Type
  208. TExdendBuffer = function (_para1:pointer; _to:Pchar; length:Pdword):Pchar;