diff --git a/fcl/db/sqldb/Makefile b/fcl/db/sqldb/Makefile index 6c1b9d91ff..e95bb32425 100644 --- a/fcl/db/sqldb/Makefile +++ b/fcl/db/sqldb/Makefile @@ -1,8 +1,8 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/09/27] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/31] # default: all -MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos netwlibc +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos BSDs = freebsd netbsd openbsd darwin UNIXs = linux $(BSDs) sunos qnx FORCE: @@ -215,26 +215,25 @@ endif PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra) override PACKAGE_NAME=fcl ifeq ($(OS_TARGET),linux) -override TARGET_DIRS+=interbase postgres +override TARGET_DIRS+=interbase postgres mysql endif ifeq ($(OS_TARGET),win32) -override TARGET_DIRS+=interbase postgres +override TARGET_DIRS+=interbase postgres mysql endif ifeq ($(OS_TARGET),freebsd) -override TARGET_DIRS+=interbase postgres +override TARGET_DIRS+=interbase postgres mysql endif ifeq ($(OS_TARGET),netbsd) -override TARGET_DIRS+=interbase postgres +override TARGET_DIRS+=interbase postgres mysql endif ifeq ($(OS_TARGET),openbsd) -override TARGET_DIRS+=interbase postgres +override TARGET_DIRS+=interbase postgres mysql endif ifeq ($(OS_TARGET),darwin) -override TARGET_DIRS+=interbase postgres +override TARGET_DIRS+=interbase postgres mysql endif override TARGET_UNITS+=sqldb override TARGET_RSTS+=sqldb -override CLEAN_UNITS+=ibas40 ibase60 override INSTALL_FPCPACKAGE=y override COMPILER_OPTIONS+=-S2 override COMPILER_TARGETDIR+=../../$(OS_TARGET) @@ -572,12 +571,6 @@ STATICLIBPREFIX= FPCMADE=fpcmade.nw ZIPSUFFIX=nw endif -ifeq ($(OS_TARGET),netwlibc) -EXEEXT=.nlm -STATICLIBPREFIX= -FPCMADE=fpcmade.nwl -ZIPSUFFIX=nwl -endif ifeq ($(OS_TARGET),macos) BATCHEXT= EXEEXT= @@ -730,18 +723,6 @@ FPCMADE=fpcmade.nw ZIPSUFFIX=nw EXEEXT=.nlm endif -ifeq ($(OS_TARGET),netwlibc) -STATICLIBPREFIX= -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.nlm -FPCMADE=fpcmade.nwl -ZIPSUFFIX=nwl -EXEEXT=.nlm -endif ifeq ($(OS_TARGET),macos) BATCHEXT= PPUEXT=.ppu @@ -834,7 +815,7 @@ ifndef COPY COPY:=$(CPPROG) -fp endif ifndef COPYTREE -COPYTREE:=$(CPPROG) -Rfp +COPYTREE:=$(CPPROG) -rfp endif ifndef MOVE MOVE:=$(MVPROG) -f @@ -983,12 +964,13 @@ else TAROPT=vz TAREXT=.tar.gz endif -override REQUIRE_PACKAGES=rtl ibase +override REQUIRE_PACKAGES=rtl ifeq ($(OS_TARGET),linux) ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),linux) @@ -996,6 +978,7 @@ ifeq ($(CPU_TARGET),m68k) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),linux) @@ -1003,6 +986,7 @@ ifeq ($(CPU_TARGET),powerpc) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),linux) @@ -1010,6 +994,7 @@ ifeq ($(CPU_TARGET),sparc) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),linux) @@ -1017,6 +1002,7 @@ ifeq ($(CPU_TARGET),x86_64) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),linux) @@ -1024,12 +1010,12 @@ ifeq ($(CPU_TARGET),arm) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),go32v2) ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),win32) @@ -1037,12 +1023,12 @@ ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),os2) ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),freebsd) @@ -1050,6 +1036,7 @@ ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),freebsd) @@ -1057,6 +1044,7 @@ ifeq ($(CPU_TARGET),m68k) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),freebsd) @@ -1064,12 +1052,12 @@ ifeq ($(CPU_TARGET),x86_64) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),beos) ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),netbsd) @@ -1077,6 +1065,7 @@ ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),netbsd) @@ -1084,6 +1073,7 @@ ifeq ($(CPU_TARGET),m68k) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),netbsd) @@ -1091,6 +1081,7 @@ ifeq ($(CPU_TARGET),powerpc) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),netbsd) @@ -1098,42 +1089,37 @@ ifeq ($(CPU_TARGET),sparc) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),amiga) ifeq ($(CPU_TARGET),m68k) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),atari) ifeq ($(CPU_TARGET),m68k) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),sunos) ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),sunos) ifeq ($(CPU_TARGET),sparc) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),qnx) ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),netware) ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),openbsd) @@ -1141,6 +1127,7 @@ ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),openbsd) @@ -1148,24 +1135,22 @@ ifeq ($(CPU_TARGET),m68k) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),wdosx) ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),palmos) ifeq ($(CPU_TARGET),m68k) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),macos) ifeq ($(CPU_TARGET),powerpc) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),darwin) @@ -1173,30 +1158,22 @@ ifeq ($(CPU_TARGET),powerpc) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_IBASE=1 REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 endif endif ifeq ($(OS_TARGET),emx) ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),watcom) ifeq ($(CPU_TARGET),i386) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifeq ($(OS_TARGET),morphos) ifeq ($(CPU_TARGET),powerpc) REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 -endif -endif -ifeq ($(OS_TARGET),netwlibc) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_IBASE=1 endif endif ifdef REQUIRE_PACKAGES_RTL @@ -1277,6 +1254,32 @@ ifdef UNITDIR_POSTGRES override COMPILER_UNITDIR+=$(UNITDIR_POSTGRES) endif endif +ifdef REQUIRE_PACKAGES_MYSQL +PACKAGEDIR_MYSQL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR)))))) +ifneq ($(PACKAGEDIR_MYSQL),) +ifneq ($(wildcard $(PACKAGEDIR_MYSQL)/$(OS_TARGET)),) +UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)/$(OS_TARGET) +else +UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL) +endif +ifdef CHECKDEPEND +$(PACKAGEDIR_MYSQL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_MYSQL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_MYSQL)/$(FPCMADE) +endif +else +PACKAGEDIR_MYSQL= +UNITDIR_MYSQL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /mysql/Package.fpc,$(UNITSDIR))))) +ifneq ($(UNITDIR_MYSQL),) +UNITDIR_MYSQL:=$(firstword $(UNITDIR_MYSQL)) +else +UNITDIR_MYSQL= +endif +endif +ifdef UNITDIR_MYSQL +override COMPILER_UNITDIR+=$(UNITDIR_MYSQL) +endif +endif ifndef NOCPUDEF override FPCOPTDEF=$(CPU_TARGET) endif @@ -1686,26 +1689,32 @@ fpc_makefiles: fpc_makefile fpc_makefile_dirs ifeq ($(OS_TARGET),linux) TARGET_DIRS_INTERBASE=1 TARGET_DIRS_POSTGRES=1 +TARGET_DIRS_MYSQL=1 endif ifeq ($(OS_TARGET),win32) TARGET_DIRS_INTERBASE=1 TARGET_DIRS_POSTGRES=1 +TARGET_DIRS_MYSQL=1 endif ifeq ($(OS_TARGET),freebsd) TARGET_DIRS_INTERBASE=1 TARGET_DIRS_POSTGRES=1 +TARGET_DIRS_MYSQL=1 endif ifeq ($(OS_TARGET),netbsd) TARGET_DIRS_INTERBASE=1 TARGET_DIRS_POSTGRES=1 +TARGET_DIRS_MYSQL=1 endif ifeq ($(OS_TARGET),openbsd) TARGET_DIRS_INTERBASE=1 TARGET_DIRS_POSTGRES=1 +TARGET_DIRS_MYSQL=1 endif ifeq ($(OS_TARGET),darwin) TARGET_DIRS_INTERBASE=1 TARGET_DIRS_POSTGRES=1 +TARGET_DIRS_MYSQL=1 endif ifdef TARGET_DIRS_INTERBASE interbase_all: @@ -1793,6 +1802,49 @@ postgres: $(MAKE) -C postgres all .PHONY: postgres_all postgres_debug postgres_smart postgres_release postgres_examples postgres_shared postgres_install postgres_sourceinstall postgres_exampleinstall postgres_distinstall postgres_zipinstall postgres_zipsourceinstall postgres_zipexampleinstall postgres_zipdistinstall postgres_clean postgres_distclean postgres_cleanall postgres_info postgres_makefiles postgres endif +ifdef TARGET_DIRS_MYSQL +mysql_all: + $(MAKE) -C mysql all +mysql_debug: + $(MAKE) -C mysql debug +mysql_smart: + $(MAKE) -C mysql smart +mysql_release: + $(MAKE) -C mysql release +mysql_examples: + $(MAKE) -C mysql examples +mysql_shared: + $(MAKE) -C mysql shared +mysql_install: + $(MAKE) -C mysql install +mysql_sourceinstall: + $(MAKE) -C mysql sourceinstall +mysql_exampleinstall: + $(MAKE) -C mysql exampleinstall +mysql_distinstall: + $(MAKE) -C mysql distinstall +mysql_zipinstall: + $(MAKE) -C mysql zipinstall +mysql_zipsourceinstall: + $(MAKE) -C mysql zipsourceinstall +mysql_zipexampleinstall: + $(MAKE) -C mysql zipexampleinstall +mysql_zipdistinstall: + $(MAKE) -C mysql zipdistinstall +mysql_clean: + $(MAKE) -C mysql clean +mysql_distclean: + $(MAKE) -C mysql distclean +mysql_cleanall: + $(MAKE) -C mysql cleanall +mysql_info: + $(MAKE) -C mysql info +mysql_makefiles: + $(MAKE) -C mysql makefiles +mysql: + $(MAKE) -C mysql all +.PHONY: mysql_all mysql_debug mysql_smart mysql_release mysql_examples mysql_shared mysql_install mysql_sourceinstall mysql_exampleinstall mysql_distinstall mysql_zipinstall mysql_zipsourceinstall mysql_zipexampleinstall mysql_zipdistinstall mysql_clean mysql_distclean mysql_cleanall mysql_info mysql_makefiles mysql +endif all: fpc_all $(addsuffix _all,$(TARGET_DIRS)) debug: fpc_debug smart: fpc_smart diff --git a/fcl/db/sqldb/Makefile.fpc b/fcl/db/sqldb/Makefile.fpc index ea4865a310..621aaabccd 100644 --- a/fcl/db/sqldb/Makefile.fpc +++ b/fcl/db/sqldb/Makefile.fpc @@ -6,20 +6,15 @@ main=fcl [target] -dirs_linux=interbase postgres -dirs_freebsd=interbase postgres -dirs_darwin=interbase postgres -dirs_netbsd=interbase postgres -dirs_openbsd=interbase postgres -dirs_win32=interbase postgres +dirs_linux=interbase postgres mysql +dirs_freebsd=interbase postgres mysql +dirs_darwin=interbase postgres mysql +dirs_netbsd=interbase postgres mysql +dirs_openbsd=interbase postgres mysql +dirs_win32=interbase postgres mysql units=sqldb rsts=sqldb -[clean] -units=ibas40 ibase60 - -[require] -packages=ibase [compiler] options=-S2 diff --git a/fcl/db/sqldb/sqldb.pp b/fcl/db/sqldb/sqldb.pp index 5458de8a32..fe414f04fc 100644 --- a/fcl/db/sqldb/sqldb.pp +++ b/fcl/db/sqldb/sqldb.pp @@ -229,7 +229,8 @@ ResourceString SErrDatabasenAssigned = 'Database not assigned!'; SErrTransactionnSet = 'Transaction not set'; SErrNoStatement = 'SQL statement not set'; - + SErrNoSelectStatement = 'Cannot open a non-select statement'; + { TSQLConnection } procedure TSQLConnection.SetTransaction(Value : TSQLTransaction); @@ -479,7 +480,6 @@ end; function TSQLQuery.AllocRecord: PChar; begin -// writeln('AllocRecord, Recordsize:' + inttostr(FRecordSize)); Result := AllocMem(FRecordSize); end; @@ -560,7 +560,7 @@ begin PrepareStatement; GetStatementType; if FStatementType in [stSelect] then - begin + begin PrepareSelect; Execute; FOpen:=True; @@ -569,8 +569,9 @@ begin CreateFields; SetFieldSizes; BindFields(True); - end - else Execute; + end + else + DatabaseError(SErrNoSelectStatement,Self); except on E:Exception do raise; @@ -629,7 +630,10 @@ end. { $Log$ - Revision 1.2 2004-09-26 16:56:32 michael + Revision 1.3 2004-10-02 14:52:25 michael + + Added mysql connection + + Revision 1.2 2004/09/26 16:56:32 michael + Further fixes from Joost van der sluis for Postgresql Revision 1.1 2004/08/31 09:49:47 michael