Ignore:
Timestamp:
Dec 2, 1999, 2:06:05 PM (26 years ago)
Author:
bird
Message:

New version of MySql, v3.22.26a.

Location:
trunk/tools/database/mysql
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/database/mysql/mysql.h

    r828 r1936  
    1313#include <sys/types.h>
    1414typedef char my_bool;
    15 #if !defined(__WIN32__) && !defined(WIN32)
     15#if !defined(WIN32)
    1616#define STDCALL
    17 typedef char byte;
    1817#else
    1918#define STDCALL __stdcall
     
    3736#endif
    3837
    39 #ifndef Socket_defined
    40 #ifdef __WIN32__
    41 #define Socket SOCKET
    42 #else
    43 typedef int Socket;
     38#ifndef my_socket_defined
     39#ifdef WIN32
     40#define my_socket SOCKET
     41#else
     42typedef int my_socket;
    4443#endif
    4544#endif
     
    6766} MYSQL_FIELD;
    6867
    69 typedef byte **MYSQL_ROW;               /* return data as array of strings */
     68typedef char **MYSQL_ROW;               /* return data as array of strings */
    7069typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
     70
     71#if defined(NO_CLIENT_LONG_LONG)
     72typedef unsigned long my_ulonglong;
     73#elif defined (WIN32)
     74typedef unsigned __int64 my_ulonglong;
     75#else
     76typedef unsigned long long my_ulonglong;
     77#endif
     78
     79#define MYSQL_COUNT_ERROR (~(my_ulonglong) 0)
    7180
    7281typedef struct st_mysql_rows {
     
    7887
    7988typedef struct st_mysql_data {
    80   unsigned int rows;
     89  my_ulonglong rows;
    8190  unsigned int fields;
    8291  MYSQL_ROWS *data;
    8392  MEM_ROOT alloc;
    8493} MYSQL_DATA;
     94
     95struct 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
     103enum 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 };
    85106
    86107enum mysql_status { MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,
     
    95116  unsigned int  field_count;
    96117  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;
    100122  enum mysql_status status;
    101123  MYSQL_FIELD   *fields;
     
    103125  my_bool       free_me;                /* If free in mysql_close */
    104126  my_bool       reconnect;              /* set to 1 if automatic reconnect */
     127  struct st_mysql_options options;
    105128} MYSQL;
    106129
    107130
    108131typedef struct st_mysql_res {
    109   unsigned long row_count;
     132  my_ulonglong row_count;
    110133  unsigned int  field_count, current_field;
    111134  MYSQL_FIELD   *fields;
     
    115138  MYSQL_ROW     row;                    /* If unbuffered read */
    116139  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 */
    118141  MYSQL         *handle;                /* for unbuffered reads */
    119142  my_bool       eof;                    /* Used my mysql_fetch_row */
     
    124147#define mysql_num_fields(res) (res)->field_count
    125148#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])
    127150#define mysql_fetch_fields(res) (res)->fields
    128151#define mysql_row_tell(res) (res)->data_cursor
    129152#define mysql_field_tell(res) (res)->current_field
    130153
     154#define mysql_field_count(mysql) (mysql)->field_count
    131155#define mysql_affected_rows(mysql) (mysql)->affected_rows
    132156#define mysql_insert_id(mysql) (mysql)->insert_id
     
    137161#define mysql_thread_id(mysql) (mysql)->thread_id
    138162
    139   /* void               STDCALL mysql_init(MYSQL *mysql); */
     163MYSQL *         STDCALL mysql_init(MYSQL *mysql);
    140164MYSQL *         STDCALL mysql_connect(MYSQL *mysql, const char *host,
    141165                                      const char *user, const char *passwd);
     
    168192                                     unsigned int refresh_options);
    169193int             STDCALL mysql_kill(MYSQL *mysql,unsigned long pid);
     194int             STDCALL mysql_ping(MYSQL *mysql);
    170195char *          STDCALL mysql_stat(MYSQL *mysql);
    171196char *          STDCALL mysql_get_server_info(MYSQL *mysql);
     
    180205MYSQL_RES *     STDCALL mysql_store_result(MYSQL *mysql);
    181206MYSQL_RES *     STDCALL mysql_use_result(MYSQL *mysql);
     207int             STDCALL mysql_options(MYSQL *mysql,enum mysql_option option,
     208                                      const char *arg);
    182209void            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,
     210void            STDCALL mysql_data_seek(MYSQL_RES *result,unsigned int offset);
     211MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET);
     212MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES *result,
    186213                                           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);
     214MYSQL_ROW       STDCALL mysql_fetch_row(MYSQL_RES *result);
     215unsigned long * STDCALL mysql_fetch_lengths(MYSQL_RES *result);
     216MYSQL_FIELD *   STDCALL mysql_fetch_field(MYSQL_RES *result);
    190217unsigned int    STDCALL mysql_escape_string(char *to,const char *from,
    191218                                            unsigned int from_length);
    192 void            STDCALL mysql_debug(char *debug);
     219void            STDCALL mysql_debug(const char *debug);
    193220
    194221/* new api functions */
  • trunk/tools/database/mysql/mysql_com.h

    r828 r1936  
    1313
    1414#define NAME_LEN        64              /* Field/table name length */
     15#define HOSTNAME_LENGTH 60
     16#define USERNAME_LENGTH 16
     17
    1518#define LOCAL_HOST      "localhost"
     19#define LOCAL_HOST_NAMEDPIPE "."
    1620
    1721#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
    1932
    2033enum enum_server_command {COM_SLEEP,COM_QUIT,COM_INIT_DB,COM_QUERY,
     
    2235                          COM_SHUTDOWN,COM_STATISTICS,
    2336                          COM_PROCESS_INFO,COM_CONNECT,COM_PROCESS_KILL,
    24                           COM_DEBUG};
     37                          COM_DEBUG,COM_PING,COM_TIME,COM_DELAYED_INSERT};
    2538
    2639#define NOT_NULL_FLAG   1               /* Field can't be NULL */
     
    3649#define AUTO_INCREMENT_FLAG 512         /* field is a autoincrement field */
    3750#define TIMESTAMP_FLAG  1024            /* Field is a timestamp */
     51#define SET_FLAG        2048            /* field is a set */
    3852#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 */
    4055
    4156#define REFRESH_GRANT           1       /* Refresh grant tables */
     
    4358#define REFRESH_TABLES          4       /* close all tables */
    4459#define REFRESH_HOSTS           8       /* Flush host cache */
     60#define REFRESH_STATUS          16      /* Flush status variables */
    4561#define REFRESH_FAST            32768   /* Intern flag */
    4662
     
    5066#define CLIENT_CONNECT_WITH_DB  8       /* One can specify db on connect */
    5167#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
     78enum enum_net_type { NET_TYPE_TCPIP, NET_TYPE_SOCKET, NET_TYPE_NAMEDPIPE };
    5779
    5880typedef struct st_net {
    59   Socket fd;
     81  enum enum_net_type nettype;
     82#ifdef WIN32
     83  HANDLE hPipe;
     84#endif
     85  my_socket fd;
    6086  int fcntl;
    61   unsigned char *buff,*buff_end,*write_pos;
     87  unsigned char *buff,*buff_end,*write_pos,*read_pos;
    6288  char last_error[MYSQL_ERRMSG_SIZE];
    6389  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;
    6595} NET;
    6696
     
    92122
    93123#define net_new_transaction(net) ((net)->pkt_nr=0)
    94 int     my_net_init(NET *net,Socket fd);
     124
     125int     my_net_init(NET *net,  enum enum_net_type nettype, my_socket fd,
     126                    void *);
    95127void    net_end(NET *net);
    96128void    net_clear(NET *net);
    97129int     net_flush(NET *net);
    98 int     my_net_write(NET *net,const byte *packet,unsigned int len);
    99 int     net_write_command(NET *net,unsigned char command,const byte *packet,
    100                           unsigned int len);
    101 int     net_real_write(NET *net,const byte *packet,unsigned int len);
     130int     my_net_write(NET *net,const char *packet,unsigned long len);
     131int     net_write_command(NET *net,unsigned char command,const char *packet,
     132                          unsigned long len);
     133int     net_real_write(NET *net,const char *packet,unsigned long len);
    102134unsigned int    my_net_read(NET *net);
    103135
    104136struct rand_struct {
    105   unsigned long seed,seed2,max_value;
     137  unsigned long seed1,seed2,max_value;
    106138  double max_value_dbl;
    107139};
     
    117149  char **args;                          /* Pointer to argument */
    118150  unsigned long *lengths;               /* Length of string arguments */
     151  char *maybe_null;                     /* Set to 1 for all maybe_null args */
    119152} UDF_ARGS;
    120153
     
    127160  unsigned int max_length;              /* For string functions */
    128161  char    *ptr;                         /* free pointer for function data */
     162  my_bool const_item;                   /* 0 if result is independent of arguments */
    129163} UDF_INIT;
    130164
     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
    131169  /* Prototypes to password functions */
    132170
    133 void randominit(struct rand_struct *rand,unsigned long seed1,
     171void randominit(struct rand_struct *,unsigned long seed1,
    134172                unsigned long seed2);
    135 double rnd(struct rand_struct *rand);
     173double rnd(struct rand_struct *);
    136174void make_scrambled_password(char *to,const char *password);
    137175void get_salt_from_password(unsigned long *res,const char *password);
    138176char *scramble(char *to,const char *message,const char *password,
    139177               my_bool old_ver);
    140 my_bool check_scramble(const char *scramble,const char *message,
     178my_bool check_scramble(const char *, const char *message,
    141179                       unsigned long *salt,my_bool old_ver);
    142180char *get_tty_password(char *opt_message);
     181void hash_password(unsigned long *result, const char *password);
     182
     183/* Some other useful functions */
     184
     185void my_init(void);
     186void load_defaults(const char *conf_file, const char **groups,
     187                   int *argc, char ***argv);
    143188
    144189#define NULL_LENGTH ((unsigned long) ~0) /* For net_store_length */
    145190
    146 #ifdef __WIN32__
     191#ifdef WIN32
    147192#define socket_errno WSAGetLastError()
    148193#else
  • trunk/tools/database/mysql/mysql_version.h

    r828 r1936  
    44/* Version numbers for protocol & mysqld */
    55
    6 #define MYSQL_SERVER_VERSION            "3.21.33b"
     6#define MYSQL_SERVER_VERSION            "3.22.26a"
    77#define FRM_VER                 6
    8 #define MYSQL_VERSION_ID        32133
     8#define MYSQL_VERSION_ID        32226
Note: See TracChangeset for help on using the changeset viewer.