mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 09:09:09 +02:00
+ Initial TBufDataset by Joost van der Sluis
This commit is contained in:
parent
cc17451cd4
commit
96af65f22f
157
fcl/db/Makefile
157
fcl/db/Makefile
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Don't edit, this file is generated by FPCMake Version 1.1 [2004/07/18]
|
# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/31]
|
||||||
#
|
#
|
||||||
default: all
|
default: all
|
||||||
MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos
|
MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos
|
||||||
@ -214,7 +214,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
|
|||||||
endif
|
endif
|
||||||
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
|
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
|
||||||
override PACKAGE_NAME=fcl
|
override PACKAGE_NAME=fcl
|
||||||
override TARGET_DIRS+=sdf memds
|
override TARGET_DIRS+=sdf memds sqldb
|
||||||
ifeq ($(OS_TARGET),linux)
|
ifeq ($(OS_TARGET),linux)
|
||||||
override TARGET_DIRS+=mysql interbase sqlite dbase
|
override TARGET_DIRS+=mysql interbase sqlite dbase
|
||||||
endif
|
endif
|
||||||
@ -970,212 +970,227 @@ override REQUIRE_PACKAGES=rtl
|
|||||||
ifeq ($(OS_TARGET),linux)
|
ifeq ($(OS_TARGET),linux)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),linux)
|
ifeq ($(OS_TARGET),linux)
|
||||||
ifeq ($(CPU_TARGET),m68k)
|
ifeq ($(CPU_TARGET),m68k)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),linux)
|
ifeq ($(OS_TARGET),linux)
|
||||||
ifeq ($(CPU_TARGET),powerpc)
|
ifeq ($(CPU_TARGET),powerpc)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),linux)
|
ifeq ($(OS_TARGET),linux)
|
||||||
ifeq ($(CPU_TARGET),sparc)
|
ifeq ($(CPU_TARGET),sparc)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),linux)
|
ifeq ($(OS_TARGET),linux)
|
||||||
ifeq ($(CPU_TARGET),x86_64)
|
ifeq ($(CPU_TARGET),x86_64)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),linux)
|
ifeq ($(OS_TARGET),linux)
|
||||||
ifeq ($(CPU_TARGET),arm)
|
ifeq ($(CPU_TARGET),arm)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),go32v2)
|
ifeq ($(OS_TARGET),go32v2)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),win32)
|
ifeq ($(OS_TARGET),win32)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),os2)
|
ifeq ($(OS_TARGET),os2)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),freebsd)
|
ifeq ($(OS_TARGET),freebsd)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),freebsd)
|
ifeq ($(OS_TARGET),freebsd)
|
||||||
ifeq ($(CPU_TARGET),m68k)
|
ifeq ($(CPU_TARGET),m68k)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),freebsd)
|
ifeq ($(OS_TARGET),freebsd)
|
||||||
ifeq ($(CPU_TARGET),x86_64)
|
ifeq ($(CPU_TARGET),x86_64)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),beos)
|
ifeq ($(OS_TARGET),beos)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),netbsd)
|
ifeq ($(OS_TARGET),netbsd)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),netbsd)
|
ifeq ($(OS_TARGET),netbsd)
|
||||||
ifeq ($(CPU_TARGET),m68k)
|
ifeq ($(CPU_TARGET),m68k)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),netbsd)
|
ifeq ($(OS_TARGET),netbsd)
|
||||||
ifeq ($(CPU_TARGET),powerpc)
|
ifeq ($(CPU_TARGET),powerpc)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),netbsd)
|
ifeq ($(OS_TARGET),netbsd)
|
||||||
ifeq ($(CPU_TARGET),sparc)
|
ifeq ($(CPU_TARGET),sparc)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),amiga)
|
ifeq ($(OS_TARGET),amiga)
|
||||||
ifeq ($(CPU_TARGET),m68k)
|
ifeq ($(CPU_TARGET),m68k)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),atari)
|
ifeq ($(OS_TARGET),atari)
|
||||||
ifeq ($(CPU_TARGET),m68k)
|
ifeq ($(CPU_TARGET),m68k)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),sunos)
|
ifeq ($(OS_TARGET),sunos)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),sunos)
|
ifeq ($(OS_TARGET),sunos)
|
||||||
ifeq ($(CPU_TARGET),sparc)
|
ifeq ($(CPU_TARGET),sparc)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),qnx)
|
ifeq ($(OS_TARGET),qnx)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),netware)
|
ifeq ($(OS_TARGET),netware)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),openbsd)
|
ifeq ($(OS_TARGET),openbsd)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),openbsd)
|
ifeq ($(OS_TARGET),openbsd)
|
||||||
ifeq ($(CPU_TARGET),m68k)
|
ifeq ($(CPU_TARGET),m68k)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),wdosx)
|
ifeq ($(OS_TARGET),wdosx)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),palmos)
|
ifeq ($(OS_TARGET),palmos)
|
||||||
ifeq ($(CPU_TARGET),m68k)
|
ifeq ($(CPU_TARGET),m68k)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),macos)
|
ifeq ($(OS_TARGET),macos)
|
||||||
ifeq ($(CPU_TARGET),powerpc)
|
ifeq ($(CPU_TARGET),powerpc)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),darwin)
|
ifeq ($(OS_TARGET),darwin)
|
||||||
ifeq ($(CPU_TARGET),powerpc)
|
ifeq ($(CPU_TARGET),powerpc)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_MYSQL=1
|
|
||||||
REQUIRE_PACKAGES_IBASE=1
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
|
REQUIRE_PACKAGES_MYSQL=1
|
||||||
REQUIRE_PACKAGES_SQLITE=1
|
REQUIRE_PACKAGES_SQLITE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),emx)
|
ifeq ($(OS_TARGET),emx)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),watcom)
|
ifeq ($(OS_TARGET),watcom)
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(OS_TARGET),morphos)
|
ifeq ($(OS_TARGET),morphos)
|
||||||
ifeq ($(CPU_TARGET),powerpc)
|
ifeq ($(CPU_TARGET),powerpc)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
|
REQUIRE_PACKAGES_IBASE=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifdef REQUIRE_PACKAGES_RTL
|
ifdef REQUIRE_PACKAGES_RTL
|
||||||
@ -1204,32 +1219,6 @@ ifdef UNITDIR_RTL
|
|||||||
override COMPILER_UNITDIR+=$(UNITDIR_RTL)
|
override COMPILER_UNITDIR+=$(UNITDIR_RTL)
|
||||||
endif
|
endif
|
||||||
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
|
|
||||||
ifdef REQUIRE_PACKAGES_IBASE
|
ifdef REQUIRE_PACKAGES_IBASE
|
||||||
PACKAGEDIR_IBASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /ibase/Makefile.fpc,$(PACKAGESDIR))))))
|
PACKAGEDIR_IBASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /ibase/Makefile.fpc,$(PACKAGESDIR))))))
|
||||||
ifneq ($(PACKAGEDIR_IBASE),)
|
ifneq ($(PACKAGEDIR_IBASE),)
|
||||||
@ -1256,6 +1245,32 @@ ifdef UNITDIR_IBASE
|
|||||||
override COMPILER_UNITDIR+=$(UNITDIR_IBASE)
|
override COMPILER_UNITDIR+=$(UNITDIR_IBASE)
|
||||||
endif
|
endif
|
||||||
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
|
||||||
ifdef REQUIRE_PACKAGES_SQLITE
|
ifdef REQUIRE_PACKAGES_SQLITE
|
||||||
PACKAGEDIR_SQLITE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /sqlite/Makefile.fpc,$(PACKAGESDIR))))))
|
PACKAGEDIR_SQLITE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /sqlite/Makefile.fpc,$(PACKAGESDIR))))))
|
||||||
ifneq ($(PACKAGEDIR_SQLITE),)
|
ifneq ($(PACKAGEDIR_SQLITE),)
|
||||||
@ -1433,7 +1448,7 @@ endif
|
|||||||
.PHONY: fpc_examples
|
.PHONY: fpc_examples
|
||||||
ifneq ($(TARGET_EXAMPLES),)
|
ifneq ($(TARGET_EXAMPLES),)
|
||||||
HASEXAMPLES=1
|
HASEXAMPLES=1
|
||||||
override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES)))
|
override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .lpr,$(TARGET_EXAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES)))
|
||||||
override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
|
override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
|
||||||
override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
|
override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
|
||||||
override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
|
override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
|
||||||
@ -1458,7 +1473,7 @@ fpc_debug:
|
|||||||
$(MAKE) all DEBUG=1
|
$(MAKE) all DEBUG=1
|
||||||
fpc_release:
|
fpc_release:
|
||||||
$(MAKE) all RELEASE=1
|
$(MAKE) all RELEASE=1
|
||||||
.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .dpr .pp .rc .res
|
.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
|
||||||
%$(PPUEXT): %.pp
|
%$(PPUEXT): %.pp
|
||||||
$(COMPILER) $<
|
$(COMPILER) $<
|
||||||
$(EXECPPAS)
|
$(EXECPPAS)
|
||||||
@ -1471,6 +1486,9 @@ fpc_release:
|
|||||||
%$(EXEEXT): %.pas
|
%$(EXEEXT): %.pas
|
||||||
$(COMPILER) $<
|
$(COMPILER) $<
|
||||||
$(EXECPPAS)
|
$(EXECPPAS)
|
||||||
|
%$(EXEEXT): %.lpr
|
||||||
|
$(COMPILER) $<
|
||||||
|
$(EXECPPAS)
|
||||||
%$(EXEEXT): %.dpr
|
%$(EXEEXT): %.dpr
|
||||||
$(COMPILER) $<
|
$(COMPILER) $<
|
||||||
$(EXECPPAS)
|
$(EXECPPAS)
|
||||||
@ -1478,6 +1496,7 @@ fpc_release:
|
|||||||
windres -i $< -o $@
|
windres -i $< -o $@
|
||||||
vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
|
vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
|
||||||
vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
|
vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
|
||||||
|
vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
|
||||||
vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
|
vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
|
||||||
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
|
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
|
||||||
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
|
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
|
||||||
@ -1704,6 +1723,7 @@ fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
|
|||||||
fpc_makefiles: fpc_makefile fpc_makefile_dirs
|
fpc_makefiles: fpc_makefile fpc_makefile_dirs
|
||||||
TARGET_DIRS_SDF=1
|
TARGET_DIRS_SDF=1
|
||||||
TARGET_DIRS_MEMDS=1
|
TARGET_DIRS_MEMDS=1
|
||||||
|
TARGET_DIRS_SQLDB=1
|
||||||
ifeq ($(OS_TARGET),linux)
|
ifeq ($(OS_TARGET),linux)
|
||||||
TARGET_DIRS_MYSQL=1
|
TARGET_DIRS_MYSQL=1
|
||||||
TARGET_DIRS_INTERBASE=1
|
TARGET_DIRS_INTERBASE=1
|
||||||
@ -1823,6 +1843,49 @@ memds:
|
|||||||
$(MAKE) -C memds all
|
$(MAKE) -C memds all
|
||||||
.PHONY: memds_all memds_debug memds_smart memds_release memds_examples memds_shared memds_install memds_sourceinstall memds_exampleinstall memds_distinstall memds_zipinstall memds_zipsourceinstall memds_zipexampleinstall memds_zipdistinstall memds_clean memds_distclean memds_cleanall memds_info memds_makefiles memds
|
.PHONY: memds_all memds_debug memds_smart memds_release memds_examples memds_shared memds_install memds_sourceinstall memds_exampleinstall memds_distinstall memds_zipinstall memds_zipsourceinstall memds_zipexampleinstall memds_zipdistinstall memds_clean memds_distclean memds_cleanall memds_info memds_makefiles memds
|
||||||
endif
|
endif
|
||||||
|
ifdef TARGET_DIRS_SQLDB
|
||||||
|
sqldb_all:
|
||||||
|
$(MAKE) -C sqldb all
|
||||||
|
sqldb_debug:
|
||||||
|
$(MAKE) -C sqldb debug
|
||||||
|
sqldb_smart:
|
||||||
|
$(MAKE) -C sqldb smart
|
||||||
|
sqldb_release:
|
||||||
|
$(MAKE) -C sqldb release
|
||||||
|
sqldb_examples:
|
||||||
|
$(MAKE) -C sqldb examples
|
||||||
|
sqldb_shared:
|
||||||
|
$(MAKE) -C sqldb shared
|
||||||
|
sqldb_install:
|
||||||
|
$(MAKE) -C sqldb install
|
||||||
|
sqldb_sourceinstall:
|
||||||
|
$(MAKE) -C sqldb sourceinstall
|
||||||
|
sqldb_exampleinstall:
|
||||||
|
$(MAKE) -C sqldb exampleinstall
|
||||||
|
sqldb_distinstall:
|
||||||
|
$(MAKE) -C sqldb distinstall
|
||||||
|
sqldb_zipinstall:
|
||||||
|
$(MAKE) -C sqldb zipinstall
|
||||||
|
sqldb_zipsourceinstall:
|
||||||
|
$(MAKE) -C sqldb zipsourceinstall
|
||||||
|
sqldb_zipexampleinstall:
|
||||||
|
$(MAKE) -C sqldb zipexampleinstall
|
||||||
|
sqldb_zipdistinstall:
|
||||||
|
$(MAKE) -C sqldb zipdistinstall
|
||||||
|
sqldb_clean:
|
||||||
|
$(MAKE) -C sqldb clean
|
||||||
|
sqldb_distclean:
|
||||||
|
$(MAKE) -C sqldb distclean
|
||||||
|
sqldb_cleanall:
|
||||||
|
$(MAKE) -C sqldb cleanall
|
||||||
|
sqldb_info:
|
||||||
|
$(MAKE) -C sqldb info
|
||||||
|
sqldb_makefiles:
|
||||||
|
$(MAKE) -C sqldb makefiles
|
||||||
|
sqldb:
|
||||||
|
$(MAKE) -C sqldb all
|
||||||
|
.PHONY: sqldb_all sqldb_debug sqldb_smart sqldb_release sqldb_examples sqldb_shared sqldb_install sqldb_sourceinstall sqldb_exampleinstall sqldb_distinstall sqldb_zipinstall sqldb_zipsourceinstall sqldb_zipexampleinstall sqldb_zipdistinstall sqldb_clean sqldb_distclean sqldb_cleanall sqldb_info sqldb_makefiles sqldb
|
||||||
|
endif
|
||||||
ifdef TARGET_DIRS_MYSQL
|
ifdef TARGET_DIRS_MYSQL
|
||||||
mysql_all:
|
mysql_all:
|
||||||
$(MAKE) -C mysql all
|
$(MAKE) -C mysql all
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
main=fcl
|
main=fcl
|
||||||
|
|
||||||
[target]
|
[target]
|
||||||
dirs=sdf memds
|
dirs=sdf memds sqldb
|
||||||
# dirs_i386=dbase
|
# dirs_i386=dbase
|
||||||
dirs_linux=mysql interbase sqlite dbase
|
dirs_linux=mysql interbase sqlite dbase
|
||||||
dirs_freebsd=mysql interbase sqlite dbase
|
dirs_freebsd=mysql interbase sqlite dbase
|
||||||
|
201
fcl/db/bufdataset.inc
Normal file
201
fcl/db/bufdataset.inc
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
{
|
||||||
|
$Id$
|
||||||
|
This file is part of the Free Pascal run time library.
|
||||||
|
Copyright (c) 1999-2000 by Michael Van Canneyt, member of the
|
||||||
|
Free Pascal development team
|
||||||
|
|
||||||
|
BufDataset 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.
|
||||||
|
|
||||||
|
**********************************************************************}
|
||||||
|
{ ---------------------------------------------------------------------
|
||||||
|
TBufDataSet
|
||||||
|
---------------------------------------------------------------------}
|
||||||
|
|
||||||
|
constructor TBufDataset.Create(AOwner : TComponent);
|
||||||
|
|
||||||
|
begin
|
||||||
|
Inherited Create(AOwner);
|
||||||
|
// temporary set it here
|
||||||
|
FPacketRecords := 10;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TBufDataset.Destroy;
|
||||||
|
|
||||||
|
begin
|
||||||
|
inherited destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TBufDataset.AllocRecordBuffer: PChar;
|
||||||
|
|
||||||
|
begin
|
||||||
|
result := AllocRecord;
|
||||||
|
ReAllocMem(result,RecordSize+sizeof(TBufBookmark));
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBufDataset.FreeRecordBuffer(var Buffer: PChar);
|
||||||
|
begin
|
||||||
|
FreeMem(Buffer);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBufDataset.InternalOpen;
|
||||||
|
|
||||||
|
begin
|
||||||
|
FBRecordcount := 0;
|
||||||
|
FBBuffercount := 0;
|
||||||
|
FBCurrentrecord := -1;
|
||||||
|
FIsEOF := false;
|
||||||
|
FIsbOF := true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBufDataset.InternalClose;
|
||||||
|
|
||||||
|
var i : integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
for i := 0 to FBRecordCount-1 do FreeRecord(FBBuffers[i]);
|
||||||
|
freemem(FBBuffers);
|
||||||
|
FBRecordcount := 0;
|
||||||
|
FBBuffercount := 0;
|
||||||
|
FBCurrentrecord := -1;
|
||||||
|
FIsEOF := true;
|
||||||
|
FIsbOF := true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBufDataset.InternalFirst;
|
||||||
|
begin
|
||||||
|
FBCurrentRecord := -1;
|
||||||
|
FIsEOF := false;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBufDataset.InternalLast;
|
||||||
|
begin
|
||||||
|
repeat
|
||||||
|
until getnextpacket < FPacketRecords;
|
||||||
|
FIsBOF := false;
|
||||||
|
FBCurrentRecord := FBRecordcount;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TBufDataset.GetRecord(Buffer: PChar; GetMode: TGetMode; DoCheck: Boolean): TGetResult;
|
||||||
|
begin
|
||||||
|
if FIsEOF then
|
||||||
|
Result := grEOF
|
||||||
|
else begin
|
||||||
|
Result := grOK;
|
||||||
|
case GetMode of
|
||||||
|
gmPrior :
|
||||||
|
if FBCurrentRecord <= 0 then
|
||||||
|
begin
|
||||||
|
Result := grBOF;
|
||||||
|
FBCurrentRecord := -1;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Dec(FBCurrentRecord);
|
||||||
|
FIsEof := false;
|
||||||
|
end;
|
||||||
|
gmCurrent :
|
||||||
|
if (FBCurrentRecord < 0) or (FBCurrentRecord >= RecordCount) then
|
||||||
|
Result := grError;
|
||||||
|
gmNext :
|
||||||
|
if FBCurrentRecord >= (FBRecordCount - 1) then
|
||||||
|
begin
|
||||||
|
if getnextpacket > 0 then
|
||||||
|
begin
|
||||||
|
Inc(FBCurrentRecord);
|
||||||
|
FIsBof := false;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
FIsEOF := true;
|
||||||
|
result:=grEOF;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Inc(FBCurrentRecord);
|
||||||
|
FIsBof := false;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Result = grOK then
|
||||||
|
begin
|
||||||
|
with PBufBookmark(Buffer + RecordSize)^ do
|
||||||
|
begin
|
||||||
|
BookmarkData := FBCurrentRecord;
|
||||||
|
BookmarkFlag := bfCurrent;
|
||||||
|
end;
|
||||||
|
move(FBBuffers[FBCurrentRecord]^,buffer^,RecordSize);
|
||||||
|
end
|
||||||
|
else if (Result = grError) and doCheck then
|
||||||
|
DatabaseError('No record');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBufDataset.InternalSetToRecord(Buffer: PChar);
|
||||||
|
begin
|
||||||
|
FBCurrentRecord := PBufBookmark(Buffer + RecordSize)^.BookmarkData;
|
||||||
|
FIsEOF := False;
|
||||||
|
FIsBOF := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBufDataset.SetBookmarkData(Buffer: PChar; Data: Pointer);
|
||||||
|
begin
|
||||||
|
PBufBookmark(Buffer + RecordSize)^.BookmarkData := PInteger(Data)^;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBufDataset.SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag);
|
||||||
|
begin
|
||||||
|
PBufBookmark(Buffer + RecordSize)^.BookmarkFlag := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBufDataset.GetBookmarkData(Buffer: PChar; Data: Pointer);
|
||||||
|
begin
|
||||||
|
PInteger(Data)^ := PBufBookmark(Buffer + RecordSize)^.BookmarkData;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TBufDataset.GetBookmarkFlag(Buffer: PChar): TBookmarkFlag;
|
||||||
|
begin
|
||||||
|
Result := PBufBookmark(Buffer + RecordSize)^.BookmarkFlag;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBufDataset.InternalGotoBookmark(ABookmark: Pointer);
|
||||||
|
begin
|
||||||
|
FBCurrentRecord := PInteger(ABookmark)^;
|
||||||
|
FIsEOF := False;
|
||||||
|
FIsBOF := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TBufDataset.getnextpacket : integer;
|
||||||
|
|
||||||
|
var i : integer;
|
||||||
|
b : boolean;
|
||||||
|
|
||||||
|
begin
|
||||||
|
i := 0;
|
||||||
|
if FPacketRecords > 0 then
|
||||||
|
begin
|
||||||
|
FBBufferCount := FBBuffercount + FPacketRecords;
|
||||||
|
ReAllocMem(FBBuffers,FBBuffercount*SizeOf(PChar));
|
||||||
|
|
||||||
|
repeat
|
||||||
|
FBBuffers[FBRecordCount+i] := AllocRecord;
|
||||||
|
b := (getnextrecord(FBBuffers[FBRecordCount+i])<>grOk);
|
||||||
|
inc(i);
|
||||||
|
until (i = FPacketRecords) or b;
|
||||||
|
if b then
|
||||||
|
begin
|
||||||
|
dec(i);
|
||||||
|
FreeRecord(FBBuffers[FBRecordCount+i]);
|
||||||
|
end;
|
||||||
|
FBRecordCount := FBRecordCount + i;
|
||||||
|
end;
|
||||||
|
result := i;
|
||||||
|
end;
|
||||||
|
|
@ -229,6 +229,9 @@ end;
|
|||||||
Procedure TDataLink.SetActiveRecord(Value: Integer);
|
Procedure TDataLink.SetActiveRecord(Value: Integer);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
{$ifdef dsdebug}
|
||||||
|
Writeln('Datalink. Setting active record to ',Value,' with firstrecord ',ffirstrecord);
|
||||||
|
{$endif}
|
||||||
Dataset.FActiveRecord:=Value + FFirstRecord;
|
Dataset.FActiveRecord:=Value + FFirstRecord;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
81
fcl/db/db.pp
81
fcl/db/db.pp
@ -824,7 +824,7 @@ type
|
|||||||
FOnPostError: TDataSetErrorEvent;
|
FOnPostError: TDataSetErrorEvent;
|
||||||
FRecNo: Longint;
|
FRecNo: Longint;
|
||||||
FRecordCount: Longint;
|
FRecordCount: Longint;
|
||||||
FRecordSize: Word;
|
// FRecordSize: Word;
|
||||||
FIsUniDirectional: Boolean;
|
FIsUniDirectional: Boolean;
|
||||||
FState : TDataSetState;
|
FState : TDataSetState;
|
||||||
Procedure DoInsertAppend(DoAppend : Boolean);
|
Procedure DoInsertAppend(DoAppend : Boolean);
|
||||||
@ -1014,7 +1014,7 @@ type
|
|||||||
property IsUniDirectional: Boolean read FIsUniDirectional write FIsUniDirectional default False;
|
property IsUniDirectional: Boolean read FIsUniDirectional write FIsUniDirectional default False;
|
||||||
property RecordCount: Longint read GetRecordCount;
|
property RecordCount: Longint read GetRecordCount;
|
||||||
property RecNo: Longint read FRecNo write FRecNo;
|
property RecNo: Longint read FRecNo write FRecNo;
|
||||||
property RecordSize: Word read FRecordSize;
|
property RecordSize: Word read GetRecordSize;
|
||||||
property State: TDataSetState read FState;
|
property State: TDataSetState read FState;
|
||||||
property Fields : TFields read FFieldList;
|
property Fields : TFields read FFieldList;
|
||||||
property FieldValues[fieldname : string] : string read GetFieldValues write SetFieldValues; default;
|
property FieldValues[fieldname : string] : string read GetFieldValues write SetFieldValues; default;
|
||||||
@ -1245,6 +1245,77 @@ type
|
|||||||
property OnLogin: TLoginEvent read FOnLogin write FOnLogin;
|
property OnLogin: TLoginEvent read FOnLogin write FOnLogin;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TBufDataset }
|
||||||
|
|
||||||
|
PBufBookmark = ^TBufBookmark;
|
||||||
|
TBufBookmark = record
|
||||||
|
BookmarkData : integer;
|
||||||
|
BookmarkFlag : TBookmarkFlag;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TBufDataset = class(TDataSet)
|
||||||
|
private
|
||||||
|
FBBuffers : TBufferArray;
|
||||||
|
FBRecordCount : integer;
|
||||||
|
FBBufferCount : integer;
|
||||||
|
FBCurrentRecord : integer;
|
||||||
|
FIsEOF : boolean;
|
||||||
|
FIsBOF : boolean;
|
||||||
|
FPacketRecords : integer;
|
||||||
|
protected
|
||||||
|
function AllocRecordBuffer: PChar; override;
|
||||||
|
procedure FreeRecordBuffer(var Buffer: PChar); override;
|
||||||
|
function GetRecord(Buffer: PChar; GetMode: TGetMode; DoCheck: Boolean): TGetResult; override;
|
||||||
|
procedure InternalOpen; override;
|
||||||
|
procedure InternalClose; override;
|
||||||
|
function getnextpacket : integer;
|
||||||
|
procedure InternalFirst; override;
|
||||||
|
procedure InternalLast; override;
|
||||||
|
procedure InternalSetToRecord(Buffer: PChar); override;
|
||||||
|
procedure InternalGotoBookmark(ABookmark: Pointer); override;
|
||||||
|
procedure SetBookmarkData(Buffer: PChar; Data: Pointer); override;
|
||||||
|
procedure SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag); override;
|
||||||
|
procedure GetBookmarkData(Buffer: PChar; Data: Pointer); override;
|
||||||
|
function GetBookmarkFlag(Buffer: PChar): TBookmarkFlag; override;
|
||||||
|
{abstracts, must be overidden by descendents}
|
||||||
|
function GetNextRecord(Buffer : pchar) : TGetResult; virtual; abstract;
|
||||||
|
function AllocRecord: PChar; virtual; abstract;
|
||||||
|
procedure FreeRecord(var Buffer: PChar); virtual; abstract;
|
||||||
|
public
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
published
|
||||||
|
// redeclared data set properties
|
||||||
|
property Active;
|
||||||
|
// property FieldDefs stored FieldDefsStored;
|
||||||
|
property Filter;
|
||||||
|
property Filtered;
|
||||||
|
property FilterOptions;
|
||||||
|
property BeforeOpen;
|
||||||
|
property AfterOpen;
|
||||||
|
property BeforeClose;
|
||||||
|
property AfterClose;
|
||||||
|
property BeforeInsert;
|
||||||
|
property AfterInsert;
|
||||||
|
property BeforeEdit;
|
||||||
|
property AfterEdit;
|
||||||
|
property BeforePost;
|
||||||
|
property AfterPost;
|
||||||
|
property BeforeCancel;
|
||||||
|
property AfterCancel;
|
||||||
|
property BeforeDelete;
|
||||||
|
property AfterDelete;
|
||||||
|
property BeforeScroll;
|
||||||
|
property AfterScroll;
|
||||||
|
property OnCalcFields;
|
||||||
|
property OnDeleteError;
|
||||||
|
property OnEditError;
|
||||||
|
property OnFilterRecord;
|
||||||
|
property OnNewRecord;
|
||||||
|
property OnPostError;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
Const
|
Const
|
||||||
Fieldtypenames : Array [TFieldType] of String[15] =
|
Fieldtypenames : Array [TFieldType] of String[15] =
|
||||||
(
|
(
|
||||||
@ -1498,12 +1569,16 @@ end;
|
|||||||
{$i fields.inc}
|
{$i fields.inc}
|
||||||
{$i datasource.inc}
|
{$i datasource.inc}
|
||||||
{$i database.inc}
|
{$i database.inc}
|
||||||
|
{$i BufDataset.inc}
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.22 2004-08-23 07:30:19 michael
|
Revision 1.23 2004-08-31 09:51:27 michael
|
||||||
|
+ Initial TBufDataset by Joost van der Sluis
|
||||||
|
|
||||||
|
Revision 1.22 2004/08/23 07:30:19 michael
|
||||||
+ Fixes from joost van der sluis: tfieldsdefs.tdatafield and size, cancel of only record and dataset.fieldvalyes
|
+ Fixes from joost van der sluis: tfieldsdefs.tdatafield and size, cancel of only record and dataset.fieldvalyes
|
||||||
|
|
||||||
Revision 1.21 2004/08/14 12:46:35 michael
|
Revision 1.21 2004/08/14 12:46:35 michael
|
||||||
|
Loading…
Reference in New Issue
Block a user