mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-07 23:12:21 +02:00
* Added MySQL 5.7 header translation from Laco (bug ID 28417)
git-svn-id: trunk@31218 -
This commit is contained in:
parent
433d0ce4f6
commit
4442ecc863
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -5819,6 +5819,7 @@ packages/mysql/src/mysql51emb.pp svneol=native#text/plain
|
||||
packages/mysql/src/mysql55.pp svneol=native#text/plain
|
||||
packages/mysql/src/mysql55dyn.pp svneol=native#text/plain
|
||||
packages/mysql/src/mysql56dyn.pp svneol=native#text/plain
|
||||
packages/mysql/src/mysql57dyn.pp svneol=native#text/plain
|
||||
packages/ncurses/Makefile svneol=native#text/plain
|
||||
packages/ncurses/Makefile.fpc svneol=native#text/plain
|
||||
packages/ncurses/Makefile.fpc.fpcmake svneol=native#text/plain
|
||||
|
@ -141,6 +141,13 @@ begin
|
||||
end;
|
||||
T.ResourceStrings := True;
|
||||
|
||||
T:=P.Targets.AddUnit('mysql57dyn.pp');
|
||||
with T.Dependencies do
|
||||
begin
|
||||
AddInclude('mysql.inc');
|
||||
end;
|
||||
T.ResourceStrings := True;
|
||||
|
||||
P.ExamplePath.Add('examples');
|
||||
P.Targets.AddExampleProgram('testdb3.pp');
|
||||
P.Targets.AddExampleProgram('testdb4.pp');
|
||||
|
@ -23,15 +23,17 @@ interface
|
||||
{$ifdef Load_Dynamically}{$define LinkDynamically}{$endif}
|
||||
uses
|
||||
{$IFDEF LinkDynamically}
|
||||
sysutils,
|
||||
sysutils,
|
||||
{$ENDIF}
|
||||
dynlibs,ctypes;
|
||||
ctypes, dynlibs;
|
||||
|
||||
{$IFDEF Unix}
|
||||
{$DEFINE extdecl:=cdecl}
|
||||
const
|
||||
mysqllib = 'libmysqlclient.'+sharedsuffix;
|
||||
{$IF DEFINED(mysql55) or DEFINED(mysql56)}
|
||||
{$IF DEFINED(mysql57)}
|
||||
mysqlvlib = mysqllib+'.20';
|
||||
{$ELSEIF DEFINED(mysql55) or DEFINED(mysql56)}
|
||||
mysqlvlib = mysqllib+'.18';
|
||||
{$ELSEIF DEFINED(mysql51)}
|
||||
mysqlvlib = mysqllib+'.16';
|
||||
@ -51,6 +53,10 @@ uses
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
{$IFDEF mysql57}
|
||||
{$DEFINE mysql56}
|
||||
{$ENDIF mysql57}
|
||||
|
||||
{$IFDEF mysql56}
|
||||
{$DEFINE mysql55}
|
||||
{$ENDIF mysql56}
|
||||
@ -88,8 +94,8 @@ uses
|
||||
type
|
||||
my_bool = cchar;
|
||||
Pmy_bool = ^my_bool;
|
||||
// pppchar = ^ppchar;
|
||||
// ppbyte = ^pbyte;
|
||||
ppcchar = ^pcchar;
|
||||
psize_t = pointer;
|
||||
|
||||
PVIO = Pointer;
|
||||
|
||||
@ -111,6 +117,7 @@ uses
|
||||
HOSTNAME_LENGTH = 60;
|
||||
{$IFDEF mysql51}
|
||||
SYSTEM_CHARSET_MBMAXLEN = 3;
|
||||
FILENAME_CHARSET_MBMAXLEN = 5;
|
||||
NAME_CHAR_LEN = 64; // Field/table name length
|
||||
USERNAME_CHAR_LENGTH = 16;
|
||||
NAME_LEN = (NAME_CHAR_LEN*SYSTEM_CHARSET_MBMAXLEN);
|
||||
@ -133,6 +140,12 @@ uses
|
||||
INDEX_COMMENT_MAXLEN = 1024;
|
||||
TABLE_PARTITION_COMMENT_MAXLEN = 1024;
|
||||
|
||||
{ Maximum length of protocol packet. }
|
||||
{ OK packet length limit also restricted to this value as any length greater
|
||||
than this value will have first byte of OK packet to be 254 thus does not
|
||||
provide a means to identify if this is OK or EOF packet. }
|
||||
MAX_PACKET_LENGTH = (256*256*256-1);
|
||||
|
||||
const
|
||||
MYSQL_NAMEDPIPE = 'MySQL';
|
||||
MYSQL_SERVICENAME = 'MySQL';
|
||||
@ -152,6 +165,9 @@ uses
|
||||
COM_DAEMON,
|
||||
{$IFDEF mysql56}
|
||||
COM_BINLOG_DUMP_GTID,
|
||||
{$IFDEF mysql57}
|
||||
COM_RESET_CONNECTION,
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
{$ELSE}
|
||||
@ -160,6 +176,7 @@ uses
|
||||
COM_RESET_STMT,COM_SET_OPTION,
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
{ Must be last }
|
||||
COM_END
|
||||
);
|
||||
|
||||
@ -217,6 +234,9 @@ uses
|
||||
FIELD_FLAGS_COLUMN_FORMAT_MASK = (3 shl FIELD_FLAGS_COLUMN_FORMAT);
|
||||
{$IFDEF mysql56}
|
||||
FIELD_IS_DROPPED = (1 shl 26); // Intern: Field is being dropped
|
||||
{$IFDEF mysql57}
|
||||
EXPLICIT_NULL_FLAG = (1 shl 27); // Field is explicitly specified as NULL by the user
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
@ -245,6 +265,7 @@ uses
|
||||
REFRESH_DES_KEY_FILE = $40000;
|
||||
REFRESH_USER_RESOURCES = $80000;
|
||||
REFRESH_FOR_EXPORT = $100000; // FLUSH TABLES ... FOR EXPORT
|
||||
REFRESH_OPTIMIZER_COSTS = $200000; // FLUSH OPTIMIZER_COSTS
|
||||
|
||||
CLIENT_LONG_PASSWORD = 1; // new more secure passwords
|
||||
CLIENT_FOUND_ROWS = 2; // Found instead of affected rows
|
||||
@ -261,7 +282,7 @@ uses
|
||||
CLIENT_IGNORE_SIGPIPE = 4096; // IGNORE sigpipes
|
||||
CLIENT_TRANSACTIONS = 8192; // Client knows about transactions
|
||||
CLIENT_RESERVED = 16384; // Old flag for 4.1 protocol
|
||||
CLIENT_SECURE_CONNECTION = 32768; // New 4.1 authentication
|
||||
CLIENT_SECURE_CONNECTION = 32768; // Old flag for 4.1 authentication
|
||||
CLIENT_MULTI_STATEMENTS = 65536; // Enable/disable multi-stmt support
|
||||
CLIENT_MULTI_RESULTS = 131072; // Enable/disable multi-results
|
||||
CLIENT_PS_MULTI_RESULTS : cardinal = 1 shl 18; // Multi-results in PS-protocol
|
||||
@ -269,6 +290,8 @@ uses
|
||||
CLIENT_CONNECT_ATTRS : cardinal = (1 shl 20); // Client supports connection attributes
|
||||
CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA : cardinal = (1 shl 21); // Enable authentication response packet to be larger than 255 bytes.
|
||||
CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS : cardinal = (1 shl 22); // Don't close the connection for a connection with expired password.
|
||||
CLIENT_SESSION_TRACK : cardinal = (1 shl 23); // Capable of handling server state change information. Its a hint to the server to include the state change information in Ok packet.
|
||||
CLIENT_DEPRECATE_EOF : cardinal = (1 shl 24); // Client no longer needs EOF packet
|
||||
CLIENT_SSL_VERIFY_SERVER_CERT : cardinal = 1 shl 30;
|
||||
CLIENT_REMEMBER_OPTIONS : cardinal = 1 shl 31;
|
||||
|
||||
@ -294,21 +317,24 @@ uses
|
||||
SERVER_STATUS_DB_DROPPED = 256; // A database was dropped
|
||||
{$IFDEF mysql50}
|
||||
SERVER_STATUS_NO_BACKSLASH_ESCAPES = 512;
|
||||
{$ENDIF}
|
||||
{$IFDEF mysql51}
|
||||
{$IFDEF mysql51}
|
||||
{
|
||||
Sent to the client if after a prepared statement reprepare
|
||||
we discovered that the new statement returns a different
|
||||
number of result set columns.
|
||||
}
|
||||
SERVER_STATUS_METADATA_CHANGED = 1024;
|
||||
{$ENDIF}
|
||||
{$IFDEF mysql55}
|
||||
{$IFDEF mysql55}
|
||||
SERVER_QUERY_WAS_SLOW = 2048;
|
||||
SERVER_PS_OUT_PARAMS = 4096; // To mark ResultSet containing output parameter values.
|
||||
{$ENDIF}
|
||||
{$IFDEF mysql56}
|
||||
{$IFDEF mysql56}
|
||||
SERVER_STATUS_IN_TRANS_READONLY = 8192;
|
||||
{$IFDEF mysql57}
|
||||
SERVER_SESSION_STATE_CHANGED = (1 shl 14); // This status flag, when on, implies that one of the state information has changed on the server because of the execution of the last statement.
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF mysql41}
|
||||
@ -340,7 +366,6 @@ uses
|
||||
type
|
||||
Pst_net = ^st_net;
|
||||
st_net = record
|
||||
{ $if !defined(CHECK_EMBEDDED_DIFFERENCES) || !defined(EMBEDDED_LIBRARY) }
|
||||
vio : PVio;
|
||||
buff : pcuchar;
|
||||
buff_end : pcuchar;
|
||||
@ -365,7 +390,6 @@ uses
|
||||
unused3: my_bool; // Please remove with the next incompatible ABI change
|
||||
{ Pointer to query object in query cache, do not equal NULL (0) for
|
||||
queries in cache that have not stored its results yet }
|
||||
{ $endif }
|
||||
unused: pcuchar;
|
||||
last_errno: cuint;
|
||||
error: cuchar;
|
||||
@ -531,6 +555,24 @@ uses
|
||||
MYSQL_OPTION_MULTI_STATEMENTS_OFF
|
||||
);
|
||||
|
||||
{$IFDEF mysql57}
|
||||
{ Type of state change information that the server can include in the Ok
|
||||
packet.
|
||||
Note : 1) session_state_type shouldn't go past 255 (i.e. 1-byte boundary).
|
||||
2) Modify the definition of SESSION_TRACK_END when a new member is added.
|
||||
}
|
||||
enum_session_state_type = (
|
||||
SESSION_TRACK_SYSTEM_VARIABLES, // Session system variables
|
||||
SESSION_TRACK_SCHEMA, // Current schema
|
||||
SESSION_TRACK_STATE_CHANGE, // track session state changes
|
||||
SESSION_TRACK_GTIDS
|
||||
);
|
||||
|
||||
const
|
||||
SESSION_TRACK_BEGIN = ord(SESSION_TRACK_SYSTEM_VARIABLES);
|
||||
SESSION_TRACK_END = ord(SESSION_TRACK_GTIDS);
|
||||
{$ENDIF}
|
||||
|
||||
function net_new_transaction(net : st_net) : st_net;
|
||||
|
||||
{$IFNDEF LinkDynamically}
|
||||
@ -721,10 +763,6 @@ uses
|
||||
CLIENT_NET_READ_TIMEOUT = 365*24*3600; // Timeout on read
|
||||
CLIENT_NET_WRITE_TIMEOUT = 365*24*3600; // Timeout on write
|
||||
|
||||
{$ifdef NETWARE}
|
||||
(** unsupported pragma#pragma pack(push, 8) /* 8 byte alignment */*)
|
||||
{$endif}
|
||||
|
||||
type
|
||||
Pst_mysql_field = ^st_mysql_field;
|
||||
st_mysql_field = record
|
||||
@ -892,6 +930,9 @@ uses
|
||||
,MYSQL_SERVER_PUBLIC_KEY
|
||||
,MYSQL_ENABLE_CLEARTEXT_PLUGIN
|
||||
,MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS
|
||||
{$IFDEF mysql57}
|
||||
,MYSQL_OPT_SSL_ENFORCE
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
@ -1510,6 +1551,13 @@ uses
|
||||
function mysql_real_query(mysql:PMYSQL; q:Pchar; length:culong):cint;extdecl;external mysqllib name 'mysql_real_query';
|
||||
function mysql_store_result(mysql:PMYSQL):PMYSQL_RES;extdecl;external mysqllib name 'mysql_store_result';
|
||||
function mysql_use_result(mysql:PMYSQL):PMYSQL_RES;extdecl;external mysqllib name 'mysql_use_result';
|
||||
{$IFDEF mysql50}
|
||||
procedure mysql_get_character_set_info(mysql:PMYSQL; charset:PMY_CHARSET_INFO);extdecl;external mysqllib name 'mysql_get_character_set_info';
|
||||
{$IFDEF mysql57}
|
||||
function mysql_session_track_get_first(mysql:PMYSQL; typ:enum_session_state_type; data:ppcchar; length:psize_t):cint; extdecl; external mysqllib name 'mysql_session_track_get_first';
|
||||
function mysql_session_track_get_next(mysql:PMYSQL; typ:enum_session_state_type; data:ppcchar; length:psize_t):cint; extdecl; external mysqllib name 'mysql_session_track_get_next';
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
|
||||
{$ELSE}
|
||||
|
||||
@ -1548,6 +1596,14 @@ uses
|
||||
mysql_real_query: function (mysql:PMYSQL; q:Pchar; length:culong):cint;extdecl;
|
||||
mysql_store_result: function (mysql:PMYSQL):PMYSQL_RES;extdecl;
|
||||
mysql_use_result: function (mysql:PMYSQL):PMYSQL_RES;extdecl;
|
||||
{$IFDEF mysql50}
|
||||
mysql_get_character_set_info: procedure(mysql:PMYSQL; charset:PMY_CHARSET_INFO);extdecl;
|
||||
{$IFDEF mysql57}
|
||||
mysql_session_track_get_first: function(mysql:PMYSQL; typ:enum_session_state_type; data:ppcchar; length:psize_t):cint; extdecl;
|
||||
mysql_session_track_get_next: function(mysql:PMYSQL; typ:enum_session_state_type; data:ppcchar; length:psize_t):cint; extdecl;
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
|
||||
{$ENDIF}
|
||||
|
||||
{$IFNDEF LinkDynamically}
|
||||
@ -1558,9 +1614,6 @@ uses
|
||||
{ perform query on slave }
|
||||
function mysql_slave_query(mysql:PMYSQL; q:Pchar; length:culong):my_bool;extdecl;external mysqllib name 'mysql_slave_query';
|
||||
function mysql_slave_send_query(mysql:PMYSQL; q:Pchar; length:culong):my_bool;extdecl;external mysqllib name 'mysql_slave_send_query';
|
||||
{$IFDEF mysql50}
|
||||
procedure mysql_get_character_set_info(mysql : PMYSQL; charset : PMY_CHARSET_INFO);extdecl;external mysqllib name 'mysql_get_character_set_info';
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
|
||||
{ local infile support }
|
||||
@ -1696,6 +1749,9 @@ uses
|
||||
mysql_options: function (mysql:PMYSQL; option:mysql_option; arg:Pchar):cint;extdecl;
|
||||
{$IFDEF mysql56}
|
||||
mysql_options4: function (mysql:PMYSQL; option:mysql_option; arg1,arg2:Pointer):cint;extdecl;
|
||||
{$IFDEF mysql57}
|
||||
mysql_get_option: function (mysql:PMYSQL; option:mysql_option; arg:Pointer):cint;extdecl;
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
mysql_free_result: procedure (result:PMYSQL_RES);extdecl;
|
||||
mysql_data_seek: procedure (result:PMYSQL_RES; offset:my_ulonglong);extdecl;
|
||||
@ -1708,6 +1764,10 @@ uses
|
||||
mysql_escape_string: function (fto:Pchar; from:Pchar; from_length:culong):culong;extdecl;
|
||||
mysql_hex_string: function (fto:Pchar; from:Pchar; from_length:culong):culong;extdecl;
|
||||
mysql_real_escape_string: function (mysql:PMYSQL; fto:Pchar; from:Pchar; length:culong):culong;extdecl;
|
||||
{$IFDEF mysql57}
|
||||
mysql_real_escape_string_quote: function(mysql:PMYSQL; fto:pcchar; from:pcchar; length:culong; quote: cchar):culong;extdecl;
|
||||
mysql_reset_connection: function(mysql:PMYSQL):cint;extdecl;
|
||||
{$ENDIF}
|
||||
mysql_debug: procedure (debug:Pchar);extdecl;
|
||||
|
||||
mysql_rollback: function (mysql:PMYSQL):my_bool;extdecl;
|
||||
@ -1757,16 +1817,8 @@ uses
|
||||
|
||||
function mysql_reload(mysql : PMySQL) : cint;
|
||||
|
||||
{$IFNDEF LinkDynamically}
|
||||
{$ifdef USE_OLD_FUNCTIONS}
|
||||
function mysql_connect(mysql:PMYSQL; host:Pchar; user:Pchar; passwd:Pchar):PMYSQL;extdecl;external External_library name 'mysql_connect';
|
||||
function mysql_create_db(mysql:PMYSQL; DB:Pchar):cint;extdecl;external External_library name 'mysql_create_db';
|
||||
function mysql_drop_db(mysql:PMYSQL; DB:Pchar):cint;extdecl;external External_library name 'mysql_drop_db';
|
||||
function mysql_reload(mysql : PMySQL) : cint;
|
||||
{$endif}
|
||||
{$endif}
|
||||
{$define HAVE_MYSQL_REAL_CONNECT}
|
||||
|
||||
{$define HAVE_MYSQL_REAL_CONNECT}
|
||||
{ The following functions are mainly exported because of mysqlbinlog;
|
||||
They are not for general usage }
|
||||
|
||||
@ -1775,9 +1827,6 @@ uses
|
||||
function net_safe_read(mysql:PMYSQL):cuint;cdecl;external mysqllib name 'net_safe_read';
|
||||
{$ENDIF}
|
||||
|
||||
{$ifdef NETWARE}
|
||||
(** unsupported pragma#pragma pack(pop) /* restore alignment */*)
|
||||
{$endif}
|
||||
|
||||
{$IFDEF LinkDynamically}
|
||||
Function InitialiseMysql(Const LibraryName : AnsiString) : Integer;
|
||||
@ -1812,6 +1861,7 @@ begin
|
||||
Exit;
|
||||
Inc(RefCount);
|
||||
MysqlLoadedLibrary:=LibraryName;
|
||||
|
||||
// Only the procedure that are given in the c-library documentation are loaded, to
|
||||
// avoid problems with 'incomplete' libraries
|
||||
pointer(my_init) := GetProcedureAddress(MysqlLibraryHandle,'my_init');
|
||||
@ -1821,13 +1871,9 @@ begin
|
||||
pointer(mysql_affected_rows) := GetProcedureAddress(MysqlLibraryHandle,'mysql_affected_rows');
|
||||
pointer(mysql_autocommit) := GetProcedureAddress(MysqlLibraryHandle,'mysql_autocommit');
|
||||
pointer(mysql_change_user) := GetProcedureAddress(MysqlLibraryHandle,'mysql_change_user');
|
||||
// pointer(mysql_charset_name) := GetProcedureAddress(MysqlLibraryHandle,'mysql_charset_name');
|
||||
pointer(mysql_close) := GetProcedureAddress(MysqlLibraryHandle,'mysql_close');
|
||||
pointer(mysql_commit) := GetProcedureAddress(MysqlLibraryHandle,'mysql_commit');
|
||||
// pointer(mysql_connect) := GetProcedureAddress(MysqlLibraryHandle,'mysql_connect');
|
||||
// pointer(mysql_create_db) := GetProcedureAddress(MysqlLibraryHandle,'mysql_create_db');
|
||||
pointer(mysql_data_seek) := GetProcedureAddress(MysqlLibraryHandle,'mysql_data_seek');
|
||||
// pointer(mysql_drop_db) := GetProcedureAddress(MysqlLibraryHandle,'mysql_drop_db');
|
||||
pointer(mysql_debug) := GetProcedureAddress(MysqlLibraryHandle,'mysql_debug');
|
||||
pointer(mysql_dump_debug_info) := GetProcedureAddress(MysqlLibraryHandle,'mysql_dump_debug_info');
|
||||
pointer(mysql_eof) := GetProcedureAddress(MysqlLibraryHandle,'mysql_eof');
|
||||
@ -1870,7 +1916,6 @@ begin
|
||||
pointer(mysql_real_escape_string) := GetProcedureAddress(MysqlLibraryHandle,'mysql_real_escape_string');
|
||||
pointer(mysql_real_query) := GetProcedureAddress(MysqlLibraryHandle,'mysql_real_query');
|
||||
pointer(mysql_refresh) := GetProcedureAddress(MysqlLibraryHandle,'mysql_refresh');
|
||||
// pointer(mysql_reload) := GetProcedureAddress(MysqlLibraryHandle,'mysql_reload');
|
||||
pointer(mysql_rollback) := GetProcedureAddress(MysqlLibraryHandle,'mysql_rollback');
|
||||
pointer(mysql_row_seek) := GetProcedureAddress(MysqlLibraryHandle,'mysql_row_seek');
|
||||
pointer(mysql_row_tell) := GetProcedureAddress(MysqlLibraryHandle,'mysql_row_tell');
|
||||
@ -1884,7 +1929,6 @@ begin
|
||||
pointer(mysql_stat) := GetProcedureAddress(MysqlLibraryHandle,'mysql_stat');
|
||||
pointer(mysql_store_result) := GetProcedureAddress(MysqlLibraryHandle,'mysql_store_result');
|
||||
pointer(mysql_thread_id) := GetProcedureAddress(MysqlLibraryHandle,'mysql_thread_id');
|
||||
// pointer(mysql_thread_save) := GetProcedureAddress(MysqlLibraryHandle,'mysql_thread_save');
|
||||
pointer(mysql_use_result) := GetProcedureAddress(MysqlLibraryHandle,'mysql_use_result');
|
||||
pointer(mysql_warning_count) := GetProcedureAddress(MysqlLibraryHandle,'mysql_warning_count');
|
||||
pointer(mysql_stmt_init) := GetProcedureAddress(MysqlLibraryHandle,'mysql_stmt_init');
|
||||
@ -1915,6 +1959,10 @@ begin
|
||||
pointer(mysql_stmt_insert_id) := GetProcedureAddress(MysqlLibraryHandle,'mysql_stmt_insert_id');
|
||||
pointer(mysql_stmt_field_count) := GetProcedureAddress(MysqlLibraryHandle,'mysql_stmt_field_count');
|
||||
pointer(mysql_stmt_next_result) := GetProcedureAddress(MysqlLibraryHandle,'mysql_stmt_next_result');
|
||||
{$IFDEF mysql57}
|
||||
pointer(mysql_real_escape_string_quote) := GetProcedureAddress(MysqlLibraryHandle,'mysql_real_escape_string_quote');
|
||||
pointer(mysql_reset_connection) := GetProcedureAddress(MysqlLibraryHandle,'mysql_reset_connection');
|
||||
{$ENDIF}
|
||||
|
||||
if mysql_library_init(argc, argv, groups) <> 0 then
|
||||
Exit;
|
||||
|
12
packages/mysql/src/mysql57dyn.pp
Normal file
12
packages/mysql/src/mysql57dyn.pp
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
Contains the MySQL calls for MySQL 5.7
|
||||
}
|
||||
|
||||
unit mysql57dyn;
|
||||
|
||||
{$DEFINE LinkDynamically}
|
||||
{$DEFINE MYSQL57}
|
||||
|
||||
{$i mysql.inc}
|
||||
|
||||
end.
|
Loading…
Reference in New Issue
Block a user