* synchronized with trunk

git-svn-id: branches/wasm@48715 -
This commit is contained in:
nickysn 2021-02-19 03:11:17 +00:00
commit 286ad1df4d
21 changed files with 783 additions and 309 deletions

4
.gitattributes vendored
View File

@ -3404,6 +3404,7 @@ packages/fcl-db/src/datadict/fpddmysql51.pp svneol=native#text/plain
packages/fcl-db/src/datadict/fpddmysql55.pp svneol=native#text/plain
packages/fcl-db/src/datadict/fpddmysql56.pp svneol=native#text/plain
packages/fcl-db/src/datadict/fpddmysql57.pp svneol=native#text/plain
packages/fcl-db/src/datadict/fpddmysql80.pp svneol=native#text/plain
packages/fcl-db/src/datadict/fpddodbc.pp svneol=native#text/plain
packages/fcl-db/src/datadict/fpddoracle.pp svneol=native#text/plain
packages/fcl-db/src/datadict/fpddpq.pp svneol=native#text/plain
@ -3535,6 +3536,7 @@ packages/fcl-db/src/sqldb/mysql/mysql51conn.pas svneol=native#text/plain
packages/fcl-db/src/sqldb/mysql/mysql55conn.pas svneol=native#text/plain
packages/fcl-db/src/sqldb/mysql/mysql56conn.pas svneol=native#text/pascal
packages/fcl-db/src/sqldb/mysql/mysql57conn.pas svneol=native#text/plain
packages/fcl-db/src/sqldb/mysql/mysql80conn.pas svneol=native#text/plain
packages/fcl-db/src/sqldb/mysql/mysqlconn.inc svneol=native#text/plain
packages/fcl-db/src/sqldb/odbc/Makefile svneol=native#text/plain
packages/fcl-db/src/sqldb/odbc/Makefile.fpc svneol=native#text/plain
@ -3921,6 +3923,7 @@ packages/fcl-pdf/Makefile svneol=native#text/plain
packages/fcl-pdf/Makefile.fpc svneol=native#text/plain
packages/fcl-pdf/examples/diamond.png -text svneol=unset#image/png
packages/fcl-pdf/examples/metautf16.pp svneol=native#text/plain
packages/fcl-pdf/examples/monospacetext.pp svneol=native#text/plain
packages/fcl-pdf/examples/poppy.jpg -text
packages/fcl-pdf/examples/testfppdf.lpi svneol=native#text/plain
packages/fcl-pdf/examples/testfppdf.lpr svneol=native#text/plain
@ -7766,6 +7769,7 @@ 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/mysql/src/mysql80dyn.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

View File

@ -1797,12 +1797,16 @@ implementation
reference_reset_base(ref,NR_SP,-16,ctempposinvalid,16,[]);
ref.addressmode:=AM_PREINDEXED;
list.concat(taicpu.op_reg_reg_ref(A_STP,NR_FP,NR_LR,ref));
current_asmdata.asmcfi.cfa_def_cfa_offset(list,2*sizeof(pint));
current_asmdata.asmcfi.cfa_offset(list,NR_FP,-16);
current_asmdata.asmcfi.cfa_offset(list,NR_LR,-8);
if target_info.system=system_aarch64_win64 then
list.concat(cai_seh_directive.create_offset(ash_savefplr_x,16));
{ initialise frame pointer }
if current_procinfo.procdef.proctypeoption<>potype_exceptfilter then
begin
a_load_reg_reg(list,OS_ADDR,OS_ADDR,NR_SP,NR_FP);
current_asmdata.asmcfi.cfa_def_cfa_register(list,NR_FP);
if target_info.system=system_aarch64_win64 then
list.concat(cai_seh_directive.create(ash_setfp));
end

View File

@ -303,7 +303,7 @@ unit cpubase;
NR_MM_RESULT_REG = NR_D0;
NR_RETURN_ADDRESS_REG = NR_FUNCTION_RETURN_REG;
NR_RETURN_ADDRESS_REG = NR_LR;
{ Offset where the parent framepointer is pushed }
PARENT_FRAMEPOINTER_OFFSET = 0;

View File

@ -1907,7 +1907,7 @@ unit cgcpu;
r : byte;
mmregs,
regs, saveregs : tcpuregisterset;
registerarea,
registerarea, offset,
r7offset,
stackmisalignment : pint;
imm1, imm2: DWord;
@ -2005,14 +2005,24 @@ unit cgcpu;
break;
end;
list.concat(setoppostfix(taicpu.op_ref_regset(A_STM,ref,R_INTREGISTER,R_SUBWHOLE,regs),PF_FD));
current_asmdata.asmcfi.cfa_def_cfa_offset(list,registerarea);
end;
if current_procinfo.framepointer<>NR_STACK_POINTER_REG then
begin
offset:=-4;
for r:=RS_R15 downto RS_R0 do
if r in regs then
begin
current_asmdata.asmcfi.cfa_offset(list,newreg(R_INTREGISTER,r,R_SUBWHOLE),offset);
dec(offset,4);
end;
{ the framepointer now points to the saved R15, so the saved
framepointer is at R11-12 (for get_caller_frame) }
list.concat(taicpu.op_reg_reg_const(A_SUB,NR_FRAME_POINTER_REG,NR_R12,4));
a_reg_dealloc(list,NR_R12);
current_asmdata.asmcfi.cfa_def_cfa_register(list,current_procinfo.framepointer);
current_asmdata.asmcfi.cfa_def_cfa_offset(list,4);
end;
end
else
@ -2095,6 +2105,8 @@ unit cgcpu;
list.concat(taicpu.op_reg_reg_reg(A_SUB,NR_STACK_POINTER_REG,NR_STACK_POINTER_REG,NR_R12));
a_reg_dealloc(list,NR_R12);
end;
if current_procinfo.framepointer=NR_STACK_POINTER_REG then
current_asmdata.asmcfi.cfa_def_cfa_offset(list,registerarea+localsize);
end;
if (mmregs<>[]) or

View File

@ -244,8 +244,6 @@ implementation
datatype:=dt_none;
end;
{****************************************************************************
TDwarfAsmCFILowLevel
****************************************************************************}
@ -292,22 +290,16 @@ implementation
{$elseif defined(arm)}
procedure TDwarfAsmCFILowLevel.generate_initial_instructions(list:TAsmList);
begin
if GenerateThumbCode then
begin
list.concat(tai_const.create_8bit(DW_CFA_def_cfa));
list.concat(tai_const.create_uleb128bit(dwarf_reg(NR_STACK_POINTER_REG)));
list.concat(tai_const.create_uleb128bit(0));
end
else
begin
{ FIXME!!! }
list.concat(tai_const.create_8bit(DW_CFA_def_cfa));
list.concat(tai_const.create_uleb128bit(dwarf_reg(NR_STACK_POINTER_REG)));
list.concat(tai_const.create_uleb128bit(sizeof(aint)));
list.concat(tai_const.create_8bit(DW_CFA_offset_extended));
list.concat(tai_const.create_uleb128bit(dwarf_reg(NR_RETURN_ADDRESS_REG)));
list.concat(tai_const.create_uleb128bit((-sizeof(aint)) div data_alignment_factor));
end;
list.concat(tai_const.create_8bit(DW_CFA_def_cfa));
list.concat(tai_const.create_uleb128bit(dwarf_reg(NR_STACK_POINTER_REG)));
list.concat(tai_const.create_uleb128bit(0));
end;
{$elseif defined(aarch64)}
procedure TDwarfAsmCFILowLevel.generate_initial_instructions(list:TAsmList);
begin
list.concat(tai_const.create_8bit(DW_CFA_def_cfa));
list.concat(tai_const.create_uleb128bit(dwarf_reg(NR_STACK_POINTER_REG)));
list.concat(tai_const.create_uleb128bit(0));
end;
{$else}
{ if more cpu dependend stuff is implemented, this needs more refactoring }
@ -555,12 +547,58 @@ implementation
procedure TDwarfAsmCFILowLevel.cfa_advance_loc(list:TAsmList);
var
currloclabel : tasmlabel;
hp : tai;
instrcount : longint;
dwarfloc: Integer;
begin
if FLastloclabel=nil then
internalerror(200404082);
{ search the list backwards and check if we really need an advance loc,
i.e. if real code/data has been generated since the last cfa_advance_loc
call
}
hp:=tai(list.Last);
while assigned(hp) do
begin
{ if we encounter FLastloclabel without encountering code/data, see check below,
we do not need insert an advance_loc entry }
if (hp.typ=ait_label) and (tai_label(hp).labsym=FLastloclabel) then
exit;
{ stop if we find any tai which results in code or data }
if not(hp.typ in ([ait_label]+SkipInstr)) then
break;
hp:=tai(hp.Previous);
end;
{ check if the last advance entry is less then 8 instructions away:
as x86 instructions might not be bigger than 15 bytes and most other
CPUs use only 4 byte instructions or smaller, this is safe
we could search even more but this takes more time and 8 instructions should be normally enough
}
hp:=tai(list.Last);
instrcount:=0;
dwarfloc:=DW_CFA_advance_loc4;
while assigned(hp) and (instrcount<8) do
begin
{ stop if we find any tai which results in code or data }
if not(hp.typ in ([ait_label,ait_instruction]+SkipInstr)) then
break;
if (hp.typ=ait_label) and (tai_label(hp).labsym=FLastloclabel) then
begin
dwarfloc:=DW_CFA_advance_loc1;
break;
end;
if hp.typ=ait_instruction then
inc(instrcount);
hp:=tai(hp.Previous);
end;
current_asmdata.getlabel(currloclabel,alt_dbgframe);
list.concat(tai_label.create(currloclabel));
DwarfList.concat(tdwarfitem.create_reloffset(DW_CFA_advance_loc4,doe_32bit,FLastloclabel,currloclabel));
if dwarfloc=DW_CFA_advance_loc1 then
DwarfList.concat(tdwarfitem.create_reloffset(DW_CFA_advance_loc1,doe_8bit,FLastloclabel,currloclabel))
else
DwarfList.concat(tdwarfitem.create_reloffset(DW_CFA_advance_loc4,doe_32bit,FLastloclabel,currloclabel));
FLastloclabel:=currloclabel;
end;

View File

@ -1597,6 +1597,7 @@ implementation
var
st : string;
ss : ansistring;
i : longint;
begin
ss:='';
{ Don't write info for default parameter values, the N_Func breaks
@ -1609,10 +1610,15 @@ implementation
conststring:
begin
if sym.value.len<200 then
if target_dbg.id=dbg_stabs then
st:='s'''+backspace_quote(octal_quote(strpas(pchar(sym.value.valueptr)),[#0..#9,#11,#12,#14..#31,'''']),['"','\',#10,#13])+''''
else
st:='s'''+stabx_quote_const(octal_quote(strpas(pchar(sym.value.valueptr)),[#0..#9,#11,#12,#14..#31,'''']))+''''
begin
setlength(ss,sym.value.len);
for i:=0 to sym.value.len-1 do
ss[i+1]:=pchar(sym.value.valueptr)[i];
if target_dbg.id=dbg_stabs then
st:='s'''+backspace_quote(octal_quote(ss,[#0..#9,#11,#12,#14..#31,'''']),['"','\',#10,#13])+''''
else
st:='s'''+stabx_quote_const(octal_quote(ss,[#0..#9,#11,#12,#14..#31,'''']))+'''';
end
else
st:='<constant string too long>';
end;

View File

@ -473,6 +473,14 @@ begin
AddUnit('fpddsqldb');
AddUnit('mysql57conn');
end;
T:=P.Targets.AddUnit('fpddmysql80.pp', DatadictOSes);
with T.Dependencies do
begin
AddUnit('sqldb');
AddUnit('fpdatadict');
AddUnit('fpddsqldb');
AddUnit('mysql80conn');
end;
T:=P.Targets.AddUnit('fpddodbc.pp', DatadictOSes);
with T.Dependencies do
begin
@ -716,6 +724,17 @@ begin
AddUnit('dbconst');
end;
T:=P.Targets.AddUnit('mysql80conn.pas', SqldbConnectionOSes);
T.ResourceStrings:=true;
with T.Dependencies do
begin
AddInclude('mysqlconn.inc');
AddUnit('bufdataset');
AddUnit('sqldb');
AddUnit('db');
AddUnit('dbconst');
end;
T:=P.Targets.AddUnit('odbcconn.pas', SqldbConnectionOSes);
with T.Dependencies do
begin

View File

@ -1465,6 +1465,7 @@ var
i,r : integer;
iGetResult : TGetResult;
pc : TRecordBuffer;
CurBufIndex: TBufDatasetIndex;
begin
FOpen:=False;
@ -1514,10 +1515,17 @@ begin
if FAutoIncValue>-1 then FAutoIncValue:=1;
if assigned(FParser) then FreeAndNil(FParser);
For I:=FIndexes.Count-1 downto 0 do
if (BufIndexDefs[i].IndexType in [itDefault,itCustom]) or (BufIndexDefs[i].DiscardOnClose) then
BufIndexDefs[i].Free
begin
CurBufIndex:=BufIndexDefs[i];
if (CurBufIndex.IndexType in [itDefault,itCustom]) or (CurBufIndex.DiscardOnClose) then
begin
if FCurrentIndexDef=CurBufIndex then
FCurrentIndexDef:=nil;
CurBufIndex.Free;
end
else
FreeAndNil(BufIndexDefs[i].FBufferIndex);
FreeAndNil(CurBufIndex.FBufferIndex);
end;
end;
procedure TCustomBufDataset.InternalFirst;
@ -3149,16 +3157,18 @@ function TCustomBufDataset.GetIndexFieldNames: String;
var
i, p: integer;
s: string;
IndexBuf: TBufIndex;
begin
Result := FIndexFieldNames;
if (CurrentIndexBuf=Nil) then
IndexBuf:=CurrentIndexBuf;
if (IndexBuf=Nil) then
Exit;
Result:='';
for i := 1 to WordCount(CurrentIndexBuf.FieldsName, [Limiter]) do
for i := 1 to WordCount(IndexBuf.FieldsName, [Limiter]) do
begin
s := ExtractDelimited(i, CurrentIndexBuf.FieldsName, [Limiter]);
p := Pos(s, CurrentIndexBuf.DescFields);
s := ExtractDelimited(i, IndexBuf.FieldsName, [Limiter]);
p := Pos(s, IndexBuf.DescFields);
if p>0 then
s := s + Desc;
Result := Result + Limiter + s;

View File

@ -0,0 +1,74 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2007 by Michael Van Canneyt, member of the
Free Pascal development team
MySQL 8.0 Data Dictionary Engine Implementation.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
unit fpddmysql80;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, sqldb, fpdatadict, fpddsqldb;
Type
{ TSQLDBMySql80DDEngine }
TSQLDBMySql80DDEngine = Class(TSQLDBDDEngine)
Protected
Function CreateConnection(AConnectString : String) : TSQLConnection; override;
Public
Class function Description : string; override;
Class function DBType : String; override;
end;
Procedure RegisterMySQL80DDEngine;
Procedure UnRegisterMySQL80DDEngine;
implementation
uses mysql80conn;
Procedure RegisterMySQL80DDEngine;
begin
RegisterDictionaryEngine(TSQLDBMySQL80DDEngine);
end;
Procedure UnRegisterMySQL80DDEngine;
begin
UnRegisterDictionaryEngine(TSQLDBMySQL80DDEngine);
end;
{ TSQLDBMySql80DDEngine }
function TSQLDBMySql80DDEngine.CreateConnection(AConnectString: String
): TSQLConnection;
begin
Result:=mysql80conn.TMySQL80Connection.Create(Self);
end;
class function TSQLDBMySql80DDEngine.Description: string;
begin
Result:='Mysql 8.0 connection using SQLDB';
end;
class function TSQLDBMySql80DDEngine.DBType: String;
begin
Result:='MySQL 8.0';
end;
end.

View File

@ -350,634 +350,634 @@ endif
override PACKAGE_NAME=fcl-db
PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-db/Makefile.fpc,$(PACKAGESDIR))))))
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-win32)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-os2)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-beos)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-haiku)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-netware)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-emx)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-watcom)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-wince)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-symbian)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-nativent)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-iphonesim)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-android)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-aros)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-atari)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-macosclassic)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-sinclairql)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-macosclassic)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-wii)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-aix)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),sparc-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-haiku)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-netbsd)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-openbsd)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-iphonesim)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-android)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-aros)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-dragonfly)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-netbsd)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-wince)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-gba)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-nds)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-symbian)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-android)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-aros)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-freertos)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-ios)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc64-aix)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),avr-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),armeb-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),armeb-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),mips-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),mipsel-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),mipsel-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),mipsel-android)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),mips64el-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),jvm-java)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),jvm-android)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i8086-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i8086-msdos)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i8086-win16)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),aarch64-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),aarch64-darwin)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),aarch64-win64)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),aarch64-android)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),aarch64-ios)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),wasm32-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),wasm32-wasi)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
endif
ifeq ($(FULL_TARGET),sparc64-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),riscv32-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),riscv32-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),riscv64-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),riscv64-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),xtensa-linux)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),xtensa-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),xtensa-freertos)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),z80-embedded)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),z80-zxspectrum)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),z80-msxdos)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),z80-amstradcpc)
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-win32)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-os2)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-beos)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-haiku)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-netware)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-emx)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-watcom)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-wince)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-symbian)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-nativent)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-iphonesim)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-android)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i386-aros)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-atari)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-macosclassic)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),m68k-sinclairql)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-macosclassic)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-wii)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc-aix)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),sparc-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-haiku)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-netbsd)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-openbsd)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-iphonesim)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-android)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-aros)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),x86_64-dragonfly)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-netbsd)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-wince)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-gba)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-nds)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-symbian)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-android)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-aros)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-freertos)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),arm-ios)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),powerpc64-aix)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),avr-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),armeb-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),armeb-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),mips-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),mipsel-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),mipsel-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),mipsel-android)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),mips64el-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),jvm-java)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),jvm-android)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i8086-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i8086-msdos)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),i8086-win16)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),aarch64-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),aarch64-darwin)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),aarch64-win64)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),aarch64-android)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),aarch64-ios)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),wasm32-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),wasm32-wasi)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
endif
ifeq ($(FULL_TARGET),sparc64-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),riscv32-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),riscv32-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),riscv64-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),riscv64-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),xtensa-linux)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),xtensa-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),xtensa-freertos)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),z80-embedded)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),z80-zxspectrum)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),z80-msxdos)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
ifeq ($(FULL_TARGET),z80-amstradcpc)
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
endif
override INSTALL_FPCPACKAGE=y
ifeq ($(FULL_TARGET),i386-linux)

View File

@ -6,8 +6,8 @@
main=fcl-db
[target]
units=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
rsts=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn
units=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
rsts=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
[require]
packages=fcl-xml mysql

View File

@ -0,0 +1,12 @@
{
Contains the TMysqlConnection for MySQL 8.0
}
unit mysql80conn;
{$DEFINE MYSQL80_UP}
{$DEFINE MYSQL80}
{$i mysqlconn.inc}
end.

View File

@ -1,3 +1,6 @@
{$IFDEF MYSQL80_UP}
{$DEFINE MYSQL57_UP}
{$ENDIF}
{$IFDEF MYSQL57_UP}
{$DEFINE MYSQL56_UP}
{$ENDIF}
@ -17,6 +20,9 @@ interface
uses
Classes, SysUtils,bufdataset,sqldb,db,ctypes,fmtbcd,
{$IFDEF mysql80}
mysql80dyn;
{$ELSE}
{$IFDEF mysql57}
mysql57dyn;
{$ELSE}
@ -42,9 +48,13 @@ uses
{$endif}
{$ENDIF}
{$ENDIF}
{$ENDIF}
Const
MySQLVersion =
{$IFDEF mysql80}
'8.0';
{$ELSE}
{$IFDEF mysql57}
'5.7';
{$ELSE}
@ -69,6 +79,7 @@ Const
{$endif}
{$endif}
{$ENDIF}
{$ENDIF}
{$ENDIF}
MariaDBVersion =
@ -96,6 +107,7 @@ Type
FPreparedStatement : String;
// Statement with param placeholders replaced with actual values.
FActualStatement : String;
FStatement : String;
Row : MYSQL_ROW;
Lengths : pculong; { Lengths of the columns of the current row }
RowsAffected : QWord;
@ -209,6 +221,12 @@ Type
end;
{$IFDEF mysql80}
TMySQL80Connection = Class(TConnectionName);
TMySQL80ConnectionDef = Class(TMySQLConnectionDef);
TMySQL80Transaction = Class(TTransactionName);
TMySQL80Cursor = Class(TCursorName);
{$ELSE}
{$IFDEF mysql57}
TMySQL57Connection = Class(TConnectionName);
TMySQL57ConnectionDef = Class(TMySQLConnectionDef);
@ -255,6 +273,7 @@ Type
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
implementation
@ -264,15 +283,57 @@ uses
DateUtils;
const
Mysql_Option_Names : array[mysql_option] of string = ('MYSQL_OPT_CONNECT_TIMEOUT','MYSQL_OPT_COMPRESS',
'MYSQL_OPT_NAMED_PIPE','MYSQL_INIT_COMMAND',
'MYSQL_READ_DEFAULT_FILE','MYSQL_READ_DEFAULT_GROUP',
'MYSQL_SET_CHARSET_DIR','MYSQL_SET_CHARSET_NAME',
'MYSQL_OPT_LOCAL_INFILE','MYSQL_OPT_PROTOCOL',
'MYSQL_SHARED_MEMORY_BASE_NAME','MYSQL_OPT_READ_TIMEOUT',
'MYSQL_OPT_WRITE_TIMEOUT','MYSQL_OPT_USE_RESULT',
'MYSQL_OPT_USE_REMOTE_CONNECTION','MYSQL_OPT_USE_EMBEDDED_CONNECTION',
'MYSQL_OPT_GUESS_CONNECTION','MYSQL_SET_CLIENT_IP',
Mysql_Option_Names : array[mysql_option] of string = (
'MYSQL_OPT_CONNECT_TIMEOUT',
'MYSQL_OPT_COMPRESS',
'MYSQL_OPT_NAMED_PIPE',
'MYSQL_INIT_COMMAND',
'MYSQL_READ_DEFAULT_FILE',
'MYSQL_READ_DEFAULT_GROUP',
'MYSQL_SET_CHARSET_DIR',
'MYSQL_SET_CHARSET_NAME',
'MYSQL_OPT_LOCAL_INFILE',
'MYSQL_OPT_PROTOCOL',
'MYSQL_SHARED_MEMORY_BASE_NAME',
'MYSQL_OPT_READ_TIMEOUT',
'MYSQL_OPT_WRITE_TIMEOUT',
'MYSQL_OPT_USE_RESULT'
{$IFDEF MYSQL80}
,'MYSQL_REPORT_DATA_TRUNCATION',
'MYSQL_OPT_RECONNECT',
'MYSQL_PLUGIN_DIR',
'MYSQL_DEFAULT_AUTH',
'MYSQL_OPT_BIND',
'MYSQL_OPT_SSL_KEY',
'MYSQL_OPT_SSL_CERT',
'MYSQL_OPT_SSL_CA',
'MYSQL_OPT_SSL_CAPATH',
'MYSQL_OPT_SSL_CIPHER',
'MYSQL_OPT_SSL_CRL',
'MYSQL_OPT_SSL_CRLPATH',
'MYSQL_OPT_CONNECT_ATTR_RESET',
'MYSQL_OPT_CONNECT_ATTR_ADD',
'MYSQL_OPT_CONNECT_ATTR_DELETE',
'MYSQL_SERVER_PUBLIC_KEY',
'MYSQL_ENABLE_CLEARTEXT_PLUGIN',
'MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS',
'MYSQL_OPT_MAX_ALLOWED_PACKET',
'MYSQL_OPT_NET_BUFFER_LENGTH',
'MYSQL_OPT_TLS_VERSION',
'MYSQL_OPT_SSL_MODE',
'MYSQL_OPT_GET_SERVER_PUBLIC_KEY',
'MYSQL_OPT_RETRY_COUNT',
'MYSQL_OPT_OPTIONAL_RESULTSET_METADATA',
'MYSQL_OPT_SSL_FIPS_MODE',
'MYSQL_OPT_TLS_CIPHERSUITES',
'MYSQL_OPT_COMPRESSION_ALGORITHMS',
'MYSQL_OPT_ZSTD_COMPRESSION_LEVEL',
'MYSQL_OPT_LOAD_DATA_LOCAL_DIR'
{$ELSE}
,'MYSQL_OPT_USE_REMOTE_CONNECTION',
'MYSQL_OPT_USE_EMBEDDED_CONNECTION',
'MYSQL_OPT_GUESS_CONNECTION',
'MYSQL_SET_CLIENT_IP',
'MYSQL_SECURE_AUTH'
{$IFDEF MYSQL50_UP}
,'MYSQL_REPORT_DATA_TRUNCATION', 'MYSQL_OPT_RECONNECT'
@ -293,6 +354,7 @@ const
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
);
@ -300,9 +362,9 @@ Resourcestring
SErrServerConnectFailed = 'Server connect failed.';
SErrSetCharsetFailed = 'Failed to set connection character set: %s';
SErrDatabaseSelectFailed = 'Failed to select database: %s';
SErrDatabaseCreate = 'Failed to create database: %s';
SErrDatabaseDrop = 'Failed to drop database: %s';
SErrNoData = 'No data for record';
//SErrDatabaseCreate = 'Failed to create database: %s';
//SErrDatabaseDrop = 'Failed to drop database: %s';
//SErrNoData = 'No data for record';
SErrExecuting = 'Error executing query: %s';
SErrFetchingdata = 'Error fetching row data: %s';
SErrGettingResult = 'Error getting result set: %s';
@ -547,6 +609,9 @@ end;
Function TConnectionName.AllocateCursorHandle: TSQLCursor;
begin
{$IFDEF mysql80}
Result:=TMySQL80Cursor.Create;
{$ELSE}
{$IFDEF mysql57}
Result:=TMySQL57Cursor.Create;
{$ELSE}
@ -572,6 +637,7 @@ begin
{$EndIf}
{$ENDIF}
{$ENDIF}
{$ENDIF}
end;
Procedure TConnectionName.DeAllocateCursorHandle(var cursor : TSQLCursor);
@ -597,7 +663,7 @@ begin
if assigned(AParams) and (AParams.count > 0) then
FPreparedStatement := AParams.ParseSQL(FPreparedStatement,false,sqEscapeSlash in ConnOptions, sqEscapeRepeat in ConnOptions,psSimulated,paramBinding,ParamReplaceString);
FPrepared:=True;
end
end;
end;
procedure TConnectionName.UnPrepareStatement(cursor: TSQLCursor);
@ -743,8 +809,6 @@ begin
begin
if AField^.flags and AUTO_INCREMENT_FLAG <> 0 then
NewType := ftAutoInc
else if AField^.flags and UNSIGNED_FLAG <> 0 then
NewType := ftLongWord
else
NewType := ftInteger;
end;
@ -1417,6 +1481,9 @@ end;
class function TMySQLConnectionDef.ConnectionClass: TSQLConnectionClass;
begin
{$IFDEF mysql80}
Result:=TMySQL80Connection;
{$ELSE}
{$IFDEF mysql57}
Result:=TMySQL57Connection;
{$ELSE}
@ -1442,6 +1509,7 @@ begin
{$endif}
{$ENDIF}
{$ENDIF}
{$ENDIF}
end;
class function TMySQLConnectionDef.Description: String;
@ -1469,6 +1537,12 @@ begin
Result:=MysqlLoadedLibrary;
end;
{$IFDEF mysql80}
initialization
RegisterConnection(TMySQL80ConnectionDef);
finalization
UnRegisterConnection(TMySQL80ConnectionDef);
{$ELSE}
{$IFDEF mysql57}
initialization
RegisterConnection(TMySQL57ConnectionDef);
@ -1512,7 +1586,8 @@ end;
{$EndIf}
{$EndIf}
{$ENDIF}
{$endif}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}

View File

@ -3137,7 +3137,7 @@ begin
UpdateServerIndexDefs;
FStatement.Execute;
if not Cursor.FSelectable then
if (Cursor=nil) or (not Cursor.FSelectable) then
DatabaseError(SErrNoSelectStatement,Self);
// InternalInitFieldDef is only called after a prepare. i.e. not twice if

View File

@ -7,7 +7,7 @@ interface
uses
Classes, SysUtils, toolsunit
,db, sqldb
,mysql40conn, mysql41conn, mysql50conn, mysql51conn, mysql55conn, mysql56conn, mysql57conn
,mysql40conn, mysql41conn, mysql50conn, mysql51conn, mysql55conn, mysql56conn, mysql57conn, mysql80conn
,ibconnection
,pqconnection
,odbcconn
@ -20,13 +20,13 @@ uses
;
type
TSQLConnType = (mysql40,mysql41,mysql50,mysql51,mysql55,mysql56,mysql57,postgresql,interbase,odbc,oracle,sqlite3,mssql,sybase);
TSQLConnType = (mysql40,mysql41,mysql50,mysql51,mysql55,mysql56,mysql57,mysql80,postgresql,interbase,odbc,oracle,sqlite3,mssql,sybase);
TSQLServerType = (ssFirebird, ssInterbase, ssMSSQL, ssMySQL, ssOracle, ssPostgreSQL, ssSQLite, ssSybase, ssUnknown);
const
MySQLConnTypes = [mysql40,mysql41,mysql50,mysql51,mysql55,mysql56,mysql57];
MySQLConnTypes = [mysql40,mysql41,mysql50,mysql51,mysql55,mysql56,mysql57,mysql80];
SQLConnTypesNames : Array [TSQLConnType] of String[19] =
('MYSQL40','MYSQL41','MYSQL50','MYSQL51','MYSQL55','MYSQL56','MYSQL57','POSTGRESQL','INTERBASE','ODBC','ORACLE','SQLITE3','MSSQL','SYBASE');
('MYSQL40','MYSQL41','MYSQL50','MYSQL51','MYSQL55','MYSQL56','MYSQL57','MYSQL80','POSTGRESQL','INTERBASE','ODBC','ORACLE','SQLITE3','MSSQL','SYBASE');
STestNotApplicable = 'This test does not apply to this sqldb connection type';
@ -150,7 +150,7 @@ const
// fall back mapping (e.g. in case GetConnectionInfo(citServerType) is not implemented)
SQLConnTypeToServerTypeMap : array[TSQLConnType] of TSQLServerType =
(ssMySQL,ssMySQL,ssMySQL,ssMySQL,ssMySQL,ssMySQL,ssMySQL,ssPostgreSQL,ssFirebird,ssUnknown,ssOracle,ssSQLite,ssMSSQL,ssSybase);
(ssMySQL,ssMySQL,ssMySQL,ssMySQL,ssMySQL,ssMySQL,ssMySQL,ssMysql,ssPostgreSQL,ssFirebird,ssUnknown,ssOracle,ssSQLite,ssMSSQL,ssSybase);
function IdentifierCase(const s: string): string;
@ -183,6 +183,7 @@ begin
MYSQL55: Fconnection := TMySQL55Connection.Create(nil);
MYSQL56: Fconnection := TMySQL56Connection.Create(nil);
MYSQL57: Fconnection := TMySQL57Connection.Create(nil);
MYSQL80: Fconnection := TMySQL80Connection.Create(nil);
SQLITE3: Fconnection := TSQLite3Connection.Create(nil);
POSTGRESQL: Fconnection := TPQConnection.Create(nil);
INTERBASE : Fconnection := TIBConnection.Create(nil);

View File

@ -0,0 +1,56 @@
program monospacetext;
{$mode objfpc}{$H+}
{$codepage UTF8}
uses
Classes, SysUtils,
fpPDF;
var
PDF: TPDFDocument;
Font1, Font2, Font3, Font4: integer;
begin
if ParamCount<1 then
begin
Writeln(stderr,'Usage : monospacetext <fontdir>');
Writeln(stderr,'Needed fonts : cour.ttf, arial.ttf, verdanab.ttf consola.ttf');
Halt(1);
end;
PDF := TPDFDocument.Create(nil);
PDF.Infos.Producer := '';
PDF.Infos.CreationDate := Now;
PDF.Options := [poPageOriginAtTop, {poNoEmbeddedFonts,} poSubsetFont, poCompressFonts, poCompressImages];
PDF.DefaultOrientation := ppoPortrait;
PDF.DefaultPaperType := ptA4;
PDF.DefaultUnitOfMeasure := uomMillimeters;
PDF.FontDirectory := paramstr(1);
PDF.StartDocument;
PDF.Sections.AddSection;
PDF.Sections[0].AddPage(PDF.Pages.AddPage);;
//FontIndex := PDF.AddFont('Courier');
Font1 := PDF.AddFont('cour.ttf', 'Courier New');
Font2 := PDF.AddFont('arial.ttf', 'Arial');
Font3 := PDF.AddFont('verdanab.ttf', 'Verdana');
Font4 := PDF.AddFont('consola.ttf', 'Consolas');
PDF.Pages[0].SetFont(Font1, 10);
PDF.Pages[0].WriteText(10,10,'AEIOU-ÁÉÍÓÚ-ČŠŇŽ');
PDF.Pages[0].WriteText(10,15,'----------------');
PDF.Pages[0].SetFont(Font2, 10);
PDF.Pages[0].WriteText(10,30,'AEIOU-ÁÉÍÓÚ-ČŠŇŽ');
PDF.Pages[0].WriteText(10,35,'----------------');
PDF.Pages[0].SetFont(Font3, 10);
PDF.Pages[0].WriteText(10,40,'AEIOU-ÁÉÍÓÚ-ČŠŇŽ');
PDF.Pages[0].WriteText(10,45,'----------------');
PDF.Pages[0].SetFont(Font4, 10);
PDF.Pages[0].WriteText(10,50,'AEIOU-ÁÉÍÓÚ-ČŠŇŽ');
PDF.Pages[0].WriteText(10,55,'----------------');
PDF.SaveToFile('test.pdf');
PDF.Free;
end.

View File

@ -822,13 +822,13 @@ begin
if embed and not Embeddable then
raise ETTF.Create(rsFontEmbeddingNotAllowed);
PrepareEncoding(Encoding);
// MissingWidth:=ToNatural(Widths[Chars[CharCodes^[32]]].AdvanceWidth); // Char(32) - Space character
FMissingWidth := Widths[Chars[CharCodes^[32]]].AdvanceWidth; // Char(32) - Space character
// MissingWidth:=ToNatural(GetAdvanceWidth(Chars[CharCodes^[32]])); // Char(32) - Space character
FMissingWidth := GetAdvanceWidth(Chars[CharCodes^[32]]); // Char(32) - Space character
for I:=0 to 255 do
begin
if (CharCodes^[i]>=0) and (CharCodes^[i]<=High(Chars))
and (Widths[Chars[CharCodes^[i]]].AdvanceWidth> 0) and (CharNames^[i]<> '.notdef') then
CharWidth[I]:= ToNatural(Widths[Chars[CharCodes^[I]]].AdvanceWidth)
and (GetAdvanceWidth(Chars[CharCodes^[i]])> 0) and (CharNames^[i]<> '.notdef') then
CharWidth[I]:= ToNatural(GetAdvanceWidth(Chars[CharCodes^[I]]))
else
CharWidth[I]:= FMissingWidth;
end;
@ -930,8 +930,19 @@ begin
end;
function TTFFileInfo.GetAdvanceWidth(AIndex: word): word;
var
i: SizeInt;
begin
Result := Widths[AIndex].AdvanceWidth;
// There may be more glyphs than elements in the array, in which
// case the last entry is to be used.
// https://docs.microsoft.com/en-us/typography/opentype/spec/hmtx
i := Length(Widths);
if AIndex >= i then
Dec(i)
else
i := AIndex;
Result := Widths[i].AdvanceWidth;
end;
function TTFFileInfo.ItalicAngle: single;
@ -972,7 +983,7 @@ function TTFFileInfo.GetMissingWidth: integer;
begin
if FMissingWidth = 0 then
begin
FMissingWidth := Widths[Chars[CharCodes^[32]]].AdvanceWidth; // 32 is in reference to the Space character
FMissingWidth := GetAdvanceWidth(Chars[CharCodes^[32]]); // 32 is in reference to the Space character
end;
Result := FMissingWidth;
end;

View File

@ -940,12 +940,18 @@ end;
function TFontSubsetter.buildHmtxTable: TStream;
var
n: integer;
GID: longint;
LastGID: longint;
begin
Result := TMemoryStream.Create;
LastGID := Length(FFontInfo.Widths)-1;
for n := 0 to FGlyphIDs.Count-1 do
begin
WriteUInt16(Result, FFontInfo.Widths[FGlyphIDs[n].GID].AdvanceWidth);
WriteInt16(Result, FFontInfo.Widths[FGlyphIDs[n].GID].LSB);
GID := FGlyphIDs[n].GID;
if GID > LastGID then
GID := LastGID;
WriteUInt16(Result, FFontInfo.Widths[GID].AdvanceWidth);
WriteInt16(Result, FFontInfo.Widths[GID].LSB);
end;
end;

View File

@ -151,6 +151,13 @@ begin
end;
T.ResourceStrings := True;
T:=P.Targets.AddUnit('mysql80dyn.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');

View File

@ -31,7 +31,9 @@ uses
{$DEFINE extdecl:=cdecl}
const
mysqllib = 'libmysqlclient.'+sharedsuffix;
{$IF DEFINED(mysql57)}
{$IF DEFINED(mysql80)}
mysqlvlib = mysqllib+'.21';
{$ELSEIF DEFINED(mysql57)}
mysqlvlib = mysqllib+'.20';
{$ELSEIF DEFINED(mysql55) or DEFINED(mysql56)}
mysqlvlib = mysqllib+'.18';
@ -53,6 +55,10 @@ uses
{$ENDIF}
{$IFDEF mysql80}
{$DEFINE mysql57}
{$ENDIF mysql80}
{$IFDEF mysql57}
{$DEFINE mysql56}
{$ENDIF mysql57}
@ -151,22 +157,46 @@ uses
MYSQL_SERVICENAME = 'MySQL';
type
enum_server_command = (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,COM_DELAYED_INSERT,
COM_CHANGE_USER,COM_BINLOG_DUMP,COM_TABLE_DUMP,
COM_CONNECT_OUT,COM_REGISTER_SLAVE,
enum_server_command = (
COM_SLEEP,
COM_QUIT,
COM_INIT_DB,
COM_QUERY,
COM_FIELD_LIST,
COM_CREATE_DB,
COM_DROP_DB,
COM_REFRESH,
COM_SHUTDOWN, // deprecated
COM_STATISTICS,
COM_PROCESS_INFO,
COM_CONNECT,
COM_PROCESS_KILL,
COM_DEBUG,
COM_PING,
COM_TIME,
COM_DELAYED_INSERT,
COM_CHANGE_USER,
COM_BINLOG_DUMP,
COM_TABLE_DUMP,
COM_CONNECT_OUT,
COM_REGISTER_SLAVE,
{$IFDEF mysql50}
COM_STMT_PREPARE, COM_STMT_EXECUTE, COM_STMT_SEND_LONG_DATA, COM_STMT_CLOSE,
COM_STMT_RESET, COM_SET_OPTION, COM_STMT_FETCH,
COM_STMT_PREPARE,
COM_STMT_EXECUTE,
COM_STMT_SEND_LONG_DATA,
COM_STMT_CLOSE,
COM_STMT_RESET,
COM_SET_OPTION,
COM_STMT_FETCH,
{$IFDEF mysql51}
COM_DAEMON,
{$IFDEF mysql56}
COM_BINLOG_DUMP_GTID,
{$IFDEF mysql57}
COM_RESET_CONNECTION,
{$IFDEF mysql80}
COM_CLONE,
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
@ -236,6 +266,11 @@ uses
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
{$IFDEF mysql80}
FIELD_IS_MARKED = (1 shl 28); // Intern: field is marked, general purpose
NOT_SECONDARY_FLAG = (1 << 29); // Field will not be loaded in secondary engine.
FIELD_IS_INVISIBLE = (1 << 30); // Field is explicitly marked as invisible by the user.
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
@ -247,7 +282,8 @@ uses
REFRESH_HOSTS = 8; // Flush host cache
REFRESH_STATUS = 16; // Flush status variables
REFRESH_THREADS = 32; // Flush thread cache
REFRESH_SLAVE = 64; // Reset master info and restart slave thread
REFRESH_REPLICA = 64; // Reset master info and restart replica thread
REFRESH_SLAVE = REFRESH_REPLICA; // Reset master info and restart slave thread
REFRESH_MASTER = 128; // Remove all bin logs in the index and truncate the index
REFRESH_ERROR_LOG = 256; // Rotate only the erorr log
REFRESH_ENGINE_LOG = 512; // Flush all storage engine logs
@ -259,13 +295,19 @@ uses
{ The following can't be set with mysql_refresh() }
REFRESH_READ_LOCK = 16384; // Lock tables for read
REFRESH_FAST = 32768; // Intern flag
{$IFNDEF mysql80}
REFRESH_QUERY_CACHE = 65536; // RESET (remove all queries) from query cache
REFRESH_QUERY_CACHE_FREE = $20000; // pack query cache
REFRESH_DES_KEY_FILE = $40000;
{$ENDIF}
REFRESH_USER_RESOURCES = $80000;
REFRESH_FOR_EXPORT = $100000; // FLUSH TABLES ... FOR EXPORT
REFRESH_OPTIMIZER_COSTS = $200000; // FLUSH OPTIMIZER_COSTS
{$IFDEF mysql80}
REFRESH_PERSIST = $400000; // RESET PERSIST
{$ENDIF}
CLIENT_LONG_PASSWORD = 1; // new more secure passwords
CLIENT_FOUND_ROWS = 2; // Found instead of affected rows
@ -292,6 +334,11 @@ uses
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
{$IFDEF mysql80}
CLIENT_OPTIONAL_RESULTSET_METADATA : cardinal = (1 shl 25); // client can handle optional metadata information in the resultset
CLIENT_ZSTD_COMPRESSION_ALGORITHM : cardinal = (1 shl 26); // Client sets this flag when it is configured to use zstd compression method
CLIENT_QUERY_ATTRIBUTES : cardinal = (1 shl 27); // Can send the optional part containing the query parameter set(s)
{$ENDIF}
CLIENT_SSL_VERIFY_SERVER_CERT : cardinal = 1 shl 30;
CLIENT_REMEMBER_OPTIONS : cardinal = 1 shl 31;
@ -384,17 +431,17 @@ uses
return_status: pcuint;
reading_or_writing: cuchar;
save_char: cchar;
unused1: my_bool; // Please remove with the next incompatible ABI change
unused2: my_bool; // Please remove with the next incompatible ABI change
unused1: my_bool; // Please remove with the next incompatible ABI change
unused2: my_bool; // Please remove with the next incompatible ABI change
compress: my_bool;
unused3: my_bool; // Please remove with the next incompatible ABI change
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 }
unused: pcuchar;
unused: pcuchar;
last_errno: cuint;
error: cuchar;
unused4: my_bool; // Please remove with the next incompatible ABI change
unused5: my_bool; // Please remove with the next incompatible ABI change
unused4: my_bool; // Please remove with the next incompatible ABI change
unused5: my_bool; // Please remove with the next incompatible ABI change
{ Client library error message buffer. Actually belongs to struct MYSQL. }
last_error: array[0..MYSQL_ERRMSG_SIZE-1] of cchar;
{ Client library sqlstate buffer. Set along with the error message. }
@ -462,25 +509,44 @@ uses
packet_error : culong = culong(not(0));
type
enum_field_types = (MYSQL_TYPE_DECIMAL,MYSQL_TYPE_TINY,
MYSQL_TYPE_SHORT,MYSQL_TYPE_LONG,MYSQL_TYPE_FLOAT,
MYSQL_TYPE_DOUBLE,MYSQL_TYPE_NULL,
MYSQL_TYPE_TIMESTAMP,MYSQL_TYPE_LONGLONG,
MYSQL_TYPE_INT24,MYSQL_TYPE_DATE,MYSQL_TYPE_TIME,
MYSQL_TYPE_DATETIME,MYSQL_TYPE_YEAR,
enum_field_types = (
MYSQL_TYPE_DECIMAL,
MYSQL_TYPE_TINY,
MYSQL_TYPE_SHORT,
MYSQL_TYPE_LONG,
MYSQL_TYPE_FLOAT,
MYSQL_TYPE_DOUBLE,
MYSQL_TYPE_NULL,
MYSQL_TYPE_TIMESTAMP,
MYSQL_TYPE_LONGLONG,
MYSQL_TYPE_INT24,
MYSQL_TYPE_DATE,
MYSQL_TYPE_TIME,
MYSQL_TYPE_DATETIME,
MYSQL_TYPE_YEAR,
MYSQL_TYPE_NEWDATE,
{$IFDEF mysql50}
MYSQL_TYPE_VARCHAR, MYSQL_TYPE_BIT,
{$IFDEF mysql56}
MYSQL_TYPE_TIMESTAMP2, MYSQL_TYPE_DATETIME2, MYSQL_TYPE_TIME2,
{$IFDEF mysql80}
MYSQL_TYPE_TYPED_ARRAY, // Used for replication only
MYSQL_TYPE_INVALID := 243,
MYSQL_TYPE_BOOL := 244, // Currently just a placeholder
MYSQL_TYPE_JSON := 245,
{$ENDIF}
{$ENDIF}
MYSQL_TYPE_NEWDECIMAL := 246,
{$ENDIF}
MYSQL_TYPE_ENUM := 247,
MYSQL_TYPE_SET := 248,MYSQL_TYPE_TINY_BLOB := 249,
MYSQL_TYPE_MEDIUM_BLOB := 250,MYSQL_TYPE_LONG_BLOB := 251,
MYSQL_TYPE_BLOB := 252,MYSQL_TYPE_VAR_STRING := 253,
MYSQL_TYPE_STRING := 254,MYSQL_TYPE_GEOMETRY := 255
MYSQL_TYPE_SET := 248,
MYSQL_TYPE_TINY_BLOB := 249,
MYSQL_TYPE_MEDIUM_BLOB := 250,
MYSQL_TYPE_LONG_BLOB := 251,
MYSQL_TYPE_BLOB := 252,
MYSQL_TYPE_VAR_STRING := 253,
MYSQL_TYPE_STRING := 254,
MYSQL_TYPE_GEOMETRY := 255
);
{ For backward compatibility }
@ -907,15 +973,57 @@ uses
MYSQL_DATA = st_mysql_data;
PMYSQL_DATA = ^MYSQL_DATA;
mysql_option = (MYSQL_OPT_CONNECT_TIMEOUT,MYSQL_OPT_COMPRESS,
MYSQL_OPT_NAMED_PIPE,MYSQL_INIT_COMMAND,
MYSQL_READ_DEFAULT_FILE,MYSQL_READ_DEFAULT_GROUP,
MYSQL_SET_CHARSET_DIR,MYSQL_SET_CHARSET_NAME,
MYSQL_OPT_LOCAL_INFILE,MYSQL_OPT_PROTOCOL,
MYSQL_SHARED_MEMORY_BASE_NAME,MYSQL_OPT_READ_TIMEOUT,
MYSQL_OPT_WRITE_TIMEOUT,MYSQL_OPT_USE_RESULT,
MYSQL_OPT_USE_REMOTE_CONNECTION,MYSQL_OPT_USE_EMBEDDED_CONNECTION,
MYSQL_OPT_GUESS_CONNECTION,MYSQL_SET_CLIENT_IP,
mysql_option = (
MYSQL_OPT_CONNECT_TIMEOUT,
MYSQL_OPT_COMPRESS,
MYSQL_OPT_NAMED_PIPE,
MYSQL_INIT_COMMAND,
MYSQL_READ_DEFAULT_FILE,
MYSQL_READ_DEFAULT_GROUP,
MYSQL_SET_CHARSET_DIR,
MYSQL_SET_CHARSET_NAME,
MYSQL_OPT_LOCAL_INFILE,
MYSQL_OPT_PROTOCOL,
MYSQL_SHARED_MEMORY_BASE_NAME,
MYSQL_OPT_READ_TIMEOUT,
MYSQL_OPT_WRITE_TIMEOUT,
MYSQL_OPT_USE_RESULT,
{$IFDEF MYSQL80}
MYSQL_REPORT_DATA_TRUNCATION,
MYSQL_OPT_RECONNECT,
MYSQL_PLUGIN_DIR,
MYSQL_DEFAULT_AUTH,
MYSQL_OPT_BIND,
MYSQL_OPT_SSL_KEY,
MYSQL_OPT_SSL_CERT,
MYSQL_OPT_SSL_CA,
MYSQL_OPT_SSL_CAPATH,
MYSQL_OPT_SSL_CIPHER,
MYSQL_OPT_SSL_CRL,
MYSQL_OPT_SSL_CRLPATH,
MYSQL_OPT_CONNECT_ATTR_RESET,
MYSQL_OPT_CONNECT_ATTR_ADD,
MYSQL_OPT_CONNECT_ATTR_DELETE,
MYSQL_SERVER_PUBLIC_KEY,
MYSQL_ENABLE_CLEARTEXT_PLUGIN,
MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS,
MYSQL_OPT_MAX_ALLOWED_PACKET,
MYSQL_OPT_NET_BUFFER_LENGTH,
MYSQL_OPT_TLS_VERSION,
MYSQL_OPT_SSL_MODE,
MYSQL_OPT_GET_SERVER_PUBLIC_KEY,
MYSQL_OPT_RETRY_COUNT,
MYSQL_OPT_OPTIONAL_RESULTSET_METADATA,
MYSQL_OPT_SSL_FIPS_MODE,
MYSQL_OPT_TLS_CIPHERSUITES,
MYSQL_OPT_COMPRESSION_ALGORITHMS,
MYSQL_OPT_ZSTD_COMPRESSION_LEVEL,
MYSQL_OPT_LOAD_DATA_LOCAL_DIR
{$ELSE}
MYSQL_OPT_USE_REMOTE_CONNECTION,
MYSQL_OPT_USE_EMBEDDED_CONNECTION,
MYSQL_OPT_GUESS_CONNECTION,
MYSQL_SET_CLIENT_IP,
MYSQL_SECURE_AUTH
{$IFDEF MYSQL50}
,MYSQL_REPORT_DATA_TRUNCATION, MYSQL_OPT_RECONNECT
@ -936,6 +1044,7 @@ uses
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
);
@ -1000,6 +1109,19 @@ uses
shared_memory_base_name : Pchar;
{$ENDIF}
max_allowed_packet : culong;
{$IFDEF Mysql80}
compress : my_bool;
named_pipe : my_bool;
bind_address: Pchar;
report_data_truncation: my_bool;
{ function pointers for local infile support }
local_infile_init : function (_para1:Ppointer; _para2:Pchar; _para3:pointer):cint;cdecl;
local_infile_read : function (_para1:pointer; _para2:Pchar; _para3:cuint):cint;
local_infile_end : procedure (_para1:pointer);
local_infile_error : function (_para1:pointer; _para2:Pchar; _para3:cuint):cint;
local_infile_userdata : pointer;
extension : ^st_mysql_options_extention;
{$ELSE}
use_ssl : my_bool; // if to use SSL or not
compress : my_bool;
named_pipe : my_bool;
@ -1043,6 +1165,7 @@ uses
{$IFDEF mysql51}
extension : ^st_mysql_options_extention;
{$ENDIF}
{$ENDIF}
{$ENDIF}
end;
@ -1144,6 +1267,8 @@ uses
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] of char; // session-wide random string
{$IFDEF mysql80}
{$ELSE}
{ Set if this is the original connection, not a master or a slave we have
added though mysql_rpl_probe() or mysql_set_master()/ mysql_add_slave() }
rpl_pivot : my_bool;
@ -1153,6 +1278,7 @@ uses
next_slave : Pst_mysql;
last_used_slave : Pst_mysql; // needed for round-robin slave pick
last_used_con : Pst_mysql; // needed for send/read/store/use result to work correctly with replication
{$ENDIF}
{$IFDEF mysql41}
stmts : Pointer; // was PList, list of all statements
methods : Pst_mysql_methods;
@ -2099,3 +2225,4 @@ end;
initialization
Refcount := 0;
{$ENDIF}
end.

View File

@ -0,0 +1,12 @@
{
Contains the MySQL calls for MySQL 8.0
}
unit mysql80dyn;
{$DEFINE LinkDynamically}
{$DEFINE MYSQL80}
{$i mysql.inc}
end.