123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- ' Copyright (c) 2007-2022 Bruce A Henderson
- ' All rights reserved.
- '
- ' Redistribution and use in source and binary forms, with or without
- ' modification, are permitted provided that the following conditions are met:
- ' * Redistributions of source code must retain the above copyright
- ' notice, this list of conditions and the following disclaimer.
- ' * Redistributions in binary form must reproduce the above copyright
- ' notice, this list of conditions and the following disclaimer in the
- ' documentation and/or other materials provided with the distribution.
- ' * Neither the auther nor the names of its contributors may be used to
- ' endorse or promote products derived from this software without specific
- ' prior written permission.
- '
- ' THIS SOFTWARE IS PROVIDED BY Bruce A Henderson ``AS IS'' AND ANY
- ' EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- ' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- ' DISCLAIMED. IN NO EVENT SHALL Bruce A Henderson BE LIABLE FOR ANY
- ' DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- ' (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- ' LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ' ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- ' (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- ' SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- '
- SuperStrict
- Import BRL.Blitz
- Import Database.Core
- ?linux
- Import "-L/usr/lib/mysql"
- Import "-lmariadb"
- Import "/usr/include/mysql/*.h"
- ?win32
- Import "-lmariadb"
- Import "include/*.h"
- ?macos
- 'Import "-L/usr/local/mysql/lib"
- Import "-lmariadb"
- Import "-lz"
- 'Import "/usr/local/mysql/include/*.h"
- ?
- Import "glue.c"
- Const MYSQL_TYPE_DECIMAL:Int = 0
- Const MYSQL_TYPE_TINY:Int = 1
- Const MYSQL_TYPE_SHORT:Int = 2
- Const MYSQL_TYPE_LONG:Int = 3
- Const MYSQL_TYPE_FLOAT:Int = 4
- Const MYSQL_TYPE_DOUBLE:Int = 5
- Const MYSQL_TYPE_NULL:Int = 6
- Const MYSQL_TYPE_TIMESTAMP:Int = 7
- Const MYSQL_TYPE_LONGLONG:Int = 8
- Const MYSQL_TYPE_INT24:Int = 9
- Const MYSQL_TYPE_DATE:Int = 10
- Const MYSQL_TYPE_TIME:Int = 11
- Const MYSQL_TYPE_DATETIME:Int = 12
- Const MYSQL_TYPE_YEAR:Int = 13
- Const MYSQL_TYPE_NEWDATE:Int = 14
- Const MYSQL_TYPE_VARCHAR:Int = 15
- Const MYSQL_TYPE_BIT:Int = 16
- Const MYSQL_TYPE_JSON:Int = 245
- Const MYSQL_TYPE_NEWDECIMAL:Int = 246
- Const MYSQL_TYPE_ENUM:Int = 247
- Const MYSQL_TYPE_SET:Int = 248
- Const MYSQL_TYPE_TINY_BLOB:Int = 249
- Const MYSQL_TYPE_MEDIUM_BLOB:Int = 250
- Const MYSQL_TYPE_LONG_BLOB:Int = 251
- Const MYSQL_TYPE_BLOB:Int = 252
- Const MYSQL_TYPE_VAR_STRING:Int = 253
- Const MYSQL_TYPE_STRING:Int = 254
- Const MYSQL_TYPE_GEOMETRY:Int = 255
- ?win32
- Extern "win32"
- ?linux
- Extern
- ?macos
- Extern
- ?
- Function mysql_close(handle:Byte Ptr)
- Function mysql_ping:Int(handle:Byte Ptr)
- Function mysql_query:Int(handle:Byte Ptr, query:Byte Ptr)
- Function mysql_errno:Int(handle:Byte Ptr)
- Function mysql_error:Byte Ptr(handle:Byte Ptr)
- Function mysql_init:Byte Ptr(h:Int = 0)
- Function mysql_get_client_version:Int()
- Function mysql_real_connect:Int(handle:Byte Ptr, host:Byte Ptr, user:Byte Ptr, ..
- passwd:Byte Ptr, db:Byte Ptr, port:Int, unix_socket:Byte Ptr, client_flag:Int)
- Function mysql_select_db:Int(handle:Byte Ptr, db:Byte Ptr)
- Function mysql_set_character_set(handle:Byte Ptr, text:Byte Ptr)
- Function mysql_get_server_version:Int(handle:Byte Ptr)
- Function mysql_real_query:Int(handle:Byte Ptr, query:Byte Ptr, size:Int)
- Function mysql_store_result:Byte Ptr(handle:Byte Ptr)
- Function mysql_field_count:Int(handle:Byte Ptr)
- Function mysql_fetch_field_direct:Byte Ptr(handle:Byte Ptr, index:Int)
- Function mysql_stmt_fetch:Int(stmt:Byte Ptr)
- Function mysql_fetch_row:Byte Ptr(stmt:Byte Ptr)
- Function mysql_free_result(result:Byte Ptr)
- Function mysql_stmt_init:Byte Ptr(handle:Byte Ptr)
- Function mysql_stmt_prepare:Int(stmt:Byte Ptr, query:Byte Ptr, size:Int)
- Function mysql_stmt_param_count:Int(stmt:Byte Ptr)
- Function mysql_stmt_execute:Int(stmt:Byte Ptr)
- Function mysql_stmt_error:Byte Ptr(stmt:Byte Ptr)
- Function mysql_stmt_result_metadata:Byte Ptr(stmt:Byte Ptr)
-
- Function mysql_num_fields:Int(meta:Byte Ptr)
- Function mysql_fetch_lengths:ULongInt Ptr(result:Byte Ptr)
- Function mysql_fetch_field:Byte Ptr(meta:Byte Ptr)
- Function mysql_stmt_store_result:Int(stmt:Byte Ptr)
-
- Function mysql_list_tables:Byte Ptr(handle:Byte Ptr, name:Byte Ptr)
- End Extern
- Extern
- Function bmx_mysql_field_name:String(f:Byte Ptr)
- Function bmx_mysql_field_org_name:Byte Ptr(f:Byte Ptr)
- Function bmx_mysql_field_table:Byte Ptr(f:Byte Ptr)
- Function bmx_mysql_field_org_table:Byte Ptr(f:Byte Ptr)
- Function bmx_mysql_field_db:Byte Ptr(f:Byte Ptr)
- Function bmx_mysql_field_catalog:Byte Ptr(f:Byte Ptr)
- Function bmx_mysql_field_def:Byte Ptr(f:Byte Ptr)
- Function bmx_mysql_field_length:ULongInt(f:Byte Ptr)
- Function bmx_mysql_field_max_length:ULongInt(f:Byte Ptr)
- Function bmx_mysql_field_flags:Int(f:Byte Ptr)
- Function bmx_mysql_field_type:Int(f:Byte Ptr)
- Function bmx_mysql_field_decimals:Int(f:Byte Ptr)
- Function bmx_mysql_length_for_field:Size_T(f:Byte Ptr)
- Function bmx_mysql_makeBindings:Byte Ptr(size:Int)
- Function bmx_mysql_deleteBindings(bindings:Byte Ptr)
- 'Function bmx_mysql_makeBools:Byte Ptr(size:Int)
- Function bmx_mysql_setBool(bools:Byte Ptr, index:Int, isNull:Int)
- Function bmx_mysql_deleteBools(bools:Byte Ptr)
-
- Function bmx_mysql_bind_int(params:Byte Ptr, index:Int, value:Int Ptr, nullsPtr:Byte Ptr)
- Function bmx_mysql_bind_float(params:Byte Ptr, index:Int, value:Float Ptr, nullsPtr:Byte Ptr)
- Function bmx_mysql_bind_double(params:Byte Ptr, index:Int, value:Double Ptr, nullsPtr:Byte Ptr)
- Function bmx_mysql_bind_long(params:Byte Ptr, index:Int, value:Long Ptr, nullsPtr:Byte Ptr)
- Function bmx_mysql_bind_string(params:Byte Ptr, index:Int, value:Byte Ptr, size:Int, nullsPtr:Byte Ptr)
- Function bmx_mysql_bind_date(params:Byte Ptr, index:Int, value:Byte Ptr, _year:Int, _month:Int, _day:Int, nullsPtr:Byte Ptr)
- Function bmx_mysql_bind_time(params:Byte Ptr, index:Int, value:Byte Ptr, _hour:Int, _min:Int, _sec:Int, nullsPtr:Byte Ptr)
- Function bmx_mysql_bind_datetime(params:Byte Ptr, index:Int, value:Byte Ptr, _year:Int, _month:Int, _day:Int, _hour:Int, _min:Int, _sec:Int, nullsPtr:Byte Ptr)
- Function bmx_mysql_bind_blob(params:Byte Ptr, index:Int, value:Byte Ptr, size:Int, nullsPtr:Byte Ptr)
-
- Function bmx_mysql_makeVals:Byte Ptr(size:Int)
- Function bmx_mysql_deleteVals(vals:Byte Ptr)
-
- Function examine_bindings(params:Byte Ptr, size:Int, stmt:Byte Ptr)
- 'Function bmx_mysql_getLength:Int(lengths:Byte Ptr, index:Int)
- Function bmx_mysql_rowField_isNull:Int(row:Byte Ptr, index:Int)
- Function bmx_mysql_rowField_chars:Byte Ptr(row:Byte Ptr, index:Int)
-
- Function bmx_mysql_inbind(params:Byte Ptr, index:Int, _field:Byte Ptr, dataValue:Byte Ptr, dataLength:ULongInt Ptr, isNull:Int Ptr, ty:Int)
- Function bmx_mysql_stmt_bind_result:Int(stmt:Byte Ptr, bindings:Byte Ptr)
- Function bmx_mysql_stmt_fetch:Int(stmt:Byte Ptr)
-
- Function bmx_mysql_stmt_bind_param:Int(stmt:Byte Ptr, bindings:Byte Ptr)
- Function bmx_mysql_getBindings:Byte Ptr(stmt:Byte Ptr)
- Function bmx_mysql_getParams:Byte Ptr(stmt:Byte Ptr)
- Function bmx_mysql_stmt_insert_id(stmt:Byte Ptr, id:Long Ptr)
- Function bmx_mysql_insert_id(handle:Byte Ptr, id:Long Ptr)
-
- Function bmx_mysql_makeTime:Byte Ptr()
- Function bmx_mysql_deleteTime(handle:Byte Ptr)
-
- Function bmx_mysql_stmt_close:Int(stmt:Byte Ptr)
- Function bmx_mysql_affected_rows(handle:Byte Ptr, rows:Long Ptr)
- Function bmx_mysql_stmt_reset:Int(stmt:Byte Ptr)
- Function bmx_mysql_stmt_affected_rows(stmt:Byte Ptr, rows:Long Ptr)
-
- Function bmx_mysql_char_to_int:Int(data:Byte Ptr)
- Function bmx_mysql_char_to_long:Long(data:Byte Ptr)
- Function bmx_mysql_char_to_float:Float(data:Byte Ptr)
- Function bmx_mysql_char_to_double:Double(data:Byte Ptr)
- Function bmx_mysql_char_to_datetime:TDBDateTime(data:Byte Ptr)
- Function bmx_mysql_char_to_date:TDBDate(data:Byte Ptr)
- Function bmx_mysql_char_to_time:TDBTime(data:Byte Ptr)
- End Extern
- Const CLIENT_FOUND_ROWS:Int = 2
- Const CLIENT_NO_SCHEMA:Int = 16
- Const CLIENT_COMPRESS:Int = 32
- Const CLIENT_LOCAL_FILES:Int = 128
- Const CLIENT_IGNORE_SPACE:Int = 256
- Const CLIENT_INTERACTIVE:Int = 1024
- Const CLIENT_SSL:Int = 2048
- Const CLIENT_IGNORE_SIGPIPE:Int = 4096
- Const CLIENT_MULTI_STATEMENTS:Int = 1 Shl 16
- Const CLIENT_MULTI_RESULTS:Int = 1 Shl 17
- Const CLIENT_REMEMBER_OPTIONS:Int = 1 Shl 31
|