Changeset 1936 for trunk/tools/database/mysql
- Timestamp:
- Dec 2, 1999, 2:06:05 PM (26 years ago)
- Location:
- trunk/tools/database/mysql
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/database/mysql/mysql.h
r828 r1936 13 13 #include <sys/types.h> 14 14 typedef char my_bool; 15 #if !defined( __WIN32__) && !defined(WIN32)15 #if !defined(WIN32) 16 16 #define STDCALL 17 typedef char byte;18 17 #else 19 18 #define STDCALL __stdcall … … 37 36 #endif 38 37 39 #ifndef Socket_defined40 #ifdef __WIN32__41 #define Socket SOCKET42 #else 43 typedef int Socket;38 #ifndef my_socket_defined 39 #ifdef WIN32 40 #define my_socket SOCKET 41 #else 42 typedef int my_socket; 44 43 #endif 45 44 #endif … … 67 66 } MYSQL_FIELD; 68 67 69 typedef byte**MYSQL_ROW; /* return data as array of strings */68 typedef char **MYSQL_ROW; /* return data as array of strings */ 70 69 typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */ 70 71 #if defined(NO_CLIENT_LONG_LONG) 72 typedef unsigned long my_ulonglong; 73 #elif defined (WIN32) 74 typedef unsigned __int64 my_ulonglong; 75 #else 76 typedef unsigned long long my_ulonglong; 77 #endif 78 79 #define MYSQL_COUNT_ERROR (~(my_ulonglong) 0) 71 80 72 81 typedef struct st_mysql_rows { … … 78 87 79 88 typedef struct st_mysql_data { 80 unsigned introws;89 my_ulonglong rows; 81 90 unsigned int fields; 82 91 MYSQL_ROWS *data; 83 92 MEM_ROOT alloc; 84 93 } MYSQL_DATA; 94 95 struct st_mysql_options { 96 unsigned int connect_timeout,client_flag; 97 my_bool compress,named_pipe; 98 unsigned int port; 99 char *host,*init_command,*user,*password,*unix_socket,*db; 100 char *my_cnf_file,*my_cnf_group; 101 }; 102 103 enum mysql_option { MYSQL_OPT_CONNECT_TIMEOUT, MYSQL_OPT_COMPRESS, 104 MYSQL_OPT_NAMED_PIPE, MYSQL_INIT_COMMAND, 105 MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP }; 85 106 86 107 enum mysql_status { MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT, … … 95 116 unsigned int field_count; 96 117 unsigned long thread_id; /* Id for connection in server */ 97 unsigned long affected_rows; 98 unsigned long insert_id; /* id if insert on table with NEXTNR */ 99 unsigned long extra_info; /* Used by mysqlshow */ 118 my_ulonglong affected_rows; 119 my_ulonglong insert_id; /* id if insert on table with NEXTNR */ 120 my_ulonglong extra_info; /* Used by mysqlshow */ 121 unsigned long packet_length; 100 122 enum mysql_status status; 101 123 MYSQL_FIELD *fields; … … 103 125 my_bool free_me; /* If free in mysql_close */ 104 126 my_bool reconnect; /* set to 1 if automatic reconnect */ 127 struct st_mysql_options options; 105 128 } MYSQL; 106 129 107 130 108 131 typedef struct st_mysql_res { 109 unsignedlong row_count;132 my_ulonglong row_count; 110 133 unsigned int field_count, current_field; 111 134 MYSQL_FIELD *fields; … … 115 138 MYSQL_ROW row; /* If unbuffered read */ 116 139 MYSQL_ROW current_row; /* buffer to current row */ 117 unsigned int*lengths; /* column lengths of current row */140 unsigned long *lengths; /* column lengths of current row */ 118 141 MYSQL *handle; /* for unbuffered reads */ 119 142 my_bool eof; /* Used my mysql_fetch_row */ … … 124 147 #define mysql_num_fields(res) (res)->field_count 125 148 #define mysql_eof(res) (res)->eof 126 #define mysql_fetch_field_direct(res,fieldnr) ( (res)->fields[fieldnr])149 #define mysql_fetch_field_direct(res,fieldnr) (&(res)->fields[fieldnr]) 127 150 #define mysql_fetch_fields(res) (res)->fields 128 151 #define mysql_row_tell(res) (res)->data_cursor 129 152 #define mysql_field_tell(res) (res)->current_field 130 153 154 #define mysql_field_count(mysql) (mysql)->field_count 131 155 #define mysql_affected_rows(mysql) (mysql)->affected_rows 132 156 #define mysql_insert_id(mysql) (mysql)->insert_id … … 137 161 #define mysql_thread_id(mysql) (mysql)->thread_id 138 162 139 /* void STDCALL mysql_init(MYSQL *mysql); */ 163 MYSQL * STDCALL mysql_init(MYSQL *mysql); 140 164 MYSQL * STDCALL mysql_connect(MYSQL *mysql, const char *host, 141 165 const char *user, const char *passwd); … … 168 192 unsigned int refresh_options); 169 193 int STDCALL mysql_kill(MYSQL *mysql,unsigned long pid); 194 int STDCALL mysql_ping(MYSQL *mysql); 170 195 char * STDCALL mysql_stat(MYSQL *mysql); 171 196 char * STDCALL mysql_get_server_info(MYSQL *mysql); … … 180 205 MYSQL_RES * STDCALL mysql_store_result(MYSQL *mysql); 181 206 MYSQL_RES * STDCALL mysql_use_result(MYSQL *mysql); 207 int STDCALL mysql_options(MYSQL *mysql,enum mysql_option option, 208 const char *arg); 182 209 void STDCALL mysql_free_result(MYSQL_RES *result); 183 void STDCALL mysql_data_seek(MYSQL_RES * mysql,unsigned int offset);184 MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES * mysql, MYSQL_ROW_OFFSET);185 MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES * mysql,210 void STDCALL mysql_data_seek(MYSQL_RES *result,unsigned int offset); 211 MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET); 212 MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES *result, 186 213 MYSQL_FIELD_OFFSET offset); 187 MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES * mysql);188 unsigned int * STDCALL mysql_fetch_lengths(MYSQL_RES *mysql);189 MYSQL_FIELD * STDCALL mysql_fetch_field(MYSQL_RES * handle);214 MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result); 215 unsigned long * STDCALL mysql_fetch_lengths(MYSQL_RES *result); 216 MYSQL_FIELD * STDCALL mysql_fetch_field(MYSQL_RES *result); 190 217 unsigned int STDCALL mysql_escape_string(char *to,const char *from, 191 218 unsigned int from_length); 192 void STDCALL mysql_debug(c har *debug);219 void STDCALL mysql_debug(const char *debug); 193 220 194 221 /* new api functions */ -
trunk/tools/database/mysql/mysql_com.h
r828 r1936 13 13 14 14 #define NAME_LEN 64 /* Field/table name length */ 15 #define HOSTNAME_LENGTH 60 16 #define USERNAME_LENGTH 16 17 15 18 #define LOCAL_HOST "localhost" 19 #define LOCAL_HOST_NAMEDPIPE "." 16 20 17 21 #define MYSQL_PORT 3306 /* Alloced by ISI for MySQL */ 18 #define MYSQL_UNIX_ADDR "\\socket\\mysql.sock" 22 #define MYSQL_UNIX_ADDR "/tmp/mysql.sock" 23 #if defined(__EMX__) || defined(__OS2__) 24 #undef MYSQL_UNIX_ADDR 25 #define MYSQL_OS2_ADDR "\\socket\\MySQL" 26 #define MYSQL_UNIX_ADDR MYSQL_OS2_ADDR 27 #endif 28 #ifdef WIN32 29 #define MYSQL_NAMEDPIPE "MySQL" 30 #define MYSQL_SERVICENAME "MySql" 31 #endif 19 32 20 33 enum enum_server_command {COM_SLEEP,COM_QUIT,COM_INIT_DB,COM_QUERY, … … 22 35 COM_SHUTDOWN,COM_STATISTICS, 23 36 COM_PROCESS_INFO,COM_CONNECT,COM_PROCESS_KILL, 24 COM_DEBUG };37 COM_DEBUG,COM_PING,COM_TIME,COM_DELAYED_INSERT}; 25 38 26 39 #define NOT_NULL_FLAG 1 /* Field can't be NULL */ … … 36 49 #define AUTO_INCREMENT_FLAG 512 /* field is a autoincrement field */ 37 50 #define TIMESTAMP_FLAG 1024 /* Field is a timestamp */ 51 #define SET_FLAG 2048 /* field is a set */ 38 52 #define PART_KEY_FLAG 16384 /* Intern; Part of some key */ 39 #define GROUP_FLAG 32768 /* Intern group field */ 53 #define GROUP_FLAG 32768 /* Intern: Group field */ 54 #define UNIQUE_FLAG 65536 /* Intern: Used by sql_yacc */ 40 55 41 56 #define REFRESH_GRANT 1 /* Refresh grant tables */ … … 43 58 #define REFRESH_TABLES 4 /* close all tables */ 44 59 #define REFRESH_HOSTS 8 /* Flush host cache */ 60 #define REFRESH_STATUS 16 /* Flush status variables */ 45 61 #define REFRESH_FAST 32768 /* Intern flag */ 46 62 … … 50 66 #define CLIENT_CONNECT_WITH_DB 8 /* One can specify db on connect */ 51 67 #define CLIENT_NO_SCHEMA 16 /* Don't allow database.table.column */ 52 53 #define MYSQL_ERRMSG_SIZE 200 54 #define NET_READ_TIMEOUT 30 /* Timeout on read */ 55 #define NET_WRITE_TIMEOUT 60 /* Timeout on write */ 56 #define NET_WAIT_TIMEOUT 8*60*60 /* Wait for new query */ 68 #define CLIENT_COMPRESS 32 /* Can use compression protcol */ 69 #define CLIENT_ODBC 64 /* Odbc client */ 70 #define CLIENT_LOCAL_FILES 128 /* Can use LOAD DATA LOCAL */ 71 #define CLIENT_IGNORE_SPACE 256 /* Ignore spaces before '(' */ 72 73 #define MYSQL_ERRMSG_SIZE 200 74 #define NET_READ_TIMEOUT 30 /* Timeout on read */ 75 #define NET_WRITE_TIMEOUT 60 /* Timeout on write */ 76 #define NET_WAIT_TIMEOUT 8*60*60 /* Wait for new query */ 77 78 enum enum_net_type { NET_TYPE_TCPIP, NET_TYPE_SOCKET, NET_TYPE_NAMEDPIPE }; 57 79 58 80 typedef struct st_net { 59 Socket fd; 81 enum enum_net_type nettype; 82 #ifdef WIN32 83 HANDLE hPipe; 84 #endif 85 my_socket fd; 60 86 int fcntl; 61 unsigned char *buff,*buff_end,*write_pos ;87 unsigned char *buff,*buff_end,*write_pos,*read_pos; 62 88 char last_error[MYSQL_ERRMSG_SIZE]; 63 89 unsigned int last_errno,max_packet,timeout,pkt_nr; 64 my_bool error,return_errno; 90 my_bool error,return_errno,compress; 91 92 unsigned long remain_in_buf,length, buf_length, where_b; 93 my_bool more; 94 char save_char; 65 95 } NET; 66 96 … … 92 122 93 123 #define net_new_transaction(net) ((net)->pkt_nr=0) 94 int my_net_init(NET *net,Socket fd); 124 125 int my_net_init(NET *net, enum enum_net_type nettype, my_socket fd, 126 void *); 95 127 void net_end(NET *net); 96 128 void net_clear(NET *net); 97 129 int net_flush(NET *net); 98 int my_net_write(NET *net,const byte *packet,unsigned intlen);99 int net_write_command(NET *net,unsigned char command,const byte*packet,100 unsigned intlen);101 int net_real_write(NET *net,const byte *packet,unsigned intlen);130 int my_net_write(NET *net,const char *packet,unsigned long len); 131 int net_write_command(NET *net,unsigned char command,const char *packet, 132 unsigned long len); 133 int net_real_write(NET *net,const char *packet,unsigned long len); 102 134 unsigned int my_net_read(NET *net); 103 135 104 136 struct rand_struct { 105 unsigned long seed ,seed2,max_value;137 unsigned long seed1,seed2,max_value; 106 138 double max_value_dbl; 107 139 }; … … 117 149 char **args; /* Pointer to argument */ 118 150 unsigned long *lengths; /* Length of string arguments */ 151 char *maybe_null; /* Set to 1 for all maybe_null args */ 119 152 } UDF_ARGS; 120 153 … … 127 160 unsigned int max_length; /* For string functions */ 128 161 char *ptr; /* free pointer for function data */ 162 my_bool const_item; /* 0 if result is independent of arguments */ 129 163 } UDF_INIT; 130 164 165 /* Constants when using compression */ 166 #define NET_HEADER_SIZE 4 /* standard header size */ 167 #define COMP_HEADER_SIZE 3 /* compression header extra size */ 168 131 169 /* Prototypes to password functions */ 132 170 133 void randominit(struct rand_struct * rand,unsigned long seed1,171 void randominit(struct rand_struct *,unsigned long seed1, 134 172 unsigned long seed2); 135 double rnd(struct rand_struct * rand);173 double rnd(struct rand_struct *); 136 174 void make_scrambled_password(char *to,const char *password); 137 175 void get_salt_from_password(unsigned long *res,const char *password); 138 176 char *scramble(char *to,const char *message,const char *password, 139 177 my_bool old_ver); 140 my_bool check_scramble(const char * scramble,const char *message,178 my_bool check_scramble(const char *, const char *message, 141 179 unsigned long *salt,my_bool old_ver); 142 180 char *get_tty_password(char *opt_message); 181 void hash_password(unsigned long *result, const char *password); 182 183 /* Some other useful functions */ 184 185 void my_init(void); 186 void load_defaults(const char *conf_file, const char **groups, 187 int *argc, char ***argv); 143 188 144 189 #define NULL_LENGTH ((unsigned long) ~0) /* For net_store_length */ 145 190 146 #ifdef __WIN32__191 #ifdef WIN32 147 192 #define socket_errno WSAGetLastError() 148 193 #else -
trunk/tools/database/mysql/mysql_version.h
r828 r1936 4 4 /* Version numbers for protocol & mysqld */ 5 5 6 #define MYSQL_SERVER_VERSION "3.2 1.33b"6 #define MYSQL_SERVER_VERSION "3.22.26a" 7 7 #define FRM_VER 6 8 #define MYSQL_VERSION_ID 32 1338 #define MYSQL_VERSION_ID 32226
Note:
See TracChangeset
for help on using the changeset viewer.