summary refs log tree commit diff stats
path: root/lib/wrappers/mysql.nim
diff options
context:
space:
mode:
Diffstat (limited to 'lib/wrappers/mysql.nim')
-rw-r--r--lib/wrappers/mysql.nim286
1 files changed, 158 insertions, 128 deletions
diff --git a/lib/wrappers/mysql.nim b/lib/wrappers/mysql.nim
index 937a8952a..73b82b5c6 100644
--- a/lib/wrappers/mysql.nim
+++ b/lib/wrappers/mysql.nim
@@ -51,7 +51,7 @@ const
   SERVICENAME* = "MySQL"
 
 type 
-  Tenum_server_command* = enum 
+  Enum_server_command* = enum 
     COM_SLEEP, COM_QUIT, COM_INIT_DB, COM_QUERY, COM_FIELD_LIST, COM_CREATE_DB, 
     COM_DROP_DB, COM_REFRESH, COM_SHUTDOWN, COM_STATISTICS, COM_PROCESS_INFO, 
     COM_CONNECT, COM_PROCESS_KILL, COM_DEBUG, COM_PING, COM_TIME, 
@@ -59,6 +59,7 @@ type
     COM_CONNECT_OUT, COM_REGISTER_SLAVE, COM_STMT_PREPARE, COM_STMT_EXECUTE, 
     COM_STMT_SEND_LONG_DATA, COM_STMT_CLOSE, COM_STMT_RESET, COM_SET_OPTION, 
     COM_STMT_FETCH, COM_END
+{.deprecated: [Tenum_server_command: Enum_server_command].}
 
 const 
   SCRAMBLE_LENGTH* = 20 # Length of random string sent by server on handshake; 
@@ -150,8 +151,8 @@ const
   MAX_BLOB_WIDTH* = 8192      # Default width for blob
 
 type 
-  Pst_net* = ptr Tst_net
-  Tst_net*{.final.} = object 
+  Pst_net* = ptr St_net
+  St_net*{.final.} = object 
     vio*: PVio
     buff*: cstring
     buff_end*: cstring
@@ -191,14 +192,15 @@ type
     report_error*: my_bool    # We should report error (we have unreported error)
     return_errno*: my_bool
 
-  TNET* = Tst_net
-  PNET* = ptr TNET
+  NET* = St_net
+  PNET* = ptr NET
+{.deprecated: [Tst_net: St_net, TNET: NET].}
 
 const 
   packet_error* = - 1
 
 type 
-  Tenum_field_types* = enum    # For backward compatibility  
+  Enum_field_types* = enum    # For backward compatibility  
     TYPE_DECIMAL, TYPE_TINY, TYPE_SHORT, TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, 
     TYPE_NULL, TYPE_TIMESTAMP, TYPE_LONGLONG, TYPE_INT24, TYPE_DATE, TYPE_TIME, 
     TYPE_DATETIME, TYPE_YEAR, TYPE_NEWDATE, TYPE_VARCHAR, TYPE_BIT, 
@@ -206,6 +208,7 @@ type
     TYPE_TINY_BLOB = 249, TYPE_MEDIUM_BLOB = 250, TYPE_LONG_BLOB = 251, 
     TYPE_BLOB = 252, TYPE_VAR_STRING = 253, TYPE_STRING = 254, 
     TYPE_GEOMETRY = 255
+{.deprecated: [Tenum_field_types: Enum_field_types].}
 
 const 
   CLIENT_MULTI_QUERIES* = CLIENT_MULTI_STATEMENTS
@@ -244,16 +247,19 @@ const
   SHUTDOWN_KILLABLE_UPDATE* = chr(1 shl 3)
 
 type 
-  Tenum_shutdown_level* = enum 
+  Enum_shutdown_level* = enum 
     SHUTDOWN_DEFAULT = 0, SHUTDOWN_WAIT_CONNECTIONS = 1, 
     SHUTDOWN_WAIT_TRANSACTIONS = 2, SHUTDOWN_WAIT_UPDATES = 8, 
     SHUTDOWN_WAIT_ALL_BUFFERS = 16, SHUTDOWN_WAIT_CRITICAL_BUFFERS = 17, 
     KILL_QUERY = 254, KILL_CONNECTION = 255
-  Tenum_cursor_type* = enum    # options for mysql_set_option  
+  Enum_cursor_type* = enum    # options for mysql_set_option  
     CURSOR_TYPE_NO_CURSOR = 0, CURSOR_TYPE_READ_ONLY = 1, 
     CURSOR_TYPE_FOR_UPDATE = 2, CURSOR_TYPE_SCROLLABLE = 4
-  Tenum_mysql_set_option* = enum 
+  Enum_mysql_set_option* = enum 
     OPTION_MULTI_STATEMENTS_ON, OPTION_MULTI_STATEMENTS_OFF
+{.deprecated: [Tenum_shutdown_level: Enum_shutdown_level,
+              Tenum_cursor_type: Enum_cursor_type,
+              Tenum_mysql_set_option: Enum_mysql_set_option].}
 
 proc my_net_init*(net: PNET, vio: PVio): my_bool{.cdecl, dynlib: lib, 
     importc: "my_net_init".}
@@ -275,24 +281,25 @@ proc my_net_read*(net: PNET): int{.cdecl, dynlib: lib, importc: "my_net_read".}
   # The following function is not meant for normal usage
   #      Currently it's used internally by manager.c  
 type 
-  Psockaddr* = ptr Tsockaddr
-  Tsockaddr*{.final.} = object  # undefined structure
+  Psockaddr* = ptr Sockaddr
+  Sockaddr*{.final.} = object  # undefined structure
+{.deprecated: [Tsockaddr: Sockaddr].}
 
 proc my_connect*(s: my_socket, name: Psockaddr, namelen: cuint, timeout: cuint): cint{.
     cdecl, dynlib: lib, importc: "my_connect".}
 type 
-  Prand_struct* = ptr Trand_struct
-  Trand_struct*{.final.} = object # The following is for user defined functions  
+  Prand_struct* = ptr Rand_struct
+  Rand_struct*{.final.} = object # The following is for user defined functions  
     seed1*: int
     seed2*: int
     max_value*: int
     max_value_dbl*: cdouble
 
-  TItem_result* = enum 
+  Item_result* = enum 
     STRING_RESULT, REAL_RESULT, INT_RESULT, ROW_RESULT, DECIMAL_RESULT
-  PItem_result* = ptr TItem_result
-  Pst_udf_args* = ptr Tst_udf_args
-  Tst_udf_args*{.final.} = object 
+  PItem_result* = ptr Item_result
+  Pst_udf_args* = ptr St_udf_args
+  St_udf_args*{.final.} = object 
     arg_count*: cuint         # Number of arguments
     arg_type*: PItem_result   # Pointer to item_results
     args*: cstringArray       # Pointer to item_results
@@ -301,18 +308,21 @@ type
     attributes*: cstringArray # Pointer to attribute name
     attribute_lengths*: ptr int # Length of attribute arguments
   
-  TUDF_ARGS* = Tst_udf_args
-  PUDF_ARGS* = ptr TUDF_ARGS   # This holds information about the result  
-  Pst_udf_init* = ptr Tst_udf_init
-  Tst_udf_init*{.final.} = object 
+  UDF_ARGS* = St_udf_args
+  PUDF_ARGS* = ptr UDF_ARGS   # This holds information about the result  
+  Pst_udf_init* = ptr St_udf_init
+  St_udf_init*{.final.} = object 
     maybe_null*: my_bool      # 1 if function can return NULL
     decimals*: cuint          # for real functions
     max_length*: int          # For string functions
     theptr*: cstring          # free pointer for function data
     const_item*: my_bool      # free pointer for function data
   
-  TUDF_INIT* = Tst_udf_init
-  PUDF_INIT* = ptr TUDF_INIT   # Constants when using compression  
+  UDF_INIT* = St_udf_init
+  PUDF_INIT* = ptr UDF_INIT   # Constants when using compression  
+{.deprecated: [Trand_stuct: Rand_struct, TItem_result: Item_result,
+              Tst_udf_args: St_udf_args, TUDF_ARGS: UDF_ARGS,
+              Tst_udf_init: St_udf_init, TUDF_INIT: UDF_INIT].}
 
 const 
   NET_HEADER_SIZE* = 4        # standard header size
@@ -386,8 +396,8 @@ const
   CLIENT_NET_WRITE_TIMEOUT* = 365 * 24 * 3600 # Timeout on write
 
 type 
-  Pst_mysql_field* = ptr Tst_mysql_field
-  Tst_mysql_field*{.final.} = object 
+  Pst_mysql_field* = ptr St_mysql_field
+  St_mysql_field*{.final.} = object 
     name*: cstring            # Name of column
     org_name*: cstring        # Original column name, if an alias
     table*: cstring           # Table of column if column was a field
@@ -407,19 +417,21 @@ type
     flags*: cuint             # Div flags
     decimals*: cuint          # Number of decimals in field
     charsetnr*: cuint         # Character set
-    ftype*: Tenum_field_types  # Type of field. See mysql_com.h for types
+    ftype*: Enum_field_types  # Type of field. See mysql_com.h for types
   
-  TFIELD* = Tst_mysql_field
-  PFIELD* = ptr TFIELD
-  PROW* = ptr TROW             # return data as array of strings
-  TROW* = cstringArray
-  PFIELD_OFFSET* = ptr TFIELD_OFFSET # offset to current field
-  TFIELD_OFFSET* = cuint
+  FIELD* = St_mysql_field
+  PFIELD* = ptr FIELD
+  PROW* = ptr ROW             # return data as array of strings
+  ROW* = cstringArray
+  PFIELD_OFFSET* = ptr FIELD_OFFSET # offset to current field
+  FIELD_OFFSET* = cuint
+{.deprecated: [Tst_mysql_field: St_mysql_field, TFIELD: FIELD, TROW: ROW,
+              TFIELD_OFFSET: FIELD_OFFSET].}
 
 proc IS_PRI_KEY*(n: int32): bool
 proc IS_NOT_NULL*(n: int32): bool
 proc IS_BLOB*(n: int32): bool
-proc IS_NUM*(t: Tenum_field_types): bool
+proc IS_NUM*(t: Enum_field_types): bool
 proc INTERNAL_NUM_FIELD*(f: Pst_mysql_field): bool
 proc IS_NUM_FIELD*(f: Pst_mysql_field): bool
 type 
@@ -430,32 +442,34 @@ const
   COUNT_ERROR* = not (my_ulonglong(0))
 
 type 
-  Pst_mysql_rows* = ptr Tst_mysql_rows
-  Tst_mysql_rows*{.final.} = object 
+  Pst_mysql_rows* = ptr St_mysql_rows
+  St_mysql_rows*{.final.} = object 
     next*: Pst_mysql_rows     # list of rows
-    data*: TROW
+    data*: ROW
     len*: int
 
-  TROWS* = Tst_mysql_rows
-  PROWS* = ptr TROWS
-  PROW_OFFSET* = ptr TROW_OFFSET # offset to current row
-  TROW_OFFSET* = TROWS 
+  ROWS* = St_mysql_rows
+  PROWS* = ptr ROWS
+  PROW_OFFSET* = ptr ROW_OFFSET # offset to current row
+  ROW_OFFSET* = ROWS 
+{.deprecated: [Tst_mysql_rows: St_mysql_rows, TROWS: ROWS,
+              TROW_OFFSET: ROW_OFFSET].}
   
 const 
   ALLOC_MAX_BLOCK_TO_DROP* = 4096
   ALLOC_MAX_BLOCK_USAGE_BEFORE_DROP* = 10 # struct for once_alloc (block)  
 
 type 
-  Pst_used_mem* = ptr Tst_used_mem
-  Tst_used_mem*{.final.} = object 
+  Pst_used_mem* = ptr St_used_mem
+  St_used_mem*{.final.} = object 
     next*: Pst_used_mem       # Next block in use
     left*: cuint              # memory left in block
     size*: cuint              # size of block
   
-  TUSED_MEM* = Tst_used_mem
-  PUSED_MEM* = ptr TUSED_MEM
-  Pst_mem_root* = ptr Tst_mem_root
-  Tst_mem_root*{.final.} = object 
+  USED_MEM* = St_used_mem
+  PUSED_MEM* = ptr USED_MEM
+  Pst_mem_root* = ptr St_mem_root
+  St_mem_root*{.final.} = object 
     free*: PUSED_MEM          # blocks with free memory in it
     used*: PUSED_MEM          # blocks almost without free memory
     pre_alloc*: PUSED_MEM     # preallocated block
@@ -467,27 +481,30 @@ type
     first_block_usage*: cuint
     error_handler*: proc (){.cdecl.}
 
-  TMEM_ROOT* = Tst_mem_root
-  PMEM_ROOT* = ptr TMEM_ROOT   #  ------------ Stop of declaration in "my_alloc.h"    ----------------------  
+  MEM_ROOT* = St_mem_root
+  PMEM_ROOT* = ptr MEM_ROOT   #  ------------ Stop of declaration in "my_alloc.h"    ----------------------  
+{.deprecated: [Tst_used_mem: St_used_mem, TUSED_MEM: USED_MEM,
+              Tst_mem_root: St_mem_root, TMEM_ROOT: MEM_ROOT].}
 
 type 
-  Pst_mysql_data* = ptr Tst_mysql_data
-  Tst_mysql_data*{.final.} = object 
+  Pst_mysql_data* = ptr St_mysql_data
+  St_mysql_data*{.final.} = object 
     rows*: my_ulonglong
     fields*: cuint
     data*: PROWS
-    alloc*: TMEM_ROOT
+    alloc*: MEM_ROOT
     prev_ptr*: ptr PROWS
 
-  TDATA* = Tst_mysql_data
-  PDATA* = ptr TDATA
-  Toption* = enum 
+  DATA* = St_mysql_data
+  PDATA* = ptr DATA
+  Option* = enum 
     OPT_CONNECT_TIMEOUT, OPT_COMPRESS, OPT_NAMED_PIPE, INIT_COMMAND, 
     READ_DEFAULT_FILE, READ_DEFAULT_GROUP, SET_CHARSET_DIR, SET_CHARSET_NAME, 
     OPT_LOCAL_INFILE, OPT_PROTOCOL, SHARED_MEMORY_BASE_NAME, OPT_READ_TIMEOUT, 
     OPT_WRITE_TIMEOUT, OPT_USE_RESULT, OPT_USE_REMOTE_CONNECTION, 
     OPT_USE_EMBEDDED_CONNECTION, OPT_GUESS_CONNECTION, SET_CLIENT_IP, 
     SECURE_AUTH, REPORT_DATA_TRUNCATION, OPT_RECONNECT
+{.deprecated: [Tst_mysql_data: St_mysql_data, TDATA: DATA, Toption: Option].}
 
 const 
   MAX_MYSQL_MANAGER_ERR* = 256
@@ -499,17 +516,17 @@ const
   MANAGER_INTERNAL_ERR* = 500
 
 type 
-  Tst_dynamic_array*{.final.} = object 
+  St_dynamic_array*{.final.} = object 
     buffer*: cstring
     elements*: cuint
     max_element*: cuint
     alloc_increment*: cuint
     size_of_element*: cuint
 
-  TDYNAMIC_ARRAY* = Tst_dynamic_array
-  Pst_dynamic_array* = ptr Tst_dynamic_array
-  Pst_mysql_options* = ptr Tst_mysql_options
-  Tst_mysql_options*{.final.} = object 
+  DYNAMIC_ARRAY* = St_dynamic_array
+  Pst_dynamic_array* = ptr St_dynamic_array
+  Pst_mysql_options* = ptr St_mysql_options
+  St_mysql_options*{.final.} = object 
     connect_timeout*: cuint
     read_timeout*: cuint
     write_timeout*: cuint
@@ -543,7 +560,7 @@ type
                         #       a read that is replication-aware    
     no_master_reads*: my_bool
     separate_thread*: my_bool
-    methods_to_use*: Toption
+    methods_to_use*: Option
     client_ip*: cstring
     secure_auth*: my_bool     # Refuse client connecting to server if it uses old (pre-4.1.1) protocol
     report_data_truncation*: my_bool # 0 - never report, 1 - always report (default)
@@ -555,16 +572,16 @@ type
     local_infile_error*: proc (para1: pointer, para2: cstring, para3: cuint): cint
     local_infile_userdata*: pointer
 
-  Tstatus* = enum 
+  Status* = enum 
     STATUS_READY, STATUS_GET_RESULT, STATUS_USE_RESULT
-  Tprotocol_type* = enum  # There are three types of queries - the ones that have to go to
+  Protocol_type* = enum  # There are three types of queries - the ones that have to go to
                           # the master, the ones that go to a slave, and the administrative
                           # type which must happen on the pivot connectioin 
     PROTOCOL_DEFAULT, PROTOCOL_TCP, PROTOCOL_SOCKET, PROTOCOL_PIPE, 
     PROTOCOL_MEMORY
-  Trpl_type* = enum 
+  Rpl_type* = enum 
     RPL_MASTER, RPL_SLAVE, RPL_ADMIN
-  Tcharset_info_st*{.final.} = object 
+  Charset_info_st*{.final.} = object 
     number*: cuint
     primary_number*: cuint
     binary_number*: cuint
@@ -592,10 +609,10 @@ type
     cset*: pointer            # was ^MY_CHARSET_HANDLER
     coll*: pointer            # was ^MY_COLLATION_HANDLER;
   
-  TCHARSET_INFO* = Tcharset_info_st
-  Pcharset_info_st* = ptr Tcharset_info_st
-  Pcharacter_set* = ptr Tcharacter_set
-  Tcharacter_set*{.final.} = object 
+  CHARSET_INFO* = Charset_info_st
+  Pcharset_info_st* = ptr Charset_info_st
+  Pcharacter_set* = ptr Character_set
+  Character_set*{.final.} = object 
     number*: cuint
     state*: cuint
     csname*: cstring
@@ -605,12 +622,12 @@ type
     mbminlen*: cuint
     mbmaxlen*: cuint
 
-  TMY_CHARSET_INFO* = Tcharacter_set
-  PMY_CHARSET_INFO* = ptr TMY_CHARSET_INFO
-  Pst_mysql_methods* = ptr Tst_mysql_methods
-  Pst_mysql* = ptr Tst_mysql
-  Tst_mysql*{.final.} = object 
-    net*: TNET                 # Communication parameters
+  MY_CHARSET_INFO* = Character_set
+  PMY_CHARSET_INFO* = ptr MY_CHARSET_INFO
+  Pst_mysql_methods* = ptr St_mysql_methods
+  Pst_mysql* = ptr St_mysql
+  St_mysql*{.final.} = object 
+    net*: NET                 # Communication parameters
     connector_fd*: gptr       # ConnectorFd for SSL
     host*: cstring
     user*: cstring
@@ -622,7 +639,7 @@ type
     db*: cstring
     charset*: Pcharset_info_st
     fields*: PFIELD
-    field_alloc*: TMEM_ROOT
+    field_alloc*: MEM_ROOT
     affected_rows*: my_ulonglong
     insert_id*: my_ulonglong  # id if insert on table with NEXTNR
     extra_info*: my_ulonglong # Used by mysqlshow, not used by mysql 5.0 and up
@@ -636,8 +653,8 @@ type
     server_status*: cuint
     server_language*: cuint
     warning_count*: cuint
-    options*: Tst_mysql_options
-    status*: Tstatus
+    options*: St_mysql_options
+    status*: Status
     free_me*: my_bool         # If free in mysql_close
     reconnect*: my_bool       # set to 1 if automatic reconnect
     scramble*: array[0..(SCRAMBLE_LENGTH + 1) - 1, char] # session-wide random string
@@ -655,37 +672,37 @@ type
                   #        from mysql_stmt_close if close had to cancel result set of this object.       
     unbuffered_fetch_owner*: Pmy_bool
 
-  TMySQL* = Tst_mysql
-  PMySQL* = ptr TMySQL
-  Pst_mysql_res* = ptr Tst_mysql_res
-  Tst_mysql_res*{.final.} = object 
+  MySQL* = St_mysql
+  PMySQL* = ptr MySQL
+  Pst_mysql_res* = ptr St_mysql_res
+  St_mysql_res*{.final.} = object 
     row_count*: my_ulonglong
     fields*: PFIELD
     data*: PDATA
     data_cursor*: PROWS
     lengths*: ptr int         # column lengths of current row
     handle*: PMySQL                # for unbuffered reads
-    field_alloc*: TMEM_ROOT
+    field_alloc*: MEM_ROOT
     field_count*: cuint
     current_field*: cuint
-    row*: TROW                 # If unbuffered read
-    current_row*: TROW         # buffer to current row
+    row*: ROW                 # If unbuffered read
+    current_row*: ROW         # buffer to current row
     eof*: my_bool             # Used by mysql_fetch_row
     unbuffered_fetch_cancelled*: my_bool # mysql_stmt_close() had to cancel this result
     methods*: Pst_mysql_methods
 
-  TRES* = Tst_mysql_res
-  PRES* = ptr TRES
-  Pst_mysql_stmt* = ptr Tst_mysql_stmt
-  PSTMT* = ptr TSTMT
-  Tst_mysql_methods*{.final.} = object 
+  RES* = St_mysql_res
+  PRES* = ptr RES
+  Pst_mysql_stmt* = ptr St_mysql_stmt
+  PSTMT* = ptr STMT
+  St_mysql_methods*{.final.} = object 
     read_query_result*: proc (MySQL:  PMySQL): my_bool{.cdecl.}
-    advanced_command*: proc (MySQL: PMySQL, command: Tenum_server_command, header: cstring, 
+    advanced_command*: proc (MySQL: PMySQL, command: Enum_server_command, header: cstring, 
                              header_length: int, arg: cstring, arg_length: int, 
                              skip_check: my_bool): my_bool
     read_rows*: proc (MySQL: PMySQL, fields: PFIELD, fields_count: cuint): PDATA
     use_result*: proc (MySQL: PMySQL): PRES
-    fetch_lengths*: proc (fto: ptr int, column: TROW, field_count: cuint)
+    fetch_lengths*: proc (fto: ptr int, column: ROW, field_count: cuint)
     flush_use_result*: proc (MySQL: PMySQL)
     list_fields*: proc (MySQL: PMySQL): PFIELD
     read_prepare_result*: proc (MySQL: PMySQL, stmt: PSTMT): my_bool
@@ -698,11 +715,11 @@ type
     read_change_user_result*: proc (MySQL: PMySQL, buff: cstring, passwd: cstring): cint
     read_rowsfrom_cursor*: proc (stmt: PSTMT): cint
 
-  TMETHODS* = Tst_mysql_methods
-  PMETHODS* = ptr TMETHODS
-  Pst_mysql_manager* = ptr Tst_mysql_manager
-  Tst_mysql_manager*{.final.} = object 
-    net*: TNET
+  METHODS* = St_mysql_methods
+  PMETHODS* = ptr METHODS
+  Pst_mysql_manager* = ptr St_mysql_manager
+  St_mysql_manager*{.final.} = object 
+    net*: NET
     host*: cstring
     user*: cstring
     passwd*: cstring
@@ -717,24 +734,24 @@ type
     net_buf_size*: cint
     last_error*: array[0..(MAX_MYSQL_MANAGER_ERR) - 1, char]
 
-  TMANAGER* = Tst_mysql_manager
-  PMANAGER* = ptr TMANAGER
-  Pst_mysql_parameters* = ptr Tst_mysql_parameters
-  Tst_mysql_parameters*{.final.} = object 
+  MANAGER* = St_mysql_manager
+  PMANAGER* = ptr MANAGER
+  Pst_mysql_parameters* = ptr St_mysql_parameters
+  St_mysql_parameters*{.final.} = object 
     p_max_allowed_packet*: ptr int
     p_net_buffer_length*: ptr int
 
-  TPARAMETERS* = Tst_mysql_parameters
-  PPARAMETERS* = ptr TPARAMETERS
-  Tenum_mysql_stmt_state* = enum 
+  PARAMETERS* = St_mysql_parameters
+  PPARAMETERS* = ptr PARAMETERS
+  Enum_mysql_stmt_state* = enum 
     STMT_INIT_DONE = 1, STMT_PREPARE_DONE, STMT_EXECUTE_DONE, STMT_FETCH_DONE
-  Pst_mysql_bind* = ptr Tst_mysql_bind
-  Tst_mysql_bind*{.final.} = object 
+  Pst_mysql_bind* = ptr St_mysql_bind
+  St_mysql_bind*{.final.} = object 
     len*: int                 # output length pointer
     is_null*: Pmy_bool        # Pointer to null indicator
     buffer*: pointer          # buffer to get/put data
     error*: PMy_bool          # set this if you want to track data truncations happened during fetch
-    buffer_type*: Tenum_field_types # buffer type
+    buffer_type*: Enum_field_types # buffer type
     buffer_length*: int       # buffer length, must be set for str/binary
                               # Following are for internal use. Set by mysql_stmt_bind_param  
     row_ptr*: ptr byte        # for the current data position
@@ -750,15 +767,15 @@ type
     fetch_result*: proc (para1: Pst_mysql_bind, para2: PFIELD, row: PPbyte)
     skip_result*: proc (para1: Pst_mysql_bind, para2: PFIELD, row: PPbyte)
 
-  TBIND* = Tst_mysql_bind
-  PBIND* = ptr TBIND           # statement handler  
-  Tst_mysql_stmt*{.final.} = object 
-    mem_root*: TMEM_ROOT       # root allocations
+  BIND* = St_mysql_bind
+  PBIND* = ptr BIND           # statement handler  
+  St_mysql_stmt*{.final.} = object 
+    mem_root*: MEM_ROOT       # root allocations
     mysql*: PMySQL                      # connection handle
     params*: PBIND            # input parameters
     `bind`*: PBIND            # input parameters
     fields*: PFIELD           # result set metadata
-    result*: TDATA             # cached result set
+    result*: DATA             # cached result set
     data_cursor*: PROWS       # current row in cached result
     affected_rows*: my_ulonglong # copy of mysql->affected_rows after statement execution
     insert_id*: my_ulonglong
@@ -771,7 +788,7 @@ type
     last_errno*: cuint        # error code
     param_count*: cuint       # input parameter count
     field_count*: cuint       # number of columns in result set
-    state*: Tenum_mysql_stmt_state # statement state
+    state*: Enum_mysql_stmt_state # statement state
     last_error*: array[0..(ERRMSG_SIZE) - 1, char] # error message
     sqlstate*: array[0..(SQLSTATE_LENGTH + 1) - 1, char]
     send_types_to_server*: my_bool # Types of input parameters should be sent to server
@@ -780,10 +797,23 @@ type
     unbuffered_fetch_cancelled*: my_bool
     update_max_length*: my_bool
 
-  TSTMT* = Tst_mysql_stmt 
+  STMT* = St_mysql_stmt 
          
-  Tenum_stmt_attr_type* = enum 
+  Enum_stmt_attr_type* = enum 
     STMT_ATTR_UPDATE_MAX_LENGTH, STMT_ATTR_CURSOR_TYPE, STMT_ATTR_PREFETCH_ROWS
+{.deprecated: [Tst_dynamic_array: St_dynamic_array, Tst_mysql_options: St_mysql_options,
+              TDYNAMIC_ARRAY: DYNAMIC_ARRAY, Tprotocol_type: Protocol_type,
+              Trpl_type: Rpl_type, Tcharset_info_st: Charset_info_st,
+              TCHARSET_INFO: CHARSET_INFO, Tcharacter_set: Character_set,
+              TMY_CHARSET_INFO: MY_CHARSET_INFO, Tst_mysql: St_mysql,
+              Tst_mysql_methods: St_mysql_methods, TMySql: MySql,
+              Tst_mysql_res: St_mysql_res, TMETHODS: METHODS, TRES: RES,
+              Tst_mysql_manager: St_mysql_manager, TMANAGER: MANAGER,
+              Tst_mysql_parameters: St_mysql_parameters, TPARAMETERS: PARAMETERS,
+              Tenum_mysql_stmt_state: Enum_mysql_stmt_state,
+              Tst_mysql_bind: St_mysql_bind, TBIND: BIND, Tst_mysql_stmt: St_mysql_stmt,
+              TSTMT: STMT, Tenum_stmt_attr_type: Enum_stmt_attr_type,
+              Tstatus: Status].}
 
 proc server_init*(argc: cint, argv: cstringArray, groups: cstringArray): cint{.
     cdecl, dynlib: lib, importc: "mysql_server_init".}
@@ -817,9 +847,9 @@ proc fetch_field_direct*(res: PRES, fieldnr: cuint): PFIELD{.stdcall,
     dynlib: lib, importc: "mysql_fetch_field_direct".}
 proc fetch_fields*(res: PRES): PFIELD{.stdcall, dynlib: lib, 
                                        importc: "mysql_fetch_fields".}
-proc row_tell*(res: PRES): TROW_OFFSET{.stdcall, dynlib: lib, 
+proc row_tell*(res: PRES): ROW_OFFSET{.stdcall, dynlib: lib, 
                                        importc: "mysql_row_tell".}
-proc field_tell*(res: PRES): TFIELD_OFFSET{.stdcall, dynlib: lib, 
+proc field_tell*(res: PRES): FIELD_OFFSET{.stdcall, dynlib: lib, 
     importc: "mysql_field_tell".}
 proc field_count*(MySQL: PMySQL): cuint{.stdcall, dynlib: lib, 
                                importc: "mysql_field_count".}
@@ -895,7 +925,7 @@ proc disable_reads_from_master*(MySQL: PMySQL){.stdcall, dynlib: lib, importc: "
   # get the value of the master read flag  
 proc reads_from_master_enabled*(MySQL: PMySQL): my_bool{.stdcall, dynlib: lib, 
     importc: "mysql_reads_from_master_enabled".}
-proc rpl_query_type*(q: cstring, length: cint): Trpl_type{.stdcall, dynlib: lib, 
+proc rpl_query_type*(q: cstring, length: cint): Rpl_type{.stdcall, dynlib: lib, 
     importc: "mysql_rpl_query_type".}
   # discover the master and its slaves  
 proc rpl_probe*(MySQL: PMySQL): my_bool{.stdcall, dynlib: lib, importc: "mysql_rpl_probe".}
@@ -904,14 +934,14 @@ proc set_master*(MySQL: PMySQL, host: cstring, port: cuint, user: cstring, passw
     stdcall, dynlib: lib, importc: "mysql_set_master".}
 proc add_slave*(MySQL: PMySQL, host: cstring, port: cuint, user: cstring, passwd: cstring): cint{.
     stdcall, dynlib: lib, importc: "mysql_add_slave".}
-proc shutdown*(MySQL: PMySQL, shutdown_level: Tenum_shutdown_level): cint{.stdcall, 
+proc shutdown*(MySQL: PMySQL, shutdown_level: Enum_shutdown_level): cint{.stdcall, 
     dynlib: lib, importc: "mysql_shutdown".}
 proc dump_debug_info*(MySQL: PMySQL): cint{.stdcall, dynlib: lib, 
                                   importc: "mysql_dump_debug_info".}
 proc refresh*(sql: PMySQL, refresh_options: cuint): cint{.stdcall, dynlib: lib, 
     importc: "mysql_refresh".}
 proc kill*(MySQL: PMySQL, pid: int): cint{.stdcall, dynlib: lib, importc: "mysql_kill".}
-proc set_server_option*(MySQL: PMySQL, option: Tenum_mysql_set_option): cint{.stdcall, 
+proc set_server_option*(MySQL: PMySQL, option: Enum_mysql_set_option): cint{.stdcall, 
     dynlib: lib, importc: "mysql_set_server_option".}
 proc ping*(MySQL: PMySQL): cint{.stdcall, dynlib: lib, importc: "mysql_ping".}
 proc stat*(MySQL: PMySQL): cstring{.stdcall, dynlib: lib, importc: "mysql_stat".}
@@ -933,17 +963,17 @@ proc list_tables*(MySQL: PMySQL, wild: cstring): PRES{.stdcall, dynlib: lib,
     importc: "mysql_list_tables".}
 proc list_processes*(MySQL: PMySQL): PRES{.stdcall, dynlib: lib, 
                                  importc: "mysql_list_processes".}
-proc options*(MySQL: PMySQL, option: Toption, arg: cstring): cint{.stdcall, dynlib: lib, 
+proc options*(MySQL: PMySQL, option: Option, arg: cstring): cint{.stdcall, dynlib: lib, 
     importc: "mysql_options".}
 proc free_result*(result: PRES){.stdcall, dynlib: lib, 
                                  importc: "mysql_free_result".}
 proc data_seek*(result: PRES, offset: my_ulonglong){.stdcall, dynlib: lib, 
     importc: "mysql_data_seek".}
-proc row_seek*(result: PRES, offset: TROW_OFFSET): TROW_OFFSET{.stdcall, 
+proc row_seek*(result: PRES, offset: ROW_OFFSET): ROW_OFFSET{.stdcall, 
     dynlib: lib, importc: "mysql_row_seek".}
-proc field_seek*(result: PRES, offset: TFIELD_OFFSET): TFIELD_OFFSET{.stdcall, 
+proc field_seek*(result: PRES, offset: FIELD_OFFSET): FIELD_OFFSET{.stdcall, 
     dynlib: lib, importc: "mysql_field_seek".}
-proc fetch_row*(result: PRES): TROW{.stdcall, dynlib: lib, 
+proc fetch_row*(result: PRES): ROW{.stdcall, dynlib: lib, 
                                     importc: "mysql_fetch_row".}
 proc fetch_lengths*(result: PRES): ptr int{.stdcall, dynlib: lib, 
     importc: "mysql_fetch_lengths".}
@@ -990,9 +1020,9 @@ proc stmt_store_result*(stmt: PSTMT): cint{.stdcall, dynlib: lib,
     importc: "mysql_stmt_store_result".}
 proc stmt_param_count*(stmt: PSTMT): int{.stdcall, dynlib: lib, 
     importc: "mysql_stmt_param_count".}
-proc stmt_attr_set*(stmt: PSTMT, attr_type: Tenum_stmt_attr_type, attr: pointer): my_bool{.
+proc stmt_attr_set*(stmt: PSTMT, attr_type: Enum_stmt_attr_type, attr: pointer): my_bool{.
     stdcall, dynlib: lib, importc: "mysql_stmt_attr_set".}
-proc stmt_attr_get*(stmt: PSTMT, attr_type: Tenum_stmt_attr_type, attr: pointer): my_bool{.
+proc stmt_attr_get*(stmt: PSTMT, attr_type: Enum_stmt_attr_type, attr: pointer): my_bool{.
     stdcall, dynlib: lib, importc: "mysql_stmt_attr_get".}
 proc stmt_bind_param*(stmt: PSTMT, bnd: PBIND): my_bool{.stdcall, dynlib: lib, 
     importc: "mysql_stmt_bind_param".}
@@ -1017,9 +1047,9 @@ proc stmt_error*(stmt: PSTMT): cstring{.stdcall, dynlib: lib,
                                         importc: "mysql_stmt_error".}
 proc stmt_sqlstate*(stmt: PSTMT): cstring{.stdcall, dynlib: lib, 
     importc: "mysql_stmt_sqlstate".}
-proc stmt_row_seek*(stmt: PSTMT, offset: TROW_OFFSET): TROW_OFFSET{.stdcall, 
+proc stmt_row_seek*(stmt: PSTMT, offset: ROW_OFFSET): ROW_OFFSET{.stdcall, 
     dynlib: lib, importc: "mysql_stmt_row_seek".}
-proc stmt_row_tell*(stmt: PSTMT): TROW_OFFSET{.stdcall, dynlib: lib, 
+proc stmt_row_tell*(stmt: PSTMT): ROW_OFFSET{.stdcall, dynlib: lib, 
     importc: "mysql_stmt_row_tell".}
 proc stmt_data_seek*(stmt: PSTMT, offset: my_ulonglong){.stdcall, dynlib: lib, 
     importc: "mysql_stmt_data_seek".}
@@ -1066,7 +1096,7 @@ proc IS_BLOB(n: int32): bool =
 proc IS_NUM_FIELD(f: Pst_mysql_field): bool = 
   result = (f.flags and NUM_FLAG) != 0
 
-proc IS_NUM(t: Tenum_field_types): bool = 
+proc IS_NUM(t: Enum_field_types): bool = 
   result = (t <= FIELD_TYPE_INT24) or (t == FIELD_TYPE_YEAR) or
       (t == FIELD_TYPE_NEWDECIMAL)