mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 08:03:04 +01:00
Ported firebird 1.5 to AIX. Main required changes:
1. Force use of xlC compiler in AIX case. 2. Changed ALIGNMENT to be FB_ALIGNMENT to avoid conflicts with AIX .h files. 3. Changed jrd/thread and dsql/var strcutures' names for same reason. 4. Now it's possible to set extension of dependency files. 5. Now it's possible to set LIB_LINK in prefix.OS file. 6. Fix for #define isc_facility in codes.epp. 7. Added AIX specific threading (they have pthreads slightly different from linux). 8. And - a lot of (IPTR) were needed. There are also some small fixes, where xlC wanted, but they are trivial enough not to mention here.
This commit is contained in:
parent
ea9359c093
commit
77d2be7691
21
autogen.sh
21
autogen.sh
@ -2,21 +2,21 @@
|
|||||||
#
|
#
|
||||||
# Run this to generate all the initial makefiles, etc.
|
# Run this to generate all the initial makefiles, etc.
|
||||||
#
|
#
|
||||||
# $Id: autogen.sh,v 1.8.2.1 2003-11-11 08:24:11 tmcsys Exp $
|
# $Id: autogen.sh,v 1.8.2.2 2006-11-05 14:37:13 alexpeshkoff Exp $
|
||||||
|
|
||||||
PKG_NAME=Firebird2
|
PKG_NAME=Firebird2
|
||||||
SRCDIR=`dirname $0`
|
SRCDIR=`dirname $0`
|
||||||
DIE=0
|
DIE=0
|
||||||
|
|
||||||
if [ -z $AUTOCONF ]
|
if [ -z "$AUTOCONF" ]
|
||||||
then
|
then
|
||||||
AUTOCONF=autoconf
|
AUTOCONF=autoconf
|
||||||
fi
|
fi
|
||||||
if [ -z $LIBTOOL ]
|
if [ -z "$LIBTOOL" ]
|
||||||
then
|
then
|
||||||
LIBTOOL=libtool
|
LIBTOOL=libtool
|
||||||
fi
|
fi
|
||||||
if [ -z $LIBTOOLIZE ]
|
if [ -z "$LIBTOOLIZE" ]
|
||||||
then
|
then
|
||||||
LIBTOOLIZE=libtoolize
|
LIBTOOLIZE=libtoolize
|
||||||
fi
|
fi
|
||||||
@ -64,6 +64,19 @@ if test -z "$*" -a x$NOCONFIGURE = x; then
|
|||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ `uname -s` = AIX ]; then
|
||||||
|
export CC=xlc_r7
|
||||||
|
export CXX=xlC_r7
|
||||||
|
|
||||||
|
#convert version files to aix export format
|
||||||
|
#this is not general format converter and may fail in case of vers file(s) changes
|
||||||
|
for i in builds/posix/*.vers
|
||||||
|
do
|
||||||
|
to="gen/`basename $i`"
|
||||||
|
grep \;\$ $i | grep -v '[\#\*\}]' | awk -F';' '{print $1;}' >$to
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
# Generate configure from configure.in
|
# Generate configure from configure.in
|
||||||
echo "Running libtoolize ..."
|
echo "Running libtoolize ..."
|
||||||
LIBTOOL_M4=`$LIBTOOLIZE --copy --force --dry-run|grep 'You should add the contents of'|sed "s,^[^/]*\(/[^']*\).*$,\1,"`
|
LIBTOOL_M4=`$LIBTOOLIZE --copy --force --dry-run|grep 'You should add the contents of'|sed "s,^[^/]*\(/[^']*\).*$,\1,"`
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ident "$Id: config.h.in,v 1.1 2003-07-06 01:07:48 brodsom Exp $"
|
#ident "$Id: config.h.in,v 1.1.2.1 2006-11-05 14:37:26 alexpeshkoff Exp $"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 2002.02.15 Sean Leyne - Code Cleanup, removed obsolete ports:
|
* 2002.02.15 Sean Leyne - Code Cleanup, removed obsolete ports:
|
||||||
@ -130,7 +130,7 @@
|
|||||||
#undef HAVE_STRUCT_XDR_OPS
|
#undef HAVE_STRUCT_XDR_OPS
|
||||||
|
|
||||||
/* alignment of long */
|
/* alignment of long */
|
||||||
#define ALIGNMENT 4
|
#define FB_ALIGNMENT 4
|
||||||
|
|
||||||
/* alignment of double */
|
/* alignment of double */
|
||||||
#define DOUBLE_ALIGN 8
|
#define DOUBLE_ALIGN 8
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.boot.gpre,v 1.14.2.2 2004-03-29 03:49:24 skidder Exp $
|
# $Id: Makefile.in.boot.gpre,v 1.14.2.3 2006-11-05 14:37:28 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=boot.gpre
|
ObjModuleName=boot.gpre
|
||||||
@ -61,7 +61,7 @@ GPREBOOT_Objects = $(JRDBOOT_Objects) $(GPRE_Objects) $(OS_SPECIFIC_Objects)
|
|||||||
|
|
||||||
AllObjects = $(GPREBOOT_Objects)
|
AllObjects = $(GPREBOOT_Objects)
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.client.gbak,v 1.6.2.2 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.client.gbak,v 1.6.2.3 2006-11-05 14:37:28 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
|
|
||||||
ROOT=..
|
ROOT=..
|
||||||
@ -54,7 +54,7 @@ GSPLIT_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GSPLIT_Source
|
|||||||
|
|
||||||
|
|
||||||
AllObjects = $(GBAK_Objects) $(GSPLIT_Objects)
|
AllObjects = $(GBAK_Objects) $(GSPLIT_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all gbak gsplit
|
.PHONY: all gbak gsplit
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.client.gdef,v 1.5.2.2 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.client.gdef,v 1.5.2.3 2006-11-05 14:37:28 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=client.gdef
|
ObjModuleName=client.gdef
|
||||||
@ -55,7 +55,7 @@ GDEF_Sources = $(addprefix dudley/, $(GDEF_Files)) $(GDEF_Other_Sources)
|
|||||||
GDEF_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GDEF_Sources))))
|
GDEF_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GDEF_Sources))))
|
||||||
|
|
||||||
AllObjects = $(GDEF_Objects)
|
AllObjects = $(GDEF_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all gdef
|
.PHONY: all gdef
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.client.gfix,v 1.7.2.2 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.client.gfix,v 1.7.2.3 2006-11-05 14:37:28 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=client.gfix
|
ObjModuleName=client.gfix
|
||||||
@ -49,7 +49,7 @@ GFIX_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GFIX_Sources)))
|
|||||||
|
|
||||||
AllObjects = $(GFIX_Objects)
|
AllObjects = $(GFIX_Objects)
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: gfix
|
.PHONY: gfix
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.client.gpre,v 1.9.2.3 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.client.gpre,v 1.9.2.4 2006-11-05 14:37:29 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=client.gpre
|
ObjModuleName=client.gpre
|
||||||
@ -53,7 +53,7 @@ GPRE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRE_Sources)))
|
|||||||
|
|
||||||
AllObjects = $(GPRE_Objects)
|
AllObjects = $(GPRE_Objects)
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: gpre
|
.PHONY: gpre
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.client.isql,v 1.6.2.2 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.client.isql,v 1.6.2.3 2006-11-05 14:37:29 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=client.isql
|
ObjModuleName=client.isql
|
||||||
@ -48,7 +48,7 @@ ISQL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(ISQL_Sources)))
|
|||||||
|
|
||||||
AllObjects = $(ISQL_Objects)
|
AllObjects = $(ISQL_Objects)
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.client.qli,v 1.1.2.2 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.client.qli,v 1.1.2.3 2006-11-05 14:37:29 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=client.qli
|
ObjModuleName=client.qli
|
||||||
@ -54,7 +54,7 @@ QLI_Sources = $(addprefix qli/, $(QLI_Files)) $(QLI_Other_Sources)
|
|||||||
QLI_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(QLI_Sources))))
|
QLI_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(QLI_Sources))))
|
||||||
|
|
||||||
AllObjects = $(QLI_Objects)
|
AllObjects = $(QLI_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.client.util,v 1.9.2.4 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.client.util,v 1.9.2.5 2006-11-05 14:37:29 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=client.util
|
ObjModuleName=client.util
|
||||||
@ -116,7 +116,7 @@ AllObjects = $(CREATEDB_Object) $(DROP_Object) \
|
|||||||
$(FBMGR_Objects) $(REBUILD_Objects) $(RELAY_Objects)
|
$(FBMGR_Objects) $(REBUILD_Objects) $(RELAY_Objects)
|
||||||
|
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all create_db gstat gds_drop gds_relay gsec fbguard fbmgr_bin fb_lock_print
|
.PHONY: all create_db gstat gds_drop gds_relay gsec fbguard fbmgr_bin fb_lock_print
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.codes,v 1.7.2.1 2003-07-19 04:57:38 bellardo Exp $
|
# $Id: Makefile.in.codes,v 1.7.2.2 2006-11-05 14:37:29 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=codes
|
ObjModuleName=codes
|
||||||
@ -59,7 +59,7 @@ CODES_Sources = jrd/codes.epp
|
|||||||
CODES_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(CODES_Sources))))
|
CODES_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(CODES_Sources))))
|
||||||
|
|
||||||
AllObjects = $(CODES_Objects)
|
AllObjects = $(CODES_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
generated_headers: build_codes include/gen/ids.h
|
generated_headers: build_codes include/gen/ids.h
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.embed.gbak,v 1.6.2.2 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.embed.gbak,v 1.6.2.3 2006-11-05 14:37:29 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=embed.gbak
|
ObjModuleName=embed.gbak
|
||||||
@ -52,7 +52,7 @@ GSPLIT_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GSPLIT_Source
|
|||||||
|
|
||||||
|
|
||||||
AllObjects = $(GBAK_Objects) $(GSPLIT_Objects)
|
AllObjects = $(GBAK_Objects) $(GSPLIT_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all gbak gsplit
|
.PHONY: all gbak gsplit
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.embed.gdef,v 1.5.2.2 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.embed.gdef,v 1.5.2.3 2006-11-05 14:37:29 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=embed.gdef
|
ObjModuleName=embed.gdef
|
||||||
@ -55,7 +55,7 @@ GDEF_Sources = $(addprefix dudley/, $(GDEF_Files)) $(GDEF_Other_Sources)
|
|||||||
GDEF_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GDEF_Sources))))
|
GDEF_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GDEF_Sources))))
|
||||||
|
|
||||||
AllObjects = $(GDEF_Objects)
|
AllObjects = $(GDEF_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all gdef
|
.PHONY: all gdef
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.embed.gfix,v 1.7.2.2 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.embed.gfix,v 1.7.2.3 2006-11-05 14:37:29 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=embed.gfix
|
ObjModuleName=embed.gfix
|
||||||
@ -51,7 +51,7 @@ GFIX_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GFIX_Sources)))
|
|||||||
|
|
||||||
AllObjects = $(GFIX_Objects)
|
AllObjects = $(GFIX_Objects)
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: gfix
|
.PHONY: gfix
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.embed.gpre,v 1.9.2.3 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.embed.gpre,v 1.9.2.4 2006-11-05 14:37:29 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=embed.gpre
|
ObjModuleName=embed.gpre
|
||||||
@ -52,7 +52,7 @@ GPRE_Sources = $(addprefix gpre/, $(GPRE_Files)) $(GPRE_Other_Sources)
|
|||||||
GPRE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRE_Sources))))
|
GPRE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRE_Sources))))
|
||||||
|
|
||||||
AllObjects = $(GPRE_Objects)
|
AllObjects = $(GPRE_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: gpre
|
.PHONY: gpre
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.embed.isql,v 1.6.2.2 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.embed.isql,v 1.6.2.3 2006-11-05 14:37:29 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=embed.isql
|
ObjModuleName=embed.isql
|
||||||
@ -48,7 +48,7 @@ ISQL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(ISQL_Sources)))
|
|||||||
|
|
||||||
AllObjects = $(ISQL_Objects)
|
AllObjects = $(ISQL_Objects)
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.embed.lockmgr,v 1.5.2.1 2003-07-19 04:57:38 bellardo Exp $
|
# $Id: Makefile.in.embed.lockmgr,v 1.5.2.2 2006-11-05 14:37:29 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=embed.lockmgr
|
ObjModuleName=embed.lockmgr
|
||||||
@ -46,7 +46,7 @@ LOCKMGR_Sources = $(addprefix lock/, $(LOCKMGR_Files))
|
|||||||
LOCKMGR_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(LOCKMGR_Sources))))
|
LOCKMGR_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(LOCKMGR_Sources))))
|
||||||
|
|
||||||
AllObjects = $(LOCKMGR_Objects)
|
AllObjects = $(LOCKMGR_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: lock_mgr
|
.PHONY: lock_mgr
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.embed.qli,v 1.10.2.2 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.embed.qli,v 1.10.2.3 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=embed.qli
|
ObjModuleName=embed.qli
|
||||||
@ -52,7 +52,7 @@ QLI_Sources = $(addprefix qli/, $(QLI_Files)) $(QLI_Other_Sources)
|
|||||||
QLI_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(QLI_Sources))))
|
QLI_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(QLI_Sources))))
|
||||||
|
|
||||||
AllObjects = $(QLI_Objects)
|
AllObjects = $(QLI_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.embed.util,v 1.8.2.3 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.embed.util,v 1.8.2.4 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=embed.util
|
ObjModuleName=embed.util
|
||||||
@ -105,7 +105,7 @@ AllObjects = $(CREATEDB_Objects) $(DROP_Objects) \
|
|||||||
$(GSEC_Objects) $(GSTAT_Objects)
|
$(GSEC_Objects) $(GSTAT_Objects)
|
||||||
|
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: create_db gstat gds_drop gds_relay gsec ibguard ibmgr_bin fb_lock_print
|
.PHONY: create_db gstat gds_drop gds_relay gsec ibguard ibmgr_bin fb_lock_print
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.extern.editline,v 1.2.2.1 2004-05-23 18:24:03 skidder Exp $
|
# $Id: Makefile.in.extern.editline,v 1.2.2.2 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
#ObjModuleName=editline
|
#ObjModuleName=editline
|
||||||
@ -51,7 +51,7 @@ include $(ROOT)/gen/make.shared.variables
|
|||||||
#EDITLINE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(EDITLINE_Sources))))
|
#EDITLINE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(EDITLINE_Sources))))
|
||||||
|
|
||||||
#AllObjects = $(EDITLINE_Objects)
|
#AllObjects = $(EDITLINE_Objects)
|
||||||
#Dependencies = $(AllObjects:.o=.d)
|
#Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.extlib,v 1.10.2.7 2004-10-07 21:34:24 skidder Exp $
|
# $Id: Makefile.in.extlib,v 1.10.2.8 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=extlib
|
ObjModuleName=extlib
|
||||||
@ -61,7 +61,7 @@ udf_client_library_classic =
|
|||||||
|
|
||||||
|
|
||||||
AllObjects = $(UDF_Objects) $(UTIL_Objects) $(FBUDF_Objects)
|
AllObjects = $(UDF_Objects) $(UTIL_Objects) $(FBUDF_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all lib_ib_udf lib_ib_util lib_fb_udf
|
.PHONY: all lib_ib_udf lib_ib_util lib_fb_udf
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.fbserver,v 1.11.2.6 2004-10-20 16:50:39 alexpeshkoff Exp $
|
# $Id: Makefile.in.fbserver,v 1.11.2.7 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=fbserver
|
ObjModuleName=fbserver
|
||||||
@ -52,7 +52,7 @@ SERVER_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SERVER_Source
|
|||||||
|
|
||||||
AllObjects = $(SERVER_Objects)
|
AllObjects = $(SERVER_Objects)
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -73,10 +73,6 @@ $(FB_SUPER_SERVER): $(SERVER_Objects) $(IPSERVER_Objects) -lfbserver
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
AllObjects = $(SERVER_Objects)
|
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
|
||||||
|
|
||||||
include $(ROOT)/gen/make.shared.targets
|
include $(ROOT)/gen/make.shared.targets
|
||||||
|
|
||||||
-include $(Dependencies)
|
-include $(Dependencies)
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.fbutil,v 1.6 2003-03-27 11:21:45 aafemt Exp $
|
# $Id: Makefile.in.fbutil,v 1.6.2.1 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=../..
|
ROOT=../..
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ include $(ROOT)/src/make.shared.variables
|
|||||||
|
|
||||||
AllObjects= $(FBUTIL_Objects)
|
AllObjects= $(FBUTIL_Objects)
|
||||||
|
|
||||||
Dependancies=$(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -60,12 +60,11 @@ jrdlib_dependencies: $(FBUTIL_Objects)
|
|||||||
|
|
||||||
|
|
||||||
libtestx.$(SHRLIB_EXT).2 : $(FBUTIL_Objects)
|
libtestx.$(SHRLIB_EXT).2 : $(FBUTIL_Objects)
|
||||||
# g++ -shared -o $@ $^ $(STATICLINK_LIBS)
|
|
||||||
$(LIB_LINK) $(LIB_LINK_OPTIONS) -o $@ $^
|
$(LIB_LINK) $(LIB_LINK_OPTIONS) -o $@ $^
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
include $(ROOT)/gen/make.shared.targets
|
include $(ROOT)/gen/make.shared.targets
|
||||||
|
|
||||||
-include $(Dependancies)
|
-include $(Dependencies)
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.gpre,v 1.8 2003-07-08 01:05:22 brodsom Exp $
|
# $Id: Makefile.in.gpre,v 1.8.2.1 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=../..
|
ROOT=../..
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ AllObjects = $(GPRECommon_Objects) $(GPREBoot_Objects) $(GPRE_Objects) \
|
|||||||
$(GPRELIB_Objects)
|
$(GPRELIB_Objects)
|
||||||
|
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.inet_server,v 1.11.2.3 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.inet_server,v 1.11.2.4 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=inet_server
|
ObjModuleName=inet_server
|
||||||
@ -44,7 +44,7 @@ SERVER_Sources = $(addprefix remote/, $(SERVER_Files))
|
|||||||
SERVER_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SERVER_Sources))))
|
SERVER_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SERVER_Sources))))
|
||||||
|
|
||||||
AllObjects = $(SERVER_Objects)
|
AllObjects = $(SERVER_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: fb_inet_server
|
.PHONY: fb_inet_server
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.intl,v 1.11.2.4 2004-10-07 21:34:24 skidder Exp $
|
# $Id: Makefile.in.intl,v 1.11.2.5 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=intl
|
ObjModuleName=intl
|
||||||
@ -62,7 +62,7 @@ INTL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(INTL_Sources)))
|
|||||||
|
|
||||||
|
|
||||||
AllObjects = $(INTL_Objects)
|
AllObjects = $(INTL_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all libfbintl
|
.PHONY: all libfbintl
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.libfbclient,v 1.14.2.5 2004-10-07 21:34:24 skidder Exp $
|
# $Id: Makefile.in.libfbclient,v 1.14.2.6 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=libfbclient
|
ObjModuleName=libfbclient
|
||||||
@ -126,7 +126,7 @@ $(LIBFBCLIENT_SO): $(FBCLIENT_Objects)
|
|||||||
|
|
||||||
|
|
||||||
AllObjects = $(FBCLIENT_Objects)
|
AllObjects = $(FBCLIENT_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
include $(ROOT)/gen/make.shared.targets
|
include $(ROOT)/gen/make.shared.targets
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.libfbcommon,v 1.6 2003-03-27 11:21:45 aafemt Exp $
|
# $Id: Makefile.in.libfbcommon,v 1.6.2.1 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=libfbcommon
|
ObjModuleName=libfbcommon
|
||||||
@ -45,7 +45,7 @@ LIBFBCOMMON_Objects = $(FBCLASSES_Objects) $(FBCOMMON_Objects) $(FBCONFIG_Object
|
|||||||
|
|
||||||
AllObjects= $(LIBFBCOMMON_Objects)
|
AllObjects= $(LIBFBCOMMON_Objects)
|
||||||
|
|
||||||
Dependancies=$(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: libfbcommon
|
.PHONY: libfbcommon
|
||||||
@ -66,5 +66,5 @@ $(LIB)/libfbcommon.a: $(LIBFBCOMMON_Objects)
|
|||||||
|
|
||||||
include $(ROOT)/gen/make.shared.targets
|
include $(ROOT)/gen/make.shared.targets
|
||||||
|
|
||||||
-include $(Dependancies)
|
-include $(Dependencies)
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.libfbembed,v 1.10.2.4 2004-09-17 20:34:21 skidder Exp $
|
# $Id: Makefile.in.libfbembed,v 1.10.2.5 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=libfbembed
|
ObjModuleName=libfbembed
|
||||||
@ -54,7 +54,7 @@ SERVER_Sources = $(addprefix remote/, $(SERVER_Files))
|
|||||||
SERVER_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SERVER_Sources))))
|
SERVER_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SERVER_Sources))))
|
||||||
|
|
||||||
AllObjects = $(LIBFBEMBED_Objects) $(SERVER_Objects)
|
AllObjects = $(LIBFBEMBED_Objects) $(SERVER_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: libfbembed
|
.PHONY: libfbembed
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.libfbserver,v 1.6.2.4 2004-10-20 16:50:39 alexpeshkoff Exp $
|
# $Id: Makefile.in.libfbserver,v 1.6.2.5 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=libfbserver
|
ObjModuleName=libfbserver
|
||||||
@ -79,7 +79,7 @@ $(LIBFBSERVER_A): $(LIBFBSERVER_Objects)
|
|||||||
|
|
||||||
|
|
||||||
AllObjects = $(LIBFBSERVER_Objects)
|
AllObjects = $(LIBFBSERVER_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
include $(ROOT)/gen/make.shared.targets
|
include $(ROOT)/gen/make.shared.targets
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.libfbstatic,v 1.5 2003-03-27 11:21:45 aafemt Exp $
|
# $Id: Makefile.in.libfbstatic,v 1.5.2.1 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=libfbstatic
|
ObjModuleName=libfbstatic
|
||||||
@ -42,7 +42,7 @@ include $(ROOT)/gen/make.shared.variables
|
|||||||
|
|
||||||
|
|
||||||
AllObjects= $(LIBFBSTATIC_Objects)
|
AllObjects= $(LIBFBSTATIC_Objects)
|
||||||
Dependancies=$(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -65,4 +65,4 @@ $(LIB)/libfbstatic.a: $(LIBFBSTATIC_Objects)
|
|||||||
|
|
||||||
include $(ROOT)/gen/make.shared.targets
|
include $(ROOT)/gen/make.shared.targets
|
||||||
|
|
||||||
-include $(Dependancies)
|
-include $(Dependencies)
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.msgs,v 1.12 2003-07-08 10:45:47 brodsom Exp $
|
# $Id: Makefile.in.msgs,v 1.12.2.1 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=msgs
|
ObjModuleName=msgs
|
||||||
@ -72,7 +72,7 @@ CHANGE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(CHANGE_Source
|
|||||||
AllObjects = $(CHECK_Objects) $(BUILD_Objects) $(ENTER_Objects) \
|
AllObjects = $(CHECK_Objects) $(BUILD_Objects) $(ENTER_Objects) \
|
||||||
$(MODIFY_Objects) $(CHANGE_Objects)
|
$(MODIFY_Objects) $(CHANGE_Objects)
|
||||||
|
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
.PHONY: all msgs build_file check_messages enter_messages modify_messages change_messages
|
.PHONY: all msgs build_file check_messages enter_messages modify_messages change_messages
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.static.gbak,v 1.6.2.1 2003-07-19 04:57:38 bellardo Exp $
|
# $Id: Makefile.in.static.gbak,v 1.6.2.2 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=static.gbak
|
ObjModuleName=static.gbak
|
||||||
@ -48,7 +48,7 @@ GBAKSTATIC_Sources = $(addprefix burp/, $(GBAKSTATIC_Files))
|
|||||||
GBAKSTATIC_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GBAKSTATIC_Sources))))
|
GBAKSTATIC_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GBAKSTATIC_Sources))))
|
||||||
|
|
||||||
AllObjects = $(GBAKSTATIC_Objects)
|
AllObjects = $(GBAKSTATIC_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.static.gpre,v 1.10.2.2 2004-03-29 03:49:24 skidder Exp $
|
# $Id: Makefile.in.static.gpre,v 1.10.2.3 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=static.gpre
|
ObjModuleName=static.gpre
|
||||||
@ -52,7 +52,7 @@ GPRESTATIC_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRESTATI
|
|||||||
|
|
||||||
|
|
||||||
AllObjects = $(GPRESTATIC_Objects)
|
AllObjects = $(GPRESTATIC_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: gpre_static
|
.PHONY: gpre_static
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: Makefile.in.static.isql,v 1.6 2003-03-27 11:21:45 aafemt Exp $
|
# $Id: Makefile.in.static.isql,v 1.6.2.1 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
ROOT=..
|
ROOT=..
|
||||||
ObjModuleName=static.isql
|
ObjModuleName=static.isql
|
||||||
@ -49,7 +49,7 @@ ISQL_Sources = $(addprefix isql/, $(ISQL_Files))
|
|||||||
ISQL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(ISQL_Sources))))
|
ISQL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(ISQL_Sources))))
|
||||||
|
|
||||||
AllObjects = $(ISQL_Objects)
|
AllObjects = $(ISQL_Objects)
|
||||||
Dependencies = $(AllObjects:.o=.d)
|
Dependencies=$(AllObjects:.o=.$(DEP_EXT))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: make.defaults,v 1.25.2.9 2004-10-07 21:34:24 skidder Exp $
|
# $Id: make.defaults,v 1.25.2.10 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
@ -275,3 +275,6 @@ FBEMBED_LINK = -L$(LIB) -lfbembed
|
|||||||
#For want of a better suggestion we may as well default to posix
|
#For want of a better suggestion we may as well default to posix
|
||||||
PLATFORM_PATH ?= jrd/os/posix
|
PLATFORM_PATH ?= jrd/os/posix
|
||||||
LIB_EMBED_LINK_OPTIONS=
|
LIB_EMBED_LINK_OPTIONS=
|
||||||
|
|
||||||
|
#Dependency file extension
|
||||||
|
DEP_EXT = d
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: make.rules,v 1.19.2.2 2003-07-19 06:19:03 bellardo Exp $
|
# $Id: make.rules,v 1.19.2.3 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
|
|
||||||
#____________________________________________________________________________
|
#____________________________________________________________________________
|
||||||
@ -100,7 +100,10 @@ ifdef UseLibToolForLink
|
|||||||
STATICEXE_LINK = libtool $(CC) -all-static
|
STATICEXE_LINK = libtool $(CC) -all-static
|
||||||
else
|
else
|
||||||
|
|
||||||
LIB_LINK= $(CC)
|
ifndef LIB_LINK
|
||||||
|
LIB_LINK= $(CC)
|
||||||
|
endif
|
||||||
|
|
||||||
STATICLIB_LINK= ar cruvs
|
STATICLIB_LINK= ar cruvs
|
||||||
# LIB_LINK_OPTIONS = -soname libgds.$(SHRLIB_EXT) -rpath /usr/lib
|
# LIB_LINK_OPTIONS = -soname libgds.$(SHRLIB_EXT) -rpath /usr/lib
|
||||||
# LIB_LINK_OPTIONS = -soname libgds.$(SHRLIB_EXT).2 -rpath /usr/lib
|
# LIB_LINK_OPTIONS = -soname libgds.$(SHRLIB_EXT).2 -rpath /usr/lib
|
||||||
@ -223,7 +226,7 @@ $(OBJ)/%.lo: $(SRC_ROOT)/%.cpp
|
|||||||
#.epp.cpp:
|
#.epp.cpp:
|
||||||
# $(GPRE_STATIC) $(GPRE_FLAGS) $<
|
# $(GPRE_STATIC) $(GPRE_FLAGS) $<
|
||||||
|
|
||||||
$(OBJ)/%.o: $(OBJ)/%.d
|
$(OBJ)/%.o: $(OBJ)/%.$(DEP_EXT)
|
||||||
|
|
||||||
.SUFFIXES: .epp .e
|
.SUFFIXES: .epp .e
|
||||||
|
|
||||||
@ -231,17 +234,17 @@ $(OBJ)/%.o: $(OBJ)/%.d
|
|||||||
# since the .d file was just created then it will force a compile of the
|
# since the .d file was just created then it will force a compile of the
|
||||||
# .cpp files
|
# .cpp files
|
||||||
|
|
||||||
$(OBJ)/%.d:: $(SRC_ROOT)/%.c
|
$(OBJ)/%.$(DEP_EXT):: $(SRC_ROOT)/%.c
|
||||||
@$(ECHO) "need to rebuild $^"
|
@$(ECHO) "need to rebuild $^"
|
||||||
$(ECHO) $(OBJ)/$(*).o " : FORCE" > $@
|
$(ECHO) $(OBJ)/$(*).o " : FORCE" > $@
|
||||||
# $(TOUCH) $^
|
# $(TOUCH) $^
|
||||||
|
|
||||||
$(OBJ)/%.d:: $(SRC_ROOT)/%.epp
|
$(OBJ)/%.$(DEP_EXT):: $(SRC_ROOT)/%.epp
|
||||||
@$(ECHO) "need to rebuild $^"
|
@$(ECHO) "need to rebuild $^"
|
||||||
$(ECHO) $(OBJ)/$(*).o " : FORCE" > $@
|
$(ECHO) $(OBJ)/$(*).o " : FORCE" > $@
|
||||||
# $(TOUCH) $^
|
# $(TOUCH) $^
|
||||||
|
|
||||||
$(OBJ)/%.d:: $(SRC_ROOT)/%.cpp
|
$(OBJ)/%.$(DEP_EXT):: $(SRC_ROOT)/%.cpp
|
||||||
@$(ECHO) "need to rebuild $^"
|
@$(ECHO) "need to rebuild $^"
|
||||||
$(ECHO) $(OBJ)/$(*).o " : FORCE" > $@
|
$(ECHO) $(OBJ)/$(*).o " : FORCE" > $@
|
||||||
# $(TOUCH) $^
|
# $(TOUCH) $^
|
||||||
@ -257,11 +260,11 @@ $(GEN_ROOT)/%.res: $(SRC_ROOT)/%.rc
|
|||||||
# gets in trouble with directory path names)
|
# gets in trouble with directory path names)
|
||||||
|
|
||||||
define move-dep
|
define move-dep
|
||||||
if [ -f $(*F).d ]; \
|
if [ -f $(*F).$(DEP_EXT) ]; \
|
||||||
then \
|
then \
|
||||||
sed -e '1 s#$(@F)#$(OBJ)\/$(@F)#' $(*F).d > tmp.d; \
|
sed -e '1 s#$(@F)#$(OBJ)\/$(@F)#' $(*F).$(DEP_EXT) > tmp.d; \
|
||||||
$(MV) tmp.d $(OBJ)/$(*F).d; \
|
$(MV) tmp.d $(OBJ)/$(*F).$(DEP_EXT); \
|
||||||
$(RM) $(*F).d; \
|
$(RM) $(*F).$(DEP_EXT); \
|
||||||
$(TOUCH) $@; \
|
$(TOUCH) $@; \
|
||||||
fi
|
fi
|
||||||
endef
|
endef
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# $Id: make.shared.targets,v 1.13.2.1 2003-07-19 04:57:38 bellardo Exp $
|
# $Id: make.shared.targets,v 1.13.2.2 2006-11-05 14:37:30 alexpeshkoff Exp $
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
@ -88,7 +88,8 @@ $(SRC_ROOT)/include/gen/blrtable.h: $(BLRTABLE)
|
|||||||
$(BLRTABLE) > $(SRC_ROOT)/include/gen/blrtable.h
|
$(BLRTABLE) > $(SRC_ROOT)/include/gen/blrtable.h
|
||||||
|
|
||||||
$(BLRTABLE): $(BLRTABLE_Objects)
|
$(BLRTABLE): $(BLRTABLE_Objects)
|
||||||
$(CXX) $(LINK_OPTS) $(BLRTABLE_Objects) -o $@ -L$(LIB) -lfbcommon $(LINK_LIBS)
|
$(CXX) $(LINK_OPTS) $(BLRTABLE_Objects) -o $@ -L$(LIB) $(LINK_LIBS)
|
||||||
|
# $(CXX) $(LINK_OPTS) $(BLRTABLE_Objects) -o $@ -L$(LIB) -lfbcommon $(LINK_LIBS)
|
||||||
|
|
||||||
# Adding resources as prerequisite for some files
|
# Adding resources as prerequisite for some files
|
||||||
|
|
||||||
|
46
builds/posix/prefix.aix
Normal file
46
builds/posix/prefix.aix
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# The contents of this file are subject to the Interbase Public
|
||||||
|
# License Version 1.0 (the "License"); you may not use this file
|
||||||
|
# except in compliance with the License. You may obtain a copy
|
||||||
|
# of the License at http://www.Inprise.com/IPL.html
|
||||||
|
#
|
||||||
|
# Software distributed under the License is distributed on an
|
||||||
|
# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
|
||||||
|
# or implied. See the License for the specific language governing
|
||||||
|
# rights and limitations under the License.
|
||||||
|
#
|
||||||
|
# The Original Code was created by Inprise Corporation
|
||||||
|
# and its predecessors. Portions created by Inprise Corporation are
|
||||||
|
# Copyright (C) Inprise Corporation.
|
||||||
|
#
|
||||||
|
# All Rights Reserved.
|
||||||
|
# Contributor(s): ______________________________________.
|
||||||
|
# Start of file prefix.aix: $(VERSION) $(PLATFORM)
|
||||||
|
|
||||||
|
|
||||||
|
CXX:=xlC_r7
|
||||||
|
LD:=xlC_r7
|
||||||
|
CC:=xlc_r7
|
||||||
|
LIB_LINK:=xlC_r7
|
||||||
|
|
||||||
|
AIX_FLAGS=-qstaticinline -qchars=signed -qfuncsect -DAIX_PPC -DPowerPC -M
|
||||||
|
SUPPRESS=-qsuppress=1540-0152:1540-1401:1540-1405
|
||||||
|
COMMON_FLAGS=$(AIX_FLAGS) $(SUPPRESS)
|
||||||
|
|
||||||
|
PROD_FLAGS=-O2 -DNDEBUG $(COMMON_FLAGS)
|
||||||
|
DEV_FLAGS=-g -O0 $(COMMON_FLAGS)
|
||||||
|
|
||||||
|
OS_ServerFiles=inet_server.cpp
|
||||||
|
|
||||||
|
LIB_LINK_OPTIONS:=-G
|
||||||
|
LIB_LINK_RPATH:=-Wl,-R,
|
||||||
|
LIBGDS_LINK_OPTIONS:=-G $(LIB_LINK_RPATH)$(FirebirdInstallPrefix)/lib
|
||||||
|
LINK_FBINTL_SYMBOLS:=-bE:$(ROOT)/gen/fbintl.vers
|
||||||
|
LINK_FIREBIRD_SYMBOLS:=-bE:$(ROOT)/gen/firebird.vers
|
||||||
|
LIB_LINK_SONAME_LINE:=
|
||||||
|
|
||||||
|
EMBED_UTIL_TARGETS=gds_drop gstat gsec fb_lock_print
|
||||||
|
CLIENT_UTIL_TARGETS=gds_drop gstat gsec fbguard fbmgr_bin fb_lock_print
|
||||||
|
|
||||||
|
Physical_IO_Module=unix.cpp
|
||||||
|
|
||||||
|
DEP_EXT:=u
|
14
configure.in
14
configure.in
@ -1,4 +1,4 @@
|
|||||||
dnl $Id: configure.in,v 1.141.2.38 2005-06-09 09:04:44 kkuznetsov Exp $
|
dnl $Id: configure.in,v 1.141.2.39 2006-11-05 14:37:18 alexpeshkoff Exp $
|
||||||
|
|
||||||
dnl ############################# INITIALISATION ###############################
|
dnl ############################# INITIALISATION ###############################
|
||||||
|
|
||||||
@ -157,6 +157,18 @@ case "$target" in
|
|||||||
SHRLIB_EXT=dll
|
SHRLIB_EXT=dll
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
powerpc-ibm-aix*)
|
||||||
|
MAKEFILE_PREFIX=aix
|
||||||
|
INSTALL_PREFIX=aix
|
||||||
|
PLATFORM=AIX_PPC
|
||||||
|
AC_DEFINE(AIX_PPC, 1, [Define this if OS is aix])
|
||||||
|
LOCK_MANAGER_FLG=Y
|
||||||
|
EDITLINE_FLG=N
|
||||||
|
SHRLIB_EXT=a
|
||||||
|
libdir=/usr/lib64
|
||||||
|
CPU_TYPE=PowerPC
|
||||||
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR(unsupported platform ${target})
|
AC_MSG_ERROR(unsupported platform ${target})
|
||||||
;;
|
;;
|
||||||
|
@ -434,17 +434,7 @@ int DLL_EXPORT BURP_gbak(int argc,
|
|||||||
* Routine called by command line utility, services API, and server manager.
|
* Routine called by command line utility, services API, and server manager.
|
||||||
*
|
*
|
||||||
**************************************/
|
**************************************/
|
||||||
TEXT *file1, **end, *string, *p, *q, c, *device, *redirect;
|
TEXT *file1, *file2, **end, *string, *p, *q, c, *device, *redirect;
|
||||||
/* This function runs within thread for services API, so here should not be
|
|
||||||
*any* static variables. I did not change an existing definition
|
|
||||||
for AIX PowerPC because of the problem (see comments below). So
|
|
||||||
whoever will do a port on AIX, must reconsider a static definition */
|
|
||||||
#ifdef AIX_PPC
|
|
||||||
static TEXT *file2; /* SomeHow, making this volatile does'nt give the
|
|
||||||
desired value in case of AIX PowerPC */
|
|
||||||
#else
|
|
||||||
TEXT *file2;
|
|
||||||
#endif
|
|
||||||
UCHAR *dpb;
|
UCHAR *dpb;
|
||||||
|
|
||||||
IN_SW_TAB in_sw_tab;
|
IN_SW_TAB in_sw_tab;
|
||||||
|
@ -56,7 +56,7 @@ UCHAR *MISC_alloc_burp(ULONG size)
|
|||||||
TGBL tdgbl = GET_THREAD_DATA;
|
TGBL tdgbl = GET_THREAD_DATA;
|
||||||
|
|
||||||
/* Add some header space to store a list of blocks allocated for this gbak */
|
/* Add some header space to store a list of blocks allocated for this gbak */
|
||||||
size += ROUNDUP(sizeof(UCHAR *), ALIGNMENT);
|
size += ROUNDUP(sizeof(UCHAR *), FB_ALIGNMENT);
|
||||||
|
|
||||||
UCHAR* block = (UCHAR*)gds__alloc(size);
|
UCHAR* block = (UCHAR*)gds__alloc(size);
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ UCHAR *MISC_alloc_burp(ULONG size)
|
|||||||
*((UCHAR **) block) = tdgbl->head_of_mem_list;
|
*((UCHAR **) block) = tdgbl->head_of_mem_list;
|
||||||
tdgbl->head_of_mem_list = block;
|
tdgbl->head_of_mem_list = block;
|
||||||
|
|
||||||
return (block + ROUNDUP(sizeof(UCHAR *), ALIGNMENT));
|
return (block + ROUNDUP(sizeof(UCHAR *), FB_ALIGNMENT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ void MISC_free_burp( void *free)
|
|||||||
if (free != NULL) {
|
if (free != NULL) {
|
||||||
/* Point at the head of the allocated block */
|
/* Point at the head of the allocated block */
|
||||||
block =
|
block =
|
||||||
(UCHAR **) ((UCHAR *) free - ROUNDUP(sizeof(UCHAR *), ALIGNMENT));
|
(UCHAR **) ((UCHAR *) free - ROUNDUP(sizeof(UCHAR *), FB_ALIGNMENT));
|
||||||
|
|
||||||
/* Scan for this block in the list of blocks */
|
/* Scan for this block in the list of blocks */
|
||||||
for (ptr = &tdgbl->head_of_mem_list; *ptr; ptr = (UCHAR **) * ptr) {
|
for (ptr = &tdgbl->head_of_mem_list; *ptr; ptr = (UCHAR **) * ptr) {
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
|
|
||||||
#define MAX_TREE_DEPTH 4
|
#define MAX_TREE_DEPTH 4
|
||||||
// Must be a power of 2
|
// Must be a power of 2
|
||||||
#define ALLOC_ALIGNMENT ALIGNMENT
|
#define ALLOC_ALIGNMENT FB_ALIGNMENT
|
||||||
|
|
||||||
#define MEM_ALIGN(X) FB_ALIGN(X,ALLOC_ALIGNMENT)
|
#define MEM_ALIGN(X) FB_ALIGN(X,ALLOC_ALIGNMENT)
|
||||||
|
|
||||||
@ -241,23 +241,29 @@ void operator delete(void* mem) throw();
|
|||||||
|
|
||||||
void operator delete[](void* mem) throw();
|
void operator delete[](void* mem) throw();
|
||||||
|
|
||||||
|
#ifdef AIX
|
||||||
|
#define FB_STATIC_INLINE_NEW inline
|
||||||
|
#else
|
||||||
|
#define FB_STATIC_INLINE_NEW static inline
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_GDS_ALLOC
|
#ifdef DEBUG_GDS_ALLOC
|
||||||
static inline void* operator new(size_t s, Firebird::MemoryPool& pool, char* file, int line) {
|
FB_STATIC_INLINE_NEW void* operator new(size_t s, Firebird::MemoryPool& pool, char* file, int line) {
|
||||||
return pool.allocate(s, 0, file, line);
|
return pool.allocate(s, 0, file, line);
|
||||||
// return pool.calloc(s, 0, file, line);
|
// return pool.calloc(s, 0, file, line);
|
||||||
}
|
}
|
||||||
static inline void* operator new[](size_t s, Firebird::MemoryPool& pool, char* file, int line) {
|
FB_STATIC_INLINE_NEW void* operator new[](size_t s, Firebird::MemoryPool& pool, char* file, int line) {
|
||||||
return pool.allocate(s, 0, file, line);
|
return pool.allocate(s, 0, file, line);
|
||||||
// return pool.calloc(s, 0, file, line);
|
// return pool.calloc(s, 0, file, line);
|
||||||
}
|
}
|
||||||
#define FB_NEW(pool) new(pool,__FILE__,__LINE__)
|
#define FB_NEW(pool) new(pool,__FILE__,__LINE__)
|
||||||
#define FB_NEW_RPT(pool,count) new(pool,count,__FILE__,__LINE__)
|
#define FB_NEW_RPT(pool,count) new(pool,count,__FILE__,__LINE__)
|
||||||
#else
|
#else
|
||||||
static inline void* operator new(size_t s, Firebird::MemoryPool& pool) {
|
FB_STATIC_INLINE_NEW void* operator new(size_t s, Firebird::MemoryPool& pool) {
|
||||||
return pool.allocate(s);
|
return pool.allocate(s);
|
||||||
// return pool.calloc(s);
|
// return pool.calloc(s);
|
||||||
}
|
}
|
||||||
static inline void* operator new[](size_t s, Firebird::MemoryPool& pool) {
|
FB_STATIC_INLINE_NEW void* operator new[](size_t s, Firebird::MemoryPool& pool) {
|
||||||
return pool.allocate(s);
|
return pool.allocate(s);
|
||||||
// return pool.calloc(s);
|
// return pool.calloc(s);
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ public:
|
|||||||
|
|
||||||
/* Process-local spinlock. Used to manage memory heaps in threaded environment. */
|
/* Process-local spinlock. Used to manage memory heaps in threaded environment. */
|
||||||
// Pthreads version of the class
|
// Pthreads version of the class
|
||||||
#if !defined(SOLARIS) && !defined(DARWIN) && !defined(FREEBSD)
|
#if !defined(SOLARIS) && !defined(DARWIN) && !defined(FREEBSD) && !defined(AIX)
|
||||||
class Spinlock {
|
class Spinlock {
|
||||||
private:
|
private:
|
||||||
pthread_spinlock_t spinlock;
|
pthread_spinlock_t spinlock;
|
||||||
@ -124,7 +124,7 @@ public:
|
|||||||
system_call_failed::raise();
|
system_call_failed::raise();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#else // DARWIN and FREEBSD
|
#else // DARWIN, FREEBSD, AIX
|
||||||
class Spinlock {
|
class Spinlock {
|
||||||
private:
|
private:
|
||||||
pthread_mutex_t mlock;
|
pthread_mutex_t mlock;
|
||||||
|
@ -38,7 +38,7 @@ BLKDEF(dsql_type_err, err, 0)
|
|||||||
BLKDEF(dsql_type_opn, opn, 0)
|
BLKDEF(dsql_type_opn, opn, 0)
|
||||||
BLKDEF(dsql_type_tra, dsql_tra, 0)
|
BLKDEF(dsql_type_tra, dsql_tra, 0)
|
||||||
BLKDEF(dsql_type_udf, udf, 1)
|
BLKDEF(dsql_type_udf, udf, 1)
|
||||||
BLKDEF(dsql_type_var, var, 1)
|
BLKDEF(dsql_type_var, Variable, 1)
|
||||||
BLKDEF(dsql_type_blb, blb, 0)
|
BLKDEF(dsql_type_blb, blb, 0)
|
||||||
BLKDEF(dsql_type_prc, dsql_prc, 1)
|
BLKDEF(dsql_type_prc, dsql_prc, 1)
|
||||||
BLKDEF(dsql_type_intlsym, intlsym, 1)
|
BLKDEF(dsql_type_intlsym, intlsym, 1)
|
||||||
|
@ -315,7 +315,7 @@ enum FUN_T
|
|||||||
// Variables - input, output & local
|
// Variables - input, output & local
|
||||||
|
|
||||||
//! Variable block
|
//! Variable block
|
||||||
class var : public pool_alloc_rpt<SCHAR, dsql_type_var>
|
class Variable : public pool_alloc_rpt<SCHAR, dsql_type_var>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
dsql_fld* var_field; //!< Field on which variable is based
|
dsql_fld* var_field; //!< Field on which variable is based
|
||||||
@ -325,7 +325,7 @@ public:
|
|||||||
USHORT var_variable_number; //!< Local variable number
|
USHORT var_variable_number; //!< Local variable number
|
||||||
TEXT var_name[2];
|
TEXT var_name[2];
|
||||||
};
|
};
|
||||||
typedef var* VAR;
|
typedef Variable* VAR;
|
||||||
|
|
||||||
// values used in var_flags
|
// values used in var_flags
|
||||||
|
|
||||||
|
@ -1719,7 +1719,7 @@ DSQL_NOD MAKE_variable(DSQL_FLD field,
|
|||||||
|
|
||||||
tdsql = GET_THREAD_DATA;
|
tdsql = GET_THREAD_DATA;
|
||||||
|
|
||||||
var_ = FB_NEW_RPT(*tdsql->tsql_default, strlen(name)) var;
|
var_ = FB_NEW_RPT(*tdsql->tsql_default, strlen(name)) Variable;
|
||||||
node = MAKE_node(nod_variable, e_var_count);
|
node = MAKE_node(nod_variable, e_var_count);
|
||||||
node->nod_arg[e_var_variable] = (DSQL_NOD) var_;
|
node->nod_arg[e_var_variable] = (DSQL_NOD) var_;
|
||||||
var_->var_msg_number = msg_number;
|
var_->var_msg_number = msg_number;
|
||||||
|
@ -753,7 +753,7 @@ udf_data_type : simple_type
|
|||||||
| CSTRING '(' pos_short_integer ')' charset_clause
|
| CSTRING '(' pos_short_integer ')' charset_clause
|
||||||
{
|
{
|
||||||
lex.g_field->fld_dtype = dtype_cstring;
|
lex.g_field->fld_dtype = dtype_cstring;
|
||||||
lex.g_field->fld_character_length = (USHORT) $3; }
|
lex.g_field->fld_character_length = (USHORT) (IPTR) $3; }
|
||||||
;
|
;
|
||||||
|
|
||||||
arg_desc_list1 :
|
arg_desc_list1 :
|
||||||
@ -1161,7 +1161,7 @@ logfile_attr : KW_SIZE equals long_integer
|
|||||||
{ lex.g_file->fil_length = (SLONG) $3; }
|
{ lex.g_file->fil_length = (SLONG) $3; }
|
||||||
/*
|
/*
|
||||||
| RAW_PARTITIONS equals pos_short_integer
|
| RAW_PARTITIONS equals pos_short_integer
|
||||||
{ lex.g_file->fil_partitions = (SSHORT) $3;
|
{ lex.g_file->fil_partitions = (SSHORT) (IPTR) $3;
|
||||||
lex.g_file->fil_flags |= LOG_raw; } */
|
lex.g_file->fil_flags |= LOG_raw; } */
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -2292,26 +2292,26 @@ blob_type : BLOB blob_subtype blob_segsize charset_clause
|
|||||||
| BLOB '(' unsigned_short_integer ')'
|
| BLOB '(' unsigned_short_integer ')'
|
||||||
{
|
{
|
||||||
lex.g_field->fld_dtype = dtype_blob;
|
lex.g_field->fld_dtype = dtype_blob;
|
||||||
lex.g_field->fld_seg_length = (USHORT) $3;
|
lex.g_field->fld_seg_length = (USHORT) (IPTR) $3;
|
||||||
lex.g_field->fld_sub_type = 0;
|
lex.g_field->fld_sub_type = 0;
|
||||||
}
|
}
|
||||||
| BLOB '(' unsigned_short_integer ',' signed_short_integer ')'
|
| BLOB '(' unsigned_short_integer ',' signed_short_integer ')'
|
||||||
{
|
{
|
||||||
lex.g_field->fld_dtype = dtype_blob;
|
lex.g_field->fld_dtype = dtype_blob;
|
||||||
lex.g_field->fld_seg_length = (USHORT) $3;
|
lex.g_field->fld_seg_length = (USHORT) (IPTR) $3;
|
||||||
lex.g_field->fld_sub_type = (USHORT) $5;
|
lex.g_field->fld_sub_type = (USHORT) (IPTR) $5;
|
||||||
}
|
}
|
||||||
| BLOB '(' ',' signed_short_integer ')'
|
| BLOB '(' ',' signed_short_integer ')'
|
||||||
{
|
{
|
||||||
lex.g_field->fld_dtype = dtype_blob;
|
lex.g_field->fld_dtype = dtype_blob;
|
||||||
lex.g_field->fld_seg_length = 80;
|
lex.g_field->fld_seg_length = 80;
|
||||||
lex.g_field->fld_sub_type = (USHORT) $4;
|
lex.g_field->fld_sub_type = (USHORT) (IPTR) $4;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
blob_segsize : SEGMENT KW_SIZE unsigned_short_integer
|
blob_segsize : SEGMENT KW_SIZE unsigned_short_integer
|
||||||
{
|
{
|
||||||
lex.g_field->fld_seg_length = (USHORT) $3;
|
lex.g_field->fld_seg_length = (USHORT) (IPTR) $3;
|
||||||
}
|
}
|
||||||
|
|
|
|
||||||
{
|
{
|
||||||
@ -2321,7 +2321,7 @@ blob_segsize : SEGMENT KW_SIZE unsigned_short_integer
|
|||||||
|
|
||||||
blob_subtype : SUB_TYPE signed_short_integer
|
blob_subtype : SUB_TYPE signed_short_integer
|
||||||
{
|
{
|
||||||
lex.g_field->fld_sub_type = (USHORT) $2;
|
lex.g_field->fld_sub_type = (USHORT) (IPTR) $2;
|
||||||
}
|
}
|
||||||
| SUB_TYPE symbol_blob_subtype_name
|
| SUB_TYPE symbol_blob_subtype_name
|
||||||
{
|
{
|
||||||
@ -2347,7 +2347,7 @@ charset_clause : CHARACTER SET symbol_character_set_name
|
|||||||
national_character_type : national_character_keyword '(' pos_short_integer ')'
|
national_character_type : national_character_keyword '(' pos_short_integer ')'
|
||||||
{
|
{
|
||||||
lex.g_field->fld_dtype = dtype_text;
|
lex.g_field->fld_dtype = dtype_text;
|
||||||
lex.g_field->fld_character_length = (USHORT) $3;
|
lex.g_field->fld_character_length = (USHORT) (IPTR) $3;
|
||||||
lex.g_field->fld_flags |= FLD_national;
|
lex.g_field->fld_flags |= FLD_national;
|
||||||
}
|
}
|
||||||
| national_character_keyword
|
| national_character_keyword
|
||||||
@ -2359,7 +2359,7 @@ national_character_type : national_character_keyword '(' pos_short_integer ')'
|
|||||||
| national_character_keyword VARYING '(' pos_short_integer ')'
|
| national_character_keyword VARYING '(' pos_short_integer ')'
|
||||||
{
|
{
|
||||||
lex.g_field->fld_dtype = dtype_varying;
|
lex.g_field->fld_dtype = dtype_varying;
|
||||||
lex.g_field->fld_character_length = (USHORT) $4;
|
lex.g_field->fld_character_length = (USHORT) (IPTR) $4;
|
||||||
lex.g_field->fld_flags |= FLD_national;
|
lex.g_field->fld_flags |= FLD_national;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
@ -2367,7 +2367,7 @@ national_character_type : national_character_keyword '(' pos_short_integer ')'
|
|||||||
character_type : character_keyword '(' pos_short_integer ')'
|
character_type : character_keyword '(' pos_short_integer ')'
|
||||||
{
|
{
|
||||||
lex.g_field->fld_dtype = dtype_text;
|
lex.g_field->fld_dtype = dtype_text;
|
||||||
lex.g_field->fld_character_length = (USHORT) $3;
|
lex.g_field->fld_character_length = (USHORT) (IPTR) $3;
|
||||||
}
|
}
|
||||||
| character_keyword
|
| character_keyword
|
||||||
{
|
{
|
||||||
@ -2377,7 +2377,7 @@ character_type : character_keyword '(' pos_short_integer ')'
|
|||||||
| varying_keyword '(' pos_short_integer ')'
|
| varying_keyword '(' pos_short_integer ')'
|
||||||
{
|
{
|
||||||
lex.g_field->fld_dtype = dtype_varying;
|
lex.g_field->fld_dtype = dtype_varying;
|
||||||
lex.g_field->fld_character_length = (USHORT) $3;
|
lex.g_field->fld_character_length = (USHORT) (IPTR) $3;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -2479,7 +2479,7 @@ prec_scale :
|
|||||||
lex.g_field->fld_dtype = dtype_long;
|
lex.g_field->fld_dtype = dtype_long;
|
||||||
lex.g_field->fld_length = sizeof (SLONG);
|
lex.g_field->fld_length = sizeof (SLONG);
|
||||||
}
|
}
|
||||||
lex.g_field->fld_precision = (USHORT) $2;
|
lex.g_field->fld_precision = (USHORT) (IPTR) $2;
|
||||||
}
|
}
|
||||||
| '(' signed_long_integer ',' signed_long_integer ')'
|
| '(' signed_long_integer ',' signed_long_integer ')'
|
||||||
{
|
{
|
||||||
@ -2538,8 +2538,8 @@ prec_scale :
|
|||||||
lex.g_field->fld_length = sizeof (SLONG);
|
lex.g_field->fld_length = sizeof (SLONG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lex.g_field->fld_precision = (USHORT) $2;
|
lex.g_field->fld_precision = (USHORT) (IPTR) $2;
|
||||||
lex.g_field->fld_scale = - (SSHORT) $4;
|
lex.g_field->fld_scale = - (SSHORT) (IPTR) $4;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -2756,7 +2756,7 @@ restr_option : table_list table_lock
|
|||||||
;
|
;
|
||||||
|
|
||||||
table_lock : FOR lock_type lock_mode
|
table_lock : FOR lock_type lock_mode
|
||||||
{ $$ = make_flag_node (nod_lock_mode, (SSHORT) ((SSHORT) $2 | (SSHORT) $3), (SSHORT) 0, NULL); }
|
{ $$ = make_flag_node (nod_lock_mode, (SSHORT) ((SSHORT) (IPTR) $2 | (SSHORT) (IPTR) $3), (SSHORT) 0, NULL); }
|
||||||
|
|
|
|
||||||
{ $$ = 0; }
|
{ $$ = 0; }
|
||||||
;
|
;
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
//
|
//
|
||||||
//____________________________________________________________
|
//____________________________________________________________
|
||||||
//
|
//
|
||||||
// $Id: cmd.cpp,v 1.9.2.1 2003-10-30 22:25:53 skidder Exp $
|
// $Id: cmd.cpp,v 1.9.2.2 2006-11-05 14:38:01 alexpeshkoff Exp $
|
||||||
//
|
//
|
||||||
|
|
||||||
#include "firebird.h"
|
#include "firebird.h"
|
||||||
@ -204,7 +204,7 @@ CMD_compile_ddl(GPRE_REQ request)
|
|||||||
|
|
||||||
case ACT_drop_shadow:
|
case ACT_drop_shadow:
|
||||||
put_numeric(request, gds_dyn_delete_shadow,
|
put_numeric(request, gds_dyn_delete_shadow,
|
||||||
(SSHORT) action->act_object);
|
(SSHORT) (IPTR) action->act_object);
|
||||||
STUFF_END;
|
STUFF_END;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -25,10 +25,10 @@
|
|||||||
//
|
//
|
||||||
//____________________________________________________________
|
//____________________________________________________________
|
||||||
//
|
//
|
||||||
// $Id: msc.cpp,v 1.6 2003-07-02 12:57:41 brodsom Exp $
|
// $Id: msc.cpp,v 1.6.2.1 2006-11-05 14:38:01 alexpeshkoff Exp $
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//$Id: msc.cpp,v 1.6 2003-07-02 12:57:41 brodsom Exp $
|
//$Id: msc.cpp,v 1.6.2.1 2006-11-05 14:38:01 alexpeshkoff Exp $
|
||||||
//
|
//
|
||||||
|
|
||||||
// ***************************************************
|
// ***************************************************
|
||||||
@ -104,7 +104,7 @@ UCHAR *MSC_alloc(int size)
|
|||||||
int n;
|
int n;
|
||||||
UCHAR *blk, *p, *end;
|
UCHAR *blk, *p, *end;
|
||||||
|
|
||||||
size = FB_ALIGN(size, ALIGNMENT);
|
size = FB_ALIGN(size, FB_ALIGNMENT);
|
||||||
|
|
||||||
if (!space || size > space->spc_remaining) {
|
if (!space || size > space->spc_remaining) {
|
||||||
n = MAX(size, 4096);
|
n = MAX(size, 4096);
|
||||||
@ -141,7 +141,7 @@ UCHAR *MSC_alloc_permanent(int size)
|
|||||||
int n;
|
int n;
|
||||||
UCHAR *blk, *p, *end;
|
UCHAR *blk, *p, *end;
|
||||||
|
|
||||||
size = FB_ALIGN(size, ALIGNMENT);
|
size = FB_ALIGN(size, FB_ALIGNMENT);
|
||||||
|
|
||||||
if (!permanent_space || size > permanent_space->spc_remaining) {
|
if (!permanent_space || size > permanent_space->spc_remaining) {
|
||||||
n = MAX(size, 4096);
|
n = MAX(size, 4096);
|
||||||
|
@ -239,7 +239,7 @@ rec_err:
|
|||||||
length = d->dsc_length;
|
length = d->dsc_length;
|
||||||
memcpy(d->dsc_address, var->sqldata, length);
|
memcpy(d->dsc_address, var->sqldata, length);
|
||||||
if (d->dsc_scale != var->sqlscale) {
|
if (d->dsc_scale != var->sqlscale) {
|
||||||
double DeltaPow = pow(10, var->sqlscale - d->dsc_scale);
|
double DeltaPow = pow(10.0, var->sqlscale - d->dsc_scale);
|
||||||
# define ReScaleLike(t) *((t *)d->dsc_address) *= DeltaPow
|
# define ReScaleLike(t) *((t *)d->dsc_address) *= DeltaPow
|
||||||
switch (d->dsc_dtype) {
|
switch (d->dsc_dtype) {
|
||||||
case dtype_short:
|
case dtype_short:
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
$Id: align.cpp,v 1.8 2003-02-13 15:33:51 brodsom Exp $
|
$Id: align.cpp,v 1.8.2.1 2006-11-05 14:38:08 alexpeshkoff Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "firebird.h"
|
#include "firebird.h"
|
||||||
@ -42,9 +42,9 @@ typedef struct alignment {
|
|||||||
short rule_double_align;
|
short rule_double_align;
|
||||||
char *rule_rule;
|
char *rule_rule;
|
||||||
char *rule_system;
|
char *rule_system;
|
||||||
} ALIGNMENT;
|
} ST_ALIGNMENT;
|
||||||
|
|
||||||
static ALIGNMENT rules[] = {
|
static ST_ALIGNMENT rules[] = {
|
||||||
1, 9, 0, 4, 4, NO_OP, "VMS", /* VMS */
|
1, 9, 0, 4, 4, NO_OP, "VMS", /* VMS */
|
||||||
2, 10, 0, 4, 4, EVEN, "MC 68K", /* Generic Motorola */
|
2, 10, 0, 4, 4, EVEN, "MC 68K", /* Generic Motorola */
|
||||||
4, 12, 0, 4, 4, MAJOR_MINOR, "VAX Ultrix, 386i, RT", /* VAX Ultrix */
|
4, 12, 0, 4, 4, MAJOR_MINOR, "VAX Ultrix, 386i, RT", /* VAX Ultrix */
|
||||||
@ -69,7 +69,7 @@ int main(int argc, char *argv[])
|
|||||||
long vector[3];
|
long vector[3];
|
||||||
#endif
|
#endif
|
||||||
short offset, length, faults;
|
short offset, length, faults;
|
||||||
ALIGNMENT *rule;
|
ST_ALIGNMENT *rule;
|
||||||
|
|
||||||
offset = (int) &((XYZ) 0)->b;
|
offset = (int) &((XYZ) 0)->b;
|
||||||
length = sizeof(struct xyz);
|
length = sizeof(struct xyz);
|
||||||
@ -79,7 +79,7 @@ int main(int argc, char *argv[])
|
|||||||
if (rule->rule_offset == offset &&
|
if (rule->rule_offset == offset &&
|
||||||
rule->rule_length == length && rule->rule_faults == faults) {
|
rule->rule_length == length && rule->rule_faults == faults) {
|
||||||
ib_printf("\n/* %s */\n\n", rule->rule_system);
|
ib_printf("\n/* %s */\n\n", rule->rule_system);
|
||||||
ib_printf("#define ALIGNMENT\t%d\n", rule->rule_base_align);
|
ib_printf("#define FB_ALIGNMENT\t%d\n", rule->rule_base_align);
|
||||||
ib_printf("#define DOUBLE_ALIGN\t%d\n", rule->rule_double_align);
|
ib_printf("#define DOUBLE_ALIGN\t%d\n", rule->rule_double_align);
|
||||||
ib_printf("#define FB_ALIGN(n,b)\t%s\n", rule->rule_rule);
|
ib_printf("#define FB_ALIGN(n,b)\t%s\n", rule->rule_rule);
|
||||||
check_byte_order();
|
check_byte_order();
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
$Id: blb.cpp,v 1.30.2.6 2004-04-27 01:44:57 skidder Exp $
|
$Id: blb.cpp,v 1.30.2.7 2006-11-05 14:38:08 alexpeshkoff Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "firebird.h"
|
#include "firebird.h"
|
||||||
@ -563,8 +563,8 @@ USHORT BLB_get_segment(TDBB tdbb,
|
|||||||
|
|
||||||
length -= l;
|
length -= l;
|
||||||
buffer_length -= l;
|
buffer_length -= l;
|
||||||
if (((U_IPTR) from & (ALIGNMENT - 1))
|
if (((U_IPTR) from & (FB_ALIGNMENT - 1))
|
||||||
|| ((U_IPTR) to & (ALIGNMENT - 1)))
|
|| ((U_IPTR) to & (FB_ALIGNMENT - 1)))
|
||||||
MOVE_FAST(from, to, l);
|
MOVE_FAST(from, to, l);
|
||||||
else
|
else
|
||||||
MOVE_FASTER(from, to, l);
|
MOVE_FASTER(from, to, l);
|
||||||
@ -599,8 +599,8 @@ USHORT BLB_get_segment(TDBB tdbb,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (active_page) {
|
if (active_page) {
|
||||||
if (((U_IPTR) from & (ALIGNMENT - 1))
|
if (((U_IPTR) from & (FB_ALIGNMENT - 1))
|
||||||
|| ((U_IPTR) blob->blb_data & (ALIGNMENT - 1)))
|
|| ((U_IPTR) blob->blb_data & (FB_ALIGNMENT - 1)))
|
||||||
MOVE_FAST(from, blob->blb_data, length);
|
MOVE_FAST(from, blob->blb_data, length);
|
||||||
else
|
else
|
||||||
MOVE_FASTER(from, blob->blb_data, length);
|
MOVE_FASTER(from, blob->blb_data, length);
|
||||||
@ -860,7 +860,7 @@ void BLB_move(TDBB tdbb, DSC * from_desc, DSC * to_desc, JRD_NOD field)
|
|||||||
request = tdbb->tdbb_request;
|
request = tdbb->tdbb_request;
|
||||||
source = (BID) from_desc->dsc_address;
|
source = (BID) from_desc->dsc_address;
|
||||||
destination = (BID) to_desc->dsc_address;
|
destination = (BID) to_desc->dsc_address;
|
||||||
id = (USHORT) field->nod_arg[e_fld_id];
|
id = (USHORT) (IPTR) field->nod_arg[e_fld_id];
|
||||||
rpb = &request->req_rpb[(int) field->nod_arg[e_fld_stream]];
|
rpb = &request->req_rpb[(int) field->nod_arg[e_fld_stream]];
|
||||||
relation = rpb->rpb_relation;
|
relation = rpb->rpb_relation;
|
||||||
record = rpb->rpb_record;
|
record = rpb->rpb_record;
|
||||||
@ -1264,8 +1264,8 @@ void BLB_put_segment(TDBB tdbb, BLB blob, UCHAR* seg, USHORT segment_length)
|
|||||||
|
|
||||||
if (!length_flag && segment_length <= blob->blb_space_remaining) {
|
if (!length_flag && segment_length <= blob->blb_space_remaining) {
|
||||||
blob->blb_space_remaining -= segment_length;
|
blob->blb_space_remaining -= segment_length;
|
||||||
if (((U_IPTR) segment & (ALIGNMENT - 1))
|
if (((U_IPTR) segment & (FB_ALIGNMENT - 1))
|
||||||
|| ((U_IPTR) p & (ALIGNMENT - 1)))
|
|| ((U_IPTR) p & (FB_ALIGNMENT - 1)))
|
||||||
MOVE_FAST(segment, p, segment_length);
|
MOVE_FAST(segment, p, segment_length);
|
||||||
else
|
else
|
||||||
MOVE_FASTER(segment, p, segment_length);
|
MOVE_FASTER(segment, p, segment_length);
|
||||||
@ -1288,8 +1288,8 @@ void BLB_put_segment(TDBB tdbb, BLB blob, UCHAR* seg, USHORT segment_length)
|
|||||||
if (!length_flag && l) {
|
if (!length_flag && l) {
|
||||||
segment_length -= l;
|
segment_length -= l;
|
||||||
blob->blb_space_remaining -= l;
|
blob->blb_space_remaining -= l;
|
||||||
if (((U_IPTR) segment & (ALIGNMENT - 1))
|
if (((U_IPTR) segment & (FB_ALIGNMENT - 1))
|
||||||
|| ((U_IPTR) p & (ALIGNMENT - 1)))
|
|| ((U_IPTR) p & (FB_ALIGNMENT - 1)))
|
||||||
MOVE_FAST(segment, p, l);
|
MOVE_FAST(segment, p, l);
|
||||||
else
|
else
|
||||||
MOVE_FASTER(segment, p, l);
|
MOVE_FASTER(segment, p, l);
|
||||||
@ -2353,7 +2353,7 @@ static void slice_callback(SLICE arg, ULONG count, DSC * descriptors)
|
|||||||
if (array_desc->dsc_dtype == dtype_varying &&
|
if (array_desc->dsc_dtype == dtype_varying &&
|
||||||
(U_IPTR) array_desc->dsc_address !=
|
(U_IPTR) array_desc->dsc_address !=
|
||||||
FB_ALIGN((U_IPTR) array_desc->dsc_address,
|
FB_ALIGN((U_IPTR) array_desc->dsc_address,
|
||||||
(MIN(sizeof(USHORT), ALIGNMENT))))
|
(MIN(sizeof(USHORT), FB_ALIGNMENT))))
|
||||||
{
|
{
|
||||||
STR tmp_buffer;
|
STR tmp_buffer;
|
||||||
USHORT tmp_len;
|
USHORT tmp_len;
|
||||||
@ -2399,7 +2399,7 @@ static void slice_callback(SLICE arg, ULONG count, DSC * descriptors)
|
|||||||
if (array_desc->dsc_dtype == dtype_varying &&
|
if (array_desc->dsc_dtype == dtype_varying &&
|
||||||
(U_IPTR) array_desc->dsc_address !=
|
(U_IPTR) array_desc->dsc_address !=
|
||||||
FB_ALIGN((U_IPTR) array_desc->dsc_address,
|
FB_ALIGN((U_IPTR) array_desc->dsc_address,
|
||||||
(MIN(sizeof(USHORT), ALIGNMENT)))) {
|
(MIN(sizeof(USHORT), FB_ALIGNMENT)))) {
|
||||||
temp_desc.dsc_dtype = dtype_text;
|
temp_desc.dsc_dtype = dtype_text;
|
||||||
temp_desc.dsc_sub_type = array_desc->dsc_sub_type;
|
temp_desc.dsc_sub_type = array_desc->dsc_sub_type;
|
||||||
temp_desc.dsc_scale = array_desc->dsc_scale;
|
temp_desc.dsc_scale = array_desc->dsc_scale;
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
$Id: btr.cpp,v 1.33.2.5 2005-08-09 08:19:14 hvlad Exp $
|
$Id: btr.cpp,v 1.33.2.6 2006-11-05 14:38:08 alexpeshkoff Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "firebird.h"
|
#include "firebird.h"
|
||||||
@ -254,11 +254,11 @@ USHORT BTR_all(TDBB tdbb,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if ((SLONG) (root->irt_count * sizeof(IDX)) > *idx_size) {
|
if ((SLONG) (root->irt_count * sizeof(IDX)) > *idx_size) {
|
||||||
size = (sizeof(IDX) * dbb->dbb_max_idx) + ALIGNMENT;
|
size = (sizeof(IDX) * dbb->dbb_max_idx) + FB_ALIGNMENT;
|
||||||
*csb_idx_allocation = new_buffer = FB_NEW_RPT(*dbb->dbb_permanent, size) str();
|
*csb_idx_allocation = new_buffer = FB_NEW_RPT(*dbb->dbb_permanent, size) str();
|
||||||
buffer = *start_buffer =
|
buffer = *start_buffer =
|
||||||
(IDX *) FB_ALIGN((U_IPTR) new_buffer->str_data, ALIGNMENT);
|
(IDX *) FB_ALIGN((U_IPTR) new_buffer->str_data, FB_ALIGNMENT);
|
||||||
*idx_size = size - ALIGNMENT;
|
*idx_size = size - FB_ALIGNMENT;
|
||||||
}
|
}
|
||||||
count = 0;
|
count = 0;
|
||||||
for (i = 0; i < root->irt_count; i++)
|
for (i = 0; i < root->irt_count; i++)
|
||||||
@ -3977,8 +3977,8 @@ midpoint = (UCHAR *) new_node;
|
|||||||
q = (UCHAR *) (NEXT_NODE(node));
|
q = (UCHAR *) (NEXT_NODE(node));
|
||||||
l = bucket->btr_length - (q - (UCHAR *) bucket);
|
l = bucket->btr_length - (q - (UCHAR *) bucket);
|
||||||
|
|
||||||
if (((U_IPTR) p & (ALIGNMENT - 1))
|
if (((U_IPTR) p & (FB_ALIGNMENT - 1))
|
||||||
|| ((U_IPTR) q & (ALIGNMENT - 1)))
|
|| ((U_IPTR) q & (FB_ALIGNMENT - 1)))
|
||||||
MOVE_FAST(q, p, l);
|
MOVE_FAST(q, p, l);
|
||||||
else
|
else
|
||||||
MOVE_FASTER(q, p, l);
|
MOVE_FASTER(q, p, l);
|
||||||
|
130
src/jrd/cmp.cpp
130
src/jrd/cmp.cpp
@ -958,9 +958,9 @@ void DLL_EXPORT CMP_get_desc(
|
|||||||
FMT format;
|
FMT format;
|
||||||
USHORT id;
|
USHORT id;
|
||||||
|
|
||||||
id = (USHORT) node->nod_arg[e_fld_id];
|
id = (USHORT) (IPTR) node->nod_arg[e_fld_id];
|
||||||
format =
|
format =
|
||||||
CMP_format(tdbb, csb, (USHORT) node->nod_arg[e_fld_stream]);
|
CMP_format(tdbb, csb, (USHORT) (IPTR) node->nod_arg[e_fld_stream]);
|
||||||
if (id >= format->fmt_count) {
|
if (id >= format->fmt_count) {
|
||||||
desc->dsc_dtype = dtype_null;
|
desc->dsc_dtype = dtype_null;
|
||||||
desc->dsc_length = 0;
|
desc->dsc_length = 0;
|
||||||
@ -983,9 +983,9 @@ void DLL_EXPORT CMP_get_desc(
|
|||||||
|
|
||||||
sub = node->nod_arg[e_scl_field];
|
sub = node->nod_arg[e_scl_field];
|
||||||
relation =
|
relation =
|
||||||
csb->csb_rpt[(USHORT) sub->
|
csb->csb_rpt[(USHORT) (IPTR) sub->
|
||||||
nod_arg[e_fld_stream]].csb_relation;
|
nod_arg[e_fld_stream]].csb_relation;
|
||||||
id = (USHORT) sub->nod_arg[e_fld_id];
|
id = (USHORT) (IPTR) sub->nod_arg[e_fld_id];
|
||||||
field = MET_get_field(relation, id);
|
field = MET_get_field(relation, id);
|
||||||
if (!field || !(array = field->fld_array))
|
if (!field || !(array = field->fld_array))
|
||||||
IBERROR(223); /* msg 223 argument of scalar operation must be an array */
|
IBERROR(223); /* msg 223 argument of scalar operation must be an array */
|
||||||
@ -1882,7 +1882,7 @@ SLONG DLL_EXPORT CMP_impure(CSB csb, USHORT size)
|
|||||||
if (!csb)
|
if (!csb)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
offset = FB_ALIGN(csb->csb_impure, ALIGNMENT);
|
offset = FB_ALIGN(csb->csb_impure, FB_ALIGNMENT);
|
||||||
csb->csb_impure = offset + size;
|
csb->csb_impure = offset + size;
|
||||||
|
|
||||||
return offset;
|
return offset;
|
||||||
@ -2653,8 +2653,8 @@ static JRD_NOD copy(TDBB tdbb,
|
|||||||
!input->nod_arg[e_fld_id] && !input->nod_arg[e_fld_stream])
|
!input->nod_arg[e_fld_id] && !input->nod_arg[e_fld_stream])
|
||||||
--field_id;
|
--field_id;
|
||||||
else
|
else
|
||||||
field_id = (USHORT) input->nod_arg[e_fld_id];
|
field_id = (USHORT) (IPTR) input->nod_arg[e_fld_id];
|
||||||
stream = (USHORT) input->nod_arg[e_fld_stream];
|
stream = (USHORT) (IPTR) input->nod_arg[e_fld_stream];
|
||||||
if (remap_fld) {
|
if (remap_fld) {
|
||||||
JRD_REL relation;
|
JRD_REL relation;
|
||||||
JRD_FLD field;
|
JRD_FLD field;
|
||||||
@ -2662,7 +2662,7 @@ static JRD_NOD copy(TDBB tdbb,
|
|||||||
relation = (*csb)->csb_rpt[stream].csb_relation;
|
relation = (*csb)->csb_rpt[stream].csb_relation;
|
||||||
field = MET_get_field(relation, field_id);
|
field = MET_get_field(relation, field_id);
|
||||||
if (field->fld_source)
|
if (field->fld_source)
|
||||||
field_id = (USHORT) field->fld_source->nod_arg[e_fld_id];
|
field_id = (USHORT) (IPTR) field->fld_source->nod_arg[e_fld_id];
|
||||||
}
|
}
|
||||||
if (remap)
|
if (remap)
|
||||||
stream = remap[stream];
|
stream = remap[stream];
|
||||||
@ -2773,7 +2773,7 @@ static JRD_NOD copy(TDBB tdbb,
|
|||||||
node->nod_type = input->nod_type;
|
node->nod_type = input->nod_type;
|
||||||
node->nod_count = 0;
|
node->nod_count = 0;
|
||||||
|
|
||||||
stream = (USHORT) input->nod_arg[e_rel_stream];
|
stream = (USHORT) (IPTR) input->nod_arg[e_rel_stream];
|
||||||
/**
|
/**
|
||||||
Last entry in the remap contains the the original stream number.
|
Last entry in the remap contains the the original stream number.
|
||||||
Get that stream number so that the flags can be copied
|
Get that stream number so that the flags can be copied
|
||||||
@ -2853,7 +2853,7 @@ static JRD_NOD copy(TDBB tdbb,
|
|||||||
node->nod_arg[e_prc_inputs] =
|
node->nod_arg[e_prc_inputs] =
|
||||||
copy(tdbb, csb, input->nod_arg[e_prc_inputs], remap, field_id,
|
copy(tdbb, csb, input->nod_arg[e_prc_inputs], remap, field_id,
|
||||||
node->nod_arg[e_prc_in_msg], remap_fld);
|
node->nod_arg[e_prc_in_msg], remap_fld);
|
||||||
stream = (USHORT) input->nod_arg[e_prc_stream];
|
stream = (USHORT) (IPTR) input->nod_arg[e_prc_stream];
|
||||||
new_stream = (*csb)->csb_n_stream++;
|
new_stream = (*csb)->csb_n_stream++;
|
||||||
node->nod_arg[e_prc_stream] = (JRD_NOD) (SLONG) new_stream;
|
node->nod_arg[e_prc_stream] = (JRD_NOD) (SLONG) new_stream;
|
||||||
/* TMN: Here we should really have the following assert */
|
/* TMN: Here we should really have the following assert */
|
||||||
@ -2863,7 +2863,7 @@ static JRD_NOD copy(TDBB tdbb,
|
|||||||
element = CMP_csb_element(csb, new_stream);
|
element = CMP_csb_element(csb, new_stream);
|
||||||
// SKIDDER: Maybe we need to check if we really found a procedure ?
|
// SKIDDER: Maybe we need to check if we really found a procedure ?
|
||||||
element->csb_procedure = MET_lookup_procedure_id(tdbb,
|
element->csb_procedure = MET_lookup_procedure_id(tdbb,
|
||||||
(SSHORT)node->nod_arg[e_prc_procedure],FALSE,FALSE,0);
|
(SSHORT) (IPTR) node->nod_arg[e_prc_procedure], FALSE, FALSE, 0);
|
||||||
|
|
||||||
(*csb)->csb_rpt[new_stream].csb_flags |=
|
(*csb)->csb_rpt[new_stream].csb_flags |=
|
||||||
(*csb)->csb_rpt[stream].csb_flags & csb_no_dbkey;
|
(*csb)->csb_rpt[stream].csb_flags & csb_no_dbkey;
|
||||||
@ -2876,7 +2876,7 @@ static JRD_NOD copy(TDBB tdbb,
|
|||||||
node = PAR_make_node(tdbb, e_agg_length);
|
node = PAR_make_node(tdbb, e_agg_length);
|
||||||
node->nod_type = input->nod_type;
|
node->nod_type = input->nod_type;
|
||||||
node->nod_count = 0;
|
node->nod_count = 0;
|
||||||
stream = (USHORT) input->nod_arg[e_agg_stream];
|
stream = (USHORT) (IPTR) input->nod_arg[e_agg_stream];
|
||||||
assert(stream <= MAX_STREAMS);
|
assert(stream <= MAX_STREAMS);
|
||||||
new_stream = (*csb)->csb_n_stream++;
|
new_stream = (*csb)->csb_n_stream++;
|
||||||
assert(new_stream <= MAX_STREAMS);
|
assert(new_stream <= MAX_STREAMS);
|
||||||
@ -2905,7 +2905,7 @@ static JRD_NOD copy(TDBB tdbb,
|
|||||||
node = PAR_make_node(tdbb, e_uni_length);
|
node = PAR_make_node(tdbb, e_uni_length);
|
||||||
node->nod_type = input->nod_type;
|
node->nod_type = input->nod_type;
|
||||||
node->nod_count = 2;
|
node->nod_count = 2;
|
||||||
stream = (USHORT) input->nod_arg[e_uni_stream];
|
stream = (USHORT) (IPTR) input->nod_arg[e_uni_stream];
|
||||||
new_stream = (*csb)->csb_n_stream++;
|
new_stream = (*csb)->csb_n_stream++;
|
||||||
node->nod_arg[e_uni_stream] = (JRD_NOD) (SLONG) new_stream;
|
node->nod_arg[e_uni_stream] = (JRD_NOD) (SLONG) new_stream;
|
||||||
/* TMN: Here we should really have the following assert */
|
/* TMN: Here we should really have the following assert */
|
||||||
@ -3043,7 +3043,7 @@ static void ignore_dbkey(TDBB tdbb, CSB csb, RSE rse, JRD_REL view)
|
|||||||
csb_repeat *tail;
|
csb_repeat *tail;
|
||||||
JRD_REL relation;
|
JRD_REL relation;
|
||||||
|
|
||||||
stream = (USHORT) node->nod_arg[e_rel_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_rel_stream];
|
||||||
csb->csb_rpt[stream].csb_flags |= csb_no_dbkey;
|
csb->csb_rpt[stream].csb_flags |= csb_no_dbkey;
|
||||||
tail = &csb->csb_rpt[stream];
|
tail = &csb->csb_rpt[stream];
|
||||||
if ( (relation = tail->csb_relation) )
|
if ( (relation = tail->csb_relation) )
|
||||||
@ -3271,7 +3271,7 @@ static JRD_NOD pass1(
|
|||||||
JRD_FLD field;
|
JRD_FLD field;
|
||||||
UCHAR *map, local_map[MAP_LENGTH];
|
UCHAR *map, local_map[MAP_LENGTH];
|
||||||
|
|
||||||
stream = (USHORT) node->nod_arg[e_fld_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_fld_stream];
|
||||||
|
|
||||||
/* Look at all rse's which are lower in scope than the rse which this field
|
/* Look at all rse's which are lower in scope than the rse which this field
|
||||||
is referencing, and mark them as varying -- the rule is that if a field
|
is referencing, and mark them as varying -- the rule is that if a field
|
||||||
@ -3292,7 +3292,7 @@ static JRD_NOD pass1(
|
|||||||
if (!(relation = tail->csb_relation) ||
|
if (!(relation = tail->csb_relation) ||
|
||||||
!(field =
|
!(field =
|
||||||
MET_get_field(relation,
|
MET_get_field(relation,
|
||||||
(USHORT) node->nod_arg[e_fld_id]))) break;
|
(USHORT) (IPTR) node->nod_arg[e_fld_id]))) break;
|
||||||
|
|
||||||
/* if this is a modify or store, check REFERENCES access to any foreign keys. */
|
/* if this is a modify or store, check REFERENCES access to any foreign keys. */
|
||||||
|
|
||||||
@ -3404,9 +3404,9 @@ static JRD_NOD pass1(
|
|||||||
|
|
||||||
sub = node->nod_arg[e_asgn_from];
|
sub = node->nod_arg[e_asgn_from];
|
||||||
if (sub->nod_type == nod_field) {
|
if (sub->nod_type == nod_field) {
|
||||||
stream = (USHORT) sub->nod_arg[e_fld_stream];
|
stream = (USHORT) (IPTR) sub->nod_arg[e_fld_stream];
|
||||||
field = MET_get_field((*csb)->csb_rpt[stream].csb_relation,
|
field = MET_get_field((*csb)->csb_rpt[stream].csb_relation,
|
||||||
(USHORT) sub->nod_arg[e_fld_id]);
|
(USHORT) (IPTR) sub->nod_arg[e_fld_id]);
|
||||||
if (field)
|
if (field)
|
||||||
node->nod_arg[e_asgn_missing2] = field->fld_missing_value;
|
node->nod_arg[e_asgn_missing2] = field->fld_missing_value;
|
||||||
}
|
}
|
||||||
@ -3414,12 +3414,12 @@ static JRD_NOD pass1(
|
|||||||
sub = node->nod_arg[e_asgn_to];
|
sub = node->nod_arg[e_asgn_to];
|
||||||
if (sub->nod_type != nod_field)
|
if (sub->nod_type != nod_field)
|
||||||
break;
|
break;
|
||||||
stream = (USHORT) sub->nod_arg[e_fld_stream];
|
stream = (USHORT) (IPTR) sub->nod_arg[e_fld_stream];
|
||||||
tail = &(*csb)->csb_rpt[stream];
|
tail = &(*csb)->csb_rpt[stream];
|
||||||
if (!
|
if (!
|
||||||
(field =
|
(field =
|
||||||
MET_get_field(tail->csb_relation,
|
MET_get_field(tail->csb_relation,
|
||||||
(USHORT) sub->nod_arg[e_fld_id]))) break;
|
(USHORT) (IPTR) sub->nod_arg[e_fld_id]))) break;
|
||||||
if (field->fld_missing_value) {
|
if (field->fld_missing_value) {
|
||||||
node->nod_arg[e_asgn_missing] = field->fld_missing_value;
|
node->nod_arg[e_asgn_missing] = field->fld_missing_value;
|
||||||
node->nod_count = 3;
|
node->nod_count = 3;
|
||||||
@ -3433,7 +3433,7 @@ static JRD_NOD pass1(
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case nod_modify:
|
case nod_modify:
|
||||||
stream = (USHORT) node->nod_arg[e_mod_new_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_mod_new_stream];
|
||||||
tail = &(*csb)->csb_rpt[stream];
|
tail = &(*csb)->csb_rpt[stream];
|
||||||
tail->csb_flags |= csb_modify;
|
tail->csb_flags |= csb_modify;
|
||||||
pass1_modify(tdbb, csb, node);
|
pass1_modify(tdbb, csb, node);
|
||||||
@ -3441,13 +3441,13 @@ static JRD_NOD pass1(
|
|||||||
/* assert(node->nod_arg [e_mod_new_stream] <= MAX_USHORT); */
|
/* assert(node->nod_arg [e_mod_new_stream] <= MAX_USHORT); */
|
||||||
if ( (node->nod_arg[e_mod_validate] =
|
if ( (node->nod_arg[e_mod_validate] =
|
||||||
make_validation(tdbb, csb,
|
make_validation(tdbb, csb,
|
||||||
(USHORT) node->
|
(USHORT) (IPTR) node->
|
||||||
nod_arg[e_mod_new_stream])) ) node->nod_count =
|
nod_arg[e_mod_new_stream])) ) node->nod_count =
|
||||||
MAX(node->nod_count, (USHORT) e_mod_validate + 1);
|
MAX(node->nod_count, (USHORT) e_mod_validate + 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case nod_erase:
|
case nod_erase:
|
||||||
stream = (USHORT) node->nod_arg[e_erase_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_erase_stream];
|
||||||
tail = &(*csb)->csb_rpt[stream];
|
tail = &(*csb)->csb_rpt[stream];
|
||||||
tail->csb_flags |= csb_erase;
|
tail->csb_flags |= csb_erase;
|
||||||
pass1_erase(tdbb, csb, node);
|
pass1_erase(tdbb, csb, node);
|
||||||
@ -3463,12 +3463,12 @@ static JRD_NOD pass1(
|
|||||||
|
|
||||||
case nod_store:
|
case nod_store:
|
||||||
sub = node->nod_arg[e_sto_relation];
|
sub = node->nod_arg[e_sto_relation];
|
||||||
stream = (USHORT) sub->nod_arg[e_rel_stream];
|
stream = (USHORT) (IPTR) sub->nod_arg[e_rel_stream];
|
||||||
tail = &(*csb)->csb_rpt[stream];
|
tail = &(*csb)->csb_rpt[stream];
|
||||||
tail->csb_flags |= csb_store;
|
tail->csb_flags |= csb_store;
|
||||||
sub = pass1_store(tdbb, csb, node);
|
sub = pass1_store(tdbb, csb, node);
|
||||||
if (sub) {
|
if (sub) {
|
||||||
stream = (USHORT) sub->nod_arg[e_rel_stream];
|
stream = (USHORT) (IPTR) sub->nod_arg[e_rel_stream];
|
||||||
if ((!node->nod_arg[e_sto_sub_store]) &&
|
if ((!node->nod_arg[e_sto_sub_store]) &&
|
||||||
(node->nod_arg[e_sto_validate] =
|
(node->nod_arg[e_sto_validate] =
|
||||||
make_validation(tdbb, csb, stream))) node->nod_count =
|
make_validation(tdbb, csb, stream))) node->nod_count =
|
||||||
@ -3495,7 +3495,7 @@ static JRD_NOD pass1(
|
|||||||
|
|
||||||
case nod_aggregate:
|
case nod_aggregate:
|
||||||
assert((int)node->nod_arg[e_agg_stream] <= MAX_STREAMS);
|
assert((int)node->nod_arg[e_agg_stream] <= MAX_STREAMS);
|
||||||
(*csb)->csb_rpt[(USHORT) node->nod_arg[e_agg_stream]].csb_flags |=
|
(*csb)->csb_rpt[(USHORT) (IPTR) node->nod_arg[e_agg_stream]].csb_flags |=
|
||||||
csb_no_dbkey;
|
csb_no_dbkey;
|
||||||
ignore_dbkey(tdbb, *csb, (RSE) node->nod_arg[e_agg_rse], view);
|
ignore_dbkey(tdbb, *csb, (RSE) node->nod_arg[e_agg_rse], view);
|
||||||
node->nod_arg[e_agg_rse] =
|
node->nod_arg[e_agg_rse] =
|
||||||
@ -3523,7 +3523,7 @@ static JRD_NOD pass1(
|
|||||||
NOD_T type;
|
NOD_T type;
|
||||||
|
|
||||||
type = node->nod_type;
|
type = node->nod_type;
|
||||||
stream = (USHORT) node->nod_arg[0];
|
stream = (USHORT) (IPTR) node->nod_arg[0];
|
||||||
|
|
||||||
if (!(*csb)->csb_rpt[stream].csb_map)
|
if (!(*csb)->csb_rpt[stream].csb_map)
|
||||||
return node;
|
return node;
|
||||||
@ -3558,7 +3558,7 @@ static JRD_NOD pass1(
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case nod_cardinality:
|
case nod_cardinality:
|
||||||
stream = (USHORT) node->nod_arg[e_card_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_card_stream];
|
||||||
(*csb)->csb_rpt[stream].csb_flags |= csb_compute;
|
(*csb)->csb_rpt[stream].csb_flags |= csb_compute;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -3625,7 +3625,7 @@ static void pass1_erase(TDBB tdbb, CSB * csb, JRD_NOD node)
|
|||||||
/* To support views of views, loop until we hit a real relation */
|
/* To support views of views, loop until we hit a real relation */
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
stream = new_stream = (USHORT) node->nod_arg[e_erase_stream];
|
stream = new_stream = (USHORT) (IPTR) node->nod_arg[e_erase_stream];
|
||||||
tail = &(*csb)->csb_rpt[stream];
|
tail = &(*csb)->csb_rpt[stream];
|
||||||
tail->csb_flags |= csb_erase;
|
tail->csb_flags |= csb_erase;
|
||||||
relation = (*csb)->csb_rpt[stream].csb_relation;
|
relation = (*csb)->csb_rpt[stream].csb_relation;
|
||||||
@ -3693,7 +3693,7 @@ static void pass1_erase(TDBB tdbb, CSB * csb, JRD_NOD node)
|
|||||||
|
|
||||||
parent = relation;
|
parent = relation;
|
||||||
parent_stream = stream;
|
parent_stream = stream;
|
||||||
new_stream = (USHORT) source->nod_arg[e_rel_stream];
|
new_stream = (USHORT) (IPTR) source->nod_arg[e_rel_stream];
|
||||||
node->nod_arg[e_erase_stream] = (JRD_NOD) (SLONG) map[new_stream];
|
node->nod_arg[e_erase_stream] = (JRD_NOD) (SLONG) map[new_stream];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3740,7 +3740,7 @@ static JRD_NOD pass1_expand_view(
|
|||||||
field = MET_get_field(relation, id);
|
field = MET_get_field(relation, id);
|
||||||
if (field->fld_source)
|
if (field->fld_source)
|
||||||
new_id =
|
new_id =
|
||||||
(USHORT) (JRD_NOD) (field->fld_source)->nod_arg[e_fld_id];
|
(USHORT) (IPTR) (JRD_NOD) (field->fld_source)->nod_arg[e_fld_id];
|
||||||
else
|
else
|
||||||
new_id = id;
|
new_id = id;
|
||||||
}
|
}
|
||||||
@ -3802,8 +3802,8 @@ static void pass1_modify(TDBB tdbb, CSB * csb, JRD_NOD node)
|
|||||||
/* To support views of views, loop until we hit a real relation */
|
/* To support views of views, loop until we hit a real relation */
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
stream = (USHORT) node->nod_arg[e_mod_org_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_mod_org_stream];
|
||||||
new_stream = (USHORT) node->nod_arg[e_mod_new_stream];
|
new_stream = (USHORT) (IPTR) node->nod_arg[e_mod_new_stream];
|
||||||
tail = &(*csb)->csb_rpt[new_stream];
|
tail = &(*csb)->csb_rpt[new_stream];
|
||||||
tail->csb_flags |= csb_modify;
|
tail->csb_flags |= csb_modify;
|
||||||
relation = (*csb)->csb_rpt[stream].csb_relation;
|
relation = (*csb)->csb_rpt[stream].csb_relation;
|
||||||
@ -3842,7 +3842,7 @@ static void pass1_modify(TDBB tdbb, CSB * csb, JRD_NOD node)
|
|||||||
node->nod_count =
|
node->nod_count =
|
||||||
MAX(node->nod_count, (USHORT) e_mod_map_view + 1);
|
MAX(node->nod_count, (USHORT) e_mod_map_view + 1);
|
||||||
map = (*csb)->csb_rpt[stream].csb_map;
|
map = (*csb)->csb_rpt[stream].csb_map;
|
||||||
stream = (USHORT) source->nod_arg[e_rel_stream];
|
stream = (USHORT) (IPTR) source->nod_arg[e_rel_stream];
|
||||||
stream = map[stream];
|
stream = map[stream];
|
||||||
view_stream = new_stream;
|
view_stream = new_stream;
|
||||||
|
|
||||||
@ -3850,18 +3850,18 @@ static void pass1_modify(TDBB tdbb, CSB * csb, JRD_NOD node)
|
|||||||
|
|
||||||
map =
|
map =
|
||||||
alloc_map(tdbb, csb,
|
alloc_map(tdbb, csb,
|
||||||
(SSHORT) node->nod_arg[e_mod_new_stream]);
|
(SSHORT)(IPTR) node->nod_arg[e_mod_new_stream]);
|
||||||
source = copy(tdbb, csb, source, map, 0, NULL, FALSE);
|
source = copy(tdbb, csb, source, map, 0, NULL, FALSE);
|
||||||
/* TMN: Here we should really have the following assert */
|
/* TMN: Here we should really have the following assert */
|
||||||
/* assert(source->nod_arg [e_rel_stream] <= MAX_UCHAR); */
|
/* assert(source->nod_arg [e_rel_stream] <= MAX_UCHAR); */
|
||||||
map[new_stream] = (UCHAR) source->nod_arg[e_rel_stream];
|
map[new_stream] = (UCHAR) (IPTR) source->nod_arg[e_rel_stream];
|
||||||
view_node = copy(tdbb, csb, node, map, 0, NULL, TRUE);
|
view_node = copy(tdbb, csb, node, map, 0, NULL, TRUE);
|
||||||
view_node->nod_arg[e_mod_org_stream] = (JRD_NOD) (SLONG) stream;
|
view_node->nod_arg[e_mod_org_stream] = (JRD_NOD) (SLONG) stream;
|
||||||
view_node->nod_arg[e_mod_new_stream] =
|
view_node->nod_arg[e_mod_new_stream] =
|
||||||
source->nod_arg[e_rel_stream];
|
source->nod_arg[e_rel_stream];
|
||||||
view_node->nod_arg[e_mod_map_view] = NULL;
|
view_node->nod_arg[e_mod_map_view] = NULL;
|
||||||
node->nod_arg[e_mod_sub_mod] = view_node;
|
node->nod_arg[e_mod_sub_mod] = view_node;
|
||||||
new_stream = (USHORT) source->nod_arg[e_rel_stream];
|
new_stream = (USHORT) (IPTR) source->nod_arg[e_rel_stream];
|
||||||
view_node->nod_arg[e_mod_statement] =
|
view_node->nod_arg[e_mod_statement] =
|
||||||
pass1_expand_view(tdbb, *csb, view_stream, new_stream, TRUE);
|
pass1_expand_view(tdbb, *csb, view_stream, new_stream, TRUE);
|
||||||
node->nod_count =
|
node->nod_count =
|
||||||
@ -3874,14 +3874,14 @@ static void pass1_modify(TDBB tdbb, CSB * csb, JRD_NOD node)
|
|||||||
/* View passes muster -- do some translation. Start with source stream */
|
/* View passes muster -- do some translation. Start with source stream */
|
||||||
|
|
||||||
map = (*csb)->csb_rpt[stream].csb_map;
|
map = (*csb)->csb_rpt[stream].csb_map;
|
||||||
stream = (USHORT) source->nod_arg[e_rel_stream];
|
stream = (USHORT) (IPTR) source->nod_arg[e_rel_stream];
|
||||||
node->nod_arg[e_mod_org_stream] = (JRD_NOD) (SLONG) map[stream];
|
node->nod_arg[e_mod_org_stream] = (JRD_NOD) (SLONG) map[stream];
|
||||||
|
|
||||||
/* Next, do update stream */
|
/* Next, do update stream */
|
||||||
|
|
||||||
map =
|
map =
|
||||||
alloc_map(tdbb, csb,
|
alloc_map(tdbb, csb,
|
||||||
(SSHORT) node->nod_arg[e_mod_new_stream]);
|
(SSHORT) (IPTR) node->nod_arg[e_mod_new_stream]);
|
||||||
source = copy(tdbb, csb, source, map, 0, NULL, FALSE);
|
source = copy(tdbb, csb, source, map, 0, NULL, FALSE);
|
||||||
node->nod_arg[e_mod_new_stream] = source->nod_arg[e_rel_stream];
|
node->nod_arg[e_mod_new_stream] = source->nod_arg[e_rel_stream];
|
||||||
}
|
}
|
||||||
@ -4128,7 +4128,7 @@ static void pass1_source(TDBB tdbb,
|
|||||||
|
|
||||||
pass1(tdbb, csb, source, parent_view, view_stream, FALSE);
|
pass1(tdbb, csb, source, parent_view, view_stream, FALSE);
|
||||||
procedure = MET_lookup_procedure_id(tdbb,
|
procedure = MET_lookup_procedure_id(tdbb,
|
||||||
(SSHORT)source->nod_arg[e_prc_procedure], FALSE, FALSE, 0);
|
(SSHORT) (IPTR) source->nod_arg[e_prc_procedure], FALSE, FALSE, 0);
|
||||||
post_procedure_access(tdbb, *csb, procedure);
|
post_procedure_access(tdbb, *csb, procedure);
|
||||||
CMP_post_resource(&(*csb)->csb_resources, (BLK) procedure,
|
CMP_post_resource(&(*csb)->csb_resources, (BLK) procedure,
|
||||||
Resource::rsc_procedure, procedure->prc_id);
|
Resource::rsc_procedure, procedure->prc_id);
|
||||||
@ -4160,7 +4160,7 @@ static void pass1_source(TDBB tdbb,
|
|||||||
view->rel_id);
|
view->rel_id);
|
||||||
source->nod_arg[e_rel_view] = (JRD_NOD) parent_view;
|
source->nod_arg[e_rel_view] = (JRD_NOD) parent_view;
|
||||||
|
|
||||||
stream = (USHORT) source->nod_arg[e_rel_stream];
|
stream = (USHORT) (IPTR) source->nod_arg[e_rel_stream];
|
||||||
element = CMP_csb_element(csb, stream);
|
element = CMP_csb_element(csb, stream);
|
||||||
element->csb_view = parent_view;
|
element->csb_view = parent_view;
|
||||||
/* TMN: Here we should really have the following assert */
|
/* TMN: Here we should really have the following assert */
|
||||||
@ -4175,7 +4175,7 @@ static void pass1_source(TDBB tdbb,
|
|||||||
for (vcx_ptr = &parent_view->rel_view_contexts; *vcx_ptr;
|
for (vcx_ptr = &parent_view->rel_view_contexts; *vcx_ptr;
|
||||||
vcx_ptr = &(*vcx_ptr)->vcx_next)
|
vcx_ptr = &(*vcx_ptr)->vcx_next)
|
||||||
if ((*vcx_ptr)->vcx_context ==
|
if ((*vcx_ptr)->vcx_context ==
|
||||||
(USHORT) source->nod_arg[e_rel_context]) {
|
(USHORT) (IPTR) source->nod_arg[e_rel_context]) {
|
||||||
element->csb_alias = (*vcx_ptr)->vcx_context_name;
|
element->csb_alias = (*vcx_ptr)->vcx_context_name;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -4319,7 +4319,7 @@ static JRD_NOD pass1_store(TDBB tdbb, CSB * csb, JRD_NOD node)
|
|||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
original = node->nod_arg[e_sto_relation];
|
original = node->nod_arg[e_sto_relation];
|
||||||
stream = (USHORT) original->nod_arg[e_rel_stream];
|
stream = (USHORT) (IPTR) original->nod_arg[e_rel_stream];
|
||||||
tail = &(*csb)->csb_rpt[stream];
|
tail = &(*csb)->csb_rpt[stream];
|
||||||
tail->csb_flags |= csb_store;
|
tail->csb_flags |= csb_store;
|
||||||
relation = (*csb)->csb_rpt[stream].csb_relation;
|
relation = (*csb)->csb_rpt[stream].csb_relation;
|
||||||
@ -4373,7 +4373,7 @@ static JRD_NOD pass1_store(TDBB tdbb, CSB * csb, JRD_NOD node)
|
|||||||
node->nod_arg[e_sto_relation] =
|
node->nod_arg[e_sto_relation] =
|
||||||
copy(tdbb, csb, source, map, 0, NULL, FALSE);
|
copy(tdbb, csb, source, map, 0, NULL, FALSE);
|
||||||
new_stream =
|
new_stream =
|
||||||
(USHORT) node->nod_arg[e_sto_relation]->nod_arg[e_rel_stream];
|
(USHORT) (IPTR) node->nod_arg[e_sto_relation]->nod_arg[e_rel_stream];
|
||||||
node->nod_arg[e_sto_statement] =
|
node->nod_arg[e_sto_statement] =
|
||||||
pass1_expand_view(tdbb, *csb, stream, new_stream, TRUE);
|
pass1_expand_view(tdbb, *csb, stream, new_stream, TRUE);
|
||||||
node->nod_arg[e_sto_statement] =
|
node->nod_arg[e_sto_statement] =
|
||||||
@ -4721,9 +4721,9 @@ static JRD_NOD pass2(TDBB tdbb, CSB csb, JRD_NOD node, JRD_NOD parent)
|
|||||||
/* AB: Mark the streams involved with an UPDATE statement
|
/* AB: Mark the streams involved with an UPDATE statement
|
||||||
active. So that the optimizer can use indices for
|
active. So that the optimizer can use indices for
|
||||||
eventually used sub-selects. */
|
eventually used sub-selects. */
|
||||||
stream = (USHORT) node->nod_arg[e_mod_org_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_mod_org_stream];
|
||||||
csb->csb_rpt[stream].csb_flags |= csb_active;
|
csb->csb_rpt[stream].csb_flags |= csb_active;
|
||||||
stream = (USHORT) node->nod_arg[e_mod_new_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_mod_new_stream];
|
||||||
csb->csb_rpt[stream].csb_flags |= csb_active;
|
csb->csb_rpt[stream].csb_flags |= csb_active;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4735,9 +4735,9 @@ static JRD_NOD pass2(TDBB tdbb, CSB csb, JRD_NOD node, JRD_NOD parent)
|
|||||||
|
|
||||||
if (node->nod_type == nod_modify) {
|
if (node->nod_type == nod_modify) {
|
||||||
/* AB: Remove the previous flags */
|
/* AB: Remove the previous flags */
|
||||||
stream = (USHORT) node->nod_arg[e_mod_org_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_mod_org_stream];
|
||||||
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
||||||
stream = (USHORT) node->nod_arg[e_mod_new_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_mod_new_stream];
|
||||||
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4836,7 +4836,7 @@ static JRD_NOD pass2(TDBB tdbb, CSB csb, JRD_NOD node, JRD_NOD parent)
|
|||||||
FMT format;
|
FMT format;
|
||||||
fmt::fmt_desc_iterator desc;
|
fmt::fmt_desc_iterator desc;
|
||||||
|
|
||||||
stream = (USHORT) node->nod_arg[e_mod_org_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_mod_org_stream];
|
||||||
csb->csb_rpt[stream].csb_flags |= csb_update;
|
csb->csb_rpt[stream].csb_flags |= csb_update;
|
||||||
format = CMP_format(tdbb, csb, stream);
|
format = CMP_format(tdbb, csb, stream);
|
||||||
desc = format->fmt_desc.begin();
|
desc = format->fmt_desc.begin();
|
||||||
@ -4861,13 +4861,13 @@ static JRD_NOD pass2(TDBB tdbb, CSB csb, JRD_NOD node, JRD_NOD parent)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case nod_erase:
|
case nod_erase:
|
||||||
stream = (USHORT) node->nod_arg[e_erase_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_erase_stream];
|
||||||
csb->csb_rpt[stream].csb_flags |= csb_update;
|
csb->csb_rpt[stream].csb_flags |= csb_update;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case nod_field:
|
case nod_field:
|
||||||
stream = (USHORT) node->nod_arg[e_fld_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_fld_stream];
|
||||||
id = (USHORT) node->nod_arg[e_fld_id];
|
id = (USHORT) (IPTR) node->nod_arg[e_fld_id];
|
||||||
SBM_set(tdbb, &csb->csb_rpt[stream].csb_fields, id);
|
SBM_set(tdbb, &csb->csb_rpt[stream].csb_fields, id);
|
||||||
if (node->nod_flags & nod_value) {
|
if (node->nod_flags & nod_value) {
|
||||||
csb->csb_impure += sizeof(struct vlux);
|
csb->csb_impure += sizeof(struct vlux);
|
||||||
@ -4941,7 +4941,7 @@ static JRD_NOD pass2(TDBB tdbb, CSB csb, JRD_NOD node, JRD_NOD parent)
|
|||||||
pass2_rse(tdbb, csb, (RSE) node->nod_arg[e_agg_rse]);
|
pass2_rse(tdbb, csb, (RSE) node->nod_arg[e_agg_rse]);
|
||||||
pass2(tdbb, csb, node->nod_arg[e_agg_map], node);
|
pass2(tdbb, csb, node->nod_arg[e_agg_map], node);
|
||||||
pass2(tdbb, csb, node->nod_arg[e_agg_group], node);
|
pass2(tdbb, csb, node->nod_arg[e_agg_group], node);
|
||||||
stream = (USHORT) node->nod_arg[e_agg_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_agg_stream];
|
||||||
assert(stream <= MAX_STREAMS);
|
assert(stream <= MAX_STREAMS);
|
||||||
process_map(tdbb, csb, node->nod_arg[e_agg_map],
|
process_map(tdbb, csb, node->nod_arg[e_agg_map],
|
||||||
&csb->csb_rpt[stream].csb_format);
|
&csb->csb_rpt[stream].csb_format);
|
||||||
@ -5050,7 +5050,7 @@ static void pass2_rse(TDBB tdbb, CSB csb, RSE rse)
|
|||||||
|
|
||||||
node = *ptr;
|
node = *ptr;
|
||||||
if (node->nod_type == nod_relation) {
|
if (node->nod_type == nod_relation) {
|
||||||
USHORT stream = (USHORT) node->nod_arg[e_rel_stream];
|
USHORT stream = (USHORT) (IPTR) node->nod_arg[e_rel_stream];
|
||||||
csb->csb_rpt[stream].csb_flags |= csb_active;
|
csb->csb_rpt[stream].csb_flags |= csb_active;
|
||||||
pass2(tdbb, csb, node, (JRD_NOD) rse);
|
pass2(tdbb, csb, node, (JRD_NOD) rse);
|
||||||
}
|
}
|
||||||
@ -5058,12 +5058,12 @@ static void pass2_rse(TDBB tdbb, CSB csb, RSE rse)
|
|||||||
pass2_rse(tdbb, csb, (RSE) node);
|
pass2_rse(tdbb, csb, (RSE) node);
|
||||||
}
|
}
|
||||||
else if (node->nod_type == nod_procedure) {
|
else if (node->nod_type == nod_procedure) {
|
||||||
USHORT stream = (USHORT) node->nod_arg[e_prc_stream];
|
USHORT stream = (USHORT) (IPTR) node->nod_arg[e_prc_stream];
|
||||||
csb->csb_rpt[stream].csb_flags |= csb_active;
|
csb->csb_rpt[stream].csb_flags |= csb_active;
|
||||||
pass2(tdbb, csb, node, (JRD_NOD) rse);
|
pass2(tdbb, csb, node, (JRD_NOD) rse);
|
||||||
}
|
}
|
||||||
else if (node->nod_type == nod_aggregate) {
|
else if (node->nod_type == nod_aggregate) {
|
||||||
USHORT stream = (USHORT) node->nod_arg[e_agg_stream];
|
USHORT stream = (USHORT) (IPTR) node->nod_arg[e_agg_stream];
|
||||||
assert(stream <= MAX_STREAMS);
|
assert(stream <= MAX_STREAMS);
|
||||||
csb->csb_rpt[stream].csb_flags |= csb_active;
|
csb->csb_rpt[stream].csb_flags |= csb_active;
|
||||||
pass2(tdbb, csb, node, (JRD_NOD) rse);
|
pass2(tdbb, csb, node, (JRD_NOD) rse);
|
||||||
@ -5118,7 +5118,7 @@ static JRD_NOD pass2_union(TDBB tdbb, CSB csb, JRD_NOD node)
|
|||||||
/* Make up a format block sufficiently large to hold instantiated record */
|
/* Make up a format block sufficiently large to hold instantiated record */
|
||||||
|
|
||||||
clauses = node->nod_arg[e_uni_clauses];
|
clauses = node->nod_arg[e_uni_clauses];
|
||||||
id = (USHORT) node->nod_arg[e_uni_stream];
|
id = (USHORT) (IPTR) node->nod_arg[e_uni_stream];
|
||||||
format = &csb->csb_rpt[id].csb_format;
|
format = &csb->csb_rpt[id].csb_format;
|
||||||
|
|
||||||
/* Process alternating rse and map blocks */
|
/* Process alternating rse and map blocks */
|
||||||
@ -5160,7 +5160,7 @@ static void plan_check(CSB csb, RSE rse)
|
|||||||
|
|
||||||
for (ptr = rse->rse_relation, end = ptr + rse->rse_count; ptr < end;
|
for (ptr = rse->rse_relation, end = ptr + rse->rse_count; ptr < end;
|
||||||
ptr++) if ((*ptr)->nod_type == nod_relation) {
|
ptr++) if ((*ptr)->nod_type == nod_relation) {
|
||||||
stream = (USHORT) (*ptr)->nod_arg[e_rel_stream];
|
stream = (USHORT) (IPTR) (*ptr)->nod_arg[e_rel_stream];
|
||||||
if (!(csb->csb_rpt[stream].csb_plan))
|
if (!(csb->csb_rpt[stream].csb_plan))
|
||||||
ERR_post(gds_no_stream_plan, gds_arg_string,
|
ERR_post(gds_no_stream_plan, gds_arg_string,
|
||||||
csb->csb_rpt[stream].csb_relation->rel_name, 0);
|
csb->csb_rpt[stream].csb_relation->rel_name, 0);
|
||||||
@ -5213,7 +5213,7 @@ static void plan_set(CSB csb, RSE rse, JRD_NOD plan)
|
|||||||
|
|
||||||
/* find the tail for the relation specified in the rse */
|
/* find the tail for the relation specified in the rse */
|
||||||
|
|
||||||
stream = (USHORT) plan_relation_node->nod_arg[e_rel_stream];
|
stream = (USHORT) (IPTR) plan_relation_node->nod_arg[e_rel_stream];
|
||||||
tail = &csb->csb_rpt[stream];
|
tail = &csb->csb_rpt[stream];
|
||||||
|
|
||||||
/* if the plan references a view, find the real base relation
|
/* if the plan references a view, find the real base relation
|
||||||
@ -5449,15 +5449,15 @@ static RSB post_rse(TDBB tdbb, CSB csb, RSE rse)
|
|||||||
ptr < end; ptr++) {
|
ptr < end; ptr++) {
|
||||||
node = *ptr;
|
node = *ptr;
|
||||||
if (node->nod_type == nod_relation) {
|
if (node->nod_type == nod_relation) {
|
||||||
USHORT stream = (USHORT) node->nod_arg[e_rel_stream];
|
USHORT stream = (USHORT) (IPTR) node->nod_arg[e_rel_stream];
|
||||||
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
||||||
}
|
}
|
||||||
else if (node->nod_type == nod_procedure) {
|
else if (node->nod_type == nod_procedure) {
|
||||||
USHORT stream = (USHORT) node->nod_arg[e_prc_stream];
|
USHORT stream = (USHORT) (IPTR) node->nod_arg[e_prc_stream];
|
||||||
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
||||||
}
|
}
|
||||||
else if (node->nod_type == nod_aggregate) {
|
else if (node->nod_type == nod_aggregate) {
|
||||||
USHORT stream = (USHORT) node->nod_arg[e_agg_stream];
|
USHORT stream = (USHORT) (IPTR) node->nod_arg[e_agg_stream];
|
||||||
assert(stream <= MAX_STREAMS);
|
assert(stream <= MAX_STREAMS);
|
||||||
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
||||||
}
|
}
|
||||||
@ -5553,7 +5553,7 @@ static void process_map(TDBB tdbb, CSB csb, JRD_NOD map, FMT * input_format)
|
|||||||
for (end = ptr + map->nod_count; ptr < end; ptr++) {
|
for (end = ptr + map->nod_count; ptr < end; ptr++) {
|
||||||
assignment = *ptr;
|
assignment = *ptr;
|
||||||
field = assignment->nod_arg[e_asgn_to];
|
field = assignment->nod_arg[e_asgn_to];
|
||||||
id = (USHORT) field->nod_arg[e_fld_id];
|
id = (USHORT) (IPTR) field->nod_arg[e_fld_id];
|
||||||
if (id >= format->fmt_count) {
|
if (id >= format->fmt_count) {
|
||||||
format->fmt_desc.resize(id + 1);
|
format->fmt_desc.resize(id + 1);
|
||||||
}
|
}
|
||||||
@ -5689,13 +5689,13 @@ static BOOLEAN stream_in_rse(USHORT stream, RSE rse)
|
|||||||
/* for aggregates, check current rse, if not found then check
|
/* for aggregates, check current rse, if not found then check
|
||||||
the sub-rse */
|
the sub-rse */
|
||||||
if (sub->nod_type == nod_aggregate) {
|
if (sub->nod_type == nod_aggregate) {
|
||||||
if ((stream == (USHORT) sub->nod_arg[e_rel_stream]) ||
|
if ((stream == (USHORT) (IPTR) sub->nod_arg[e_rel_stream]) ||
|
||||||
(stream_in_rse(stream, (RSE) sub->nod_arg[e_agg_rse])))
|
(stream_in_rse(stream, (RSE) sub->nod_arg[e_agg_rse])))
|
||||||
return TRUE; /* do not mark as variant */
|
return TRUE; /* do not mark as variant */
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((sub->nod_type == nod_relation) &&
|
if ((sub->nod_type == nod_relation) &&
|
||||||
(stream == (USHORT) sub->nod_arg[e_rel_stream]))
|
(stream == (USHORT) (IPTR) sub->nod_arg[e_rel_stream]))
|
||||||
return TRUE; /* do not mark as variant */
|
return TRUE; /* do not mark as variant */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,6 +148,9 @@ static const SCHAR *cpp_boiler_plate[] = {
|
|||||||
"",
|
"",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#undef isc_facility
|
||||||
|
#undef isc_base
|
||||||
|
#undef isc_factor
|
||||||
#define isc_facility 20
|
#define isc_facility 20
|
||||||
#define isc_base (isc_facility << 24)
|
#define isc_base (isc_facility << 24)
|
||||||
#define isc_factor 1
|
#define isc_factor 1
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
$Id: common.h,v 1.73.2.4 2004-03-29 03:50:10 skidder Exp $
|
$Id: common.h,v 1.73.2.5 2006-11-05 14:38:09 alexpeshkoff Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef JRD_COMMON_H
|
#ifndef JRD_COMMON_H
|
||||||
@ -186,7 +186,7 @@ int syslog(int pri, char *fmt, ...);
|
|||||||
#define QUADFORMAT "ll"
|
#define QUADFORMAT "ll"
|
||||||
#define QUADCONST(n) (n##LL)
|
#define QUADCONST(n) (n##LL)
|
||||||
|
|
||||||
/*#define ALIGNMENT 4*/
|
/*#define FB_ALIGNMENT 4*/
|
||||||
/*#define DOUBLE_ALIGN 8*/
|
/*#define DOUBLE_ALIGN 8*/
|
||||||
|
|
||||||
#ifdef SUPERSERVER
|
#ifdef SUPERSERVER
|
||||||
@ -237,7 +237,7 @@ typedef RETSIGTYPE (*SIG_FPTR) ();
|
|||||||
#define XLONGFORMAT "lX"
|
#define XLONGFORMAT "lX"
|
||||||
#define xLONGFORMAT "lx"
|
#define xLONGFORMAT "lx"
|
||||||
|
|
||||||
/*#define ALIGNMENT 4*/
|
/*#define FB_ALIGNMENT 4*/
|
||||||
/*#define DOUBLE_ALIGN 4*/
|
/*#define DOUBLE_ALIGN 4*/
|
||||||
#define BSD_UNIX 1
|
#define BSD_UNIX 1
|
||||||
#define UNIX 1
|
#define UNIX 1
|
||||||
@ -268,7 +268,7 @@ typedef RETSIGTYPE (*SIG_FPTR) (int);
|
|||||||
#endif
|
#endif
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*#define ALIGNMENT 4*/
|
/*#define FB_ALIGNMENT 4*/
|
||||||
/*#define DOUBLE_ALIGN 4*/
|
/*#define DOUBLE_ALIGN 4*/
|
||||||
|
|
||||||
#define UNIX 1
|
#define UNIX 1
|
||||||
@ -295,7 +295,7 @@ typedef RETSIGTYPE (*SIG_FPTR) (int);
|
|||||||
#ifdef NETBSD
|
#ifdef NETBSD
|
||||||
|
|
||||||
#if defined(__i386__)
|
#if defined(__i386__)
|
||||||
/*#define ALIGNMENT 4*/
|
/*#define FB_ALIGNMENT 4*/
|
||||||
/*#define DOUBLE_ALIGN 4*/
|
/*#define DOUBLE_ALIGN 4*/
|
||||||
|
|
||||||
#define IEEE 1
|
#define IEEE 1
|
||||||
@ -404,7 +404,7 @@ typedef RETSIGTYPE (*SIG_FPTR) ();
|
|||||||
#define IEEE
|
#define IEEE
|
||||||
|
|
||||||
#ifdef sparc
|
#ifdef sparc
|
||||||
/*#define ALIGNMENT 4*/
|
/*#define FB_ALIGNMENT 4*/
|
||||||
/*#define DOUBLE_ALIGN 8*/
|
/*#define DOUBLE_ALIGN 8*/
|
||||||
#define IMPLEMENTATION isc_info_db_impl_isc_sun4 /* 30 */
|
#define IMPLEMENTATION isc_info_db_impl_isc_sun4 /* 30 */
|
||||||
#else /* sparc */
|
#else /* sparc */
|
||||||
@ -440,7 +440,7 @@ typedef RETSIGTYPE (*SIG_FPTR) (int);
|
|||||||
#define UNIX 1
|
#define UNIX 1
|
||||||
#define CURSES_KEYPAD 1
|
#define CURSES_KEYPAD 1
|
||||||
|
|
||||||
/*#define ALIGNMENT 8*/
|
/*#define FB_ALIGNMENT 8*/
|
||||||
/*#define DOUBLE_ALIGN 8*/
|
/*#define DOUBLE_ALIGN 8*/
|
||||||
#define IMPLEMENTATION isc_info_db_impl_isc_hp_ux /* 31 */
|
#define IMPLEMENTATION isc_info_db_impl_isc_hp_ux /* 31 */
|
||||||
|
|
||||||
@ -472,7 +472,7 @@ typedef RETSIGTYPE (*SIG_FPTR) ();
|
|||||||
*****************************************************/
|
*****************************************************/
|
||||||
#ifdef VMS
|
#ifdef VMS
|
||||||
#define VAX_FLOAT 1
|
#define VAX_FLOAT 1
|
||||||
/*#define ALIGNMENT 4*/
|
/*#define FB_ALIGNMENT 4*/
|
||||||
#define NO_NFS
|
#define NO_NFS
|
||||||
#define CTO32L(p) (*(long*)p)
|
#define CTO32L(p) (*(long*)p)
|
||||||
#define NO_CHECKSUM 1
|
#define NO_CHECKSUM 1
|
||||||
@ -502,13 +502,20 @@ typedef RETSIGTYPE (*SIG_FPTR) ();
|
|||||||
* IBM AIX RS/6000 and IBM AIX PowerPC
|
* IBM AIX RS/6000 and IBM AIX PowerPC
|
||||||
*****************************************************/
|
*****************************************************/
|
||||||
|
|
||||||
|
#ifdef AIX_PPC
|
||||||
|
#ifndef _AIX
|
||||||
|
#define _AIX
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _AIX /* IBM AIX */
|
#ifdef _AIX /* IBM AIX */
|
||||||
#ifndef _POWER /* IBM RS/6000 */
|
|
||||||
#define AIX
|
#define AIX
|
||||||
|
#ifndef _POWER /* IBM RS/6000 */
|
||||||
|
#define AIX_RS6000
|
||||||
#define KILLER_SIGNALS
|
#define KILLER_SIGNALS
|
||||||
#define UNIX 1
|
#define UNIX 1
|
||||||
#define CURSES_KEYPAD 1
|
#define CURSES_KEYPAD 1
|
||||||
/*#define ALIGNMENT 4*/
|
/*#define FB_ALIGNMENT 4*/
|
||||||
#define IMPLEMENTATION isc_info_db_impl_isc_rt_aix /* 35 */
|
#define IMPLEMENTATION isc_info_db_impl_isc_rt_aix /* 35 */
|
||||||
#define IEEE
|
#define IEEE
|
||||||
#define MEMMOVE(from,to,length) memmove ((void *)to, (void *)from, (size_t) length)
|
#define MEMMOVE(from,to,length) memmove ((void *)to, (void *)from, (size_t) length)
|
||||||
@ -517,11 +524,12 @@ typedef RETSIGTYPE (*SIG_FPTR) ();
|
|||||||
#define MOVE_CLEAR(to,length) memset (to, 0, (int) (length))
|
#define MOVE_CLEAR(to,length) memset (to, 0, (int) (length))
|
||||||
#define SYSCALL_INTERRUPTED(err) (((err) == EINTR) || ((err) == ERESTART)) /* pjpg 20001102 */
|
#define SYSCALL_INTERRUPTED(err) (((err) == EINTR) || ((err) == ERESTART)) /* pjpg 20001102 */
|
||||||
#else /* AIX PowerPC */
|
#else /* AIX PowerPC */
|
||||||
|
#undef AIX_PPC
|
||||||
#define AIX_PPC
|
#define AIX_PPC
|
||||||
#define KILLER_SIGNALS
|
#define KILLER_SIGNALS
|
||||||
#define UNIX 1
|
#define UNIX 1
|
||||||
#define CURSES_KEYPAD 1
|
#define CURSES_KEYPAD 1
|
||||||
/*#define ALIGNMENT 4*/
|
/*#define FB_ALIGNMENT 4*/
|
||||||
#define IMPLEMENTATION isc_info_db_impl_isc_rt_aix /* 35 */
|
#define IMPLEMENTATION isc_info_db_impl_isc_rt_aix /* 35 */
|
||||||
#define IEEE
|
#define IEEE
|
||||||
#define MEMMOVE(from,to,length) memmove ((void *)to, (void *)from, (size_t) length)
|
#define MEMMOVE(from,to,length) memmove ((void *)to, (void *)from, (size_t) length)
|
||||||
@ -536,7 +544,9 @@ typedef RETSIGTYPE (*SIG_FPTR) ();
|
|||||||
|
|
||||||
#endif /* IBM PowerPC */
|
#endif /* IBM PowerPC */
|
||||||
|
|
||||||
typedef RETSIGTYPE (*SIG_FPTR) ();
|
typedef RETSIGTYPE (*SIG_FPTR) (int);
|
||||||
|
#define WCOREDUMP(x) (((x)&0x80) != 0)
|
||||||
|
|
||||||
#endif /* IBM AIX */
|
#endif /* IBM AIX */
|
||||||
|
|
||||||
|
|
||||||
@ -680,14 +690,14 @@ typedef RETSIGTYPE (*SIG_FPTR) ();
|
|||||||
#ifdef I386
|
#ifdef I386
|
||||||
/* Using internal alignment optimal for 386 processor and above
|
/* Using internal alignment optimal for 386 processor and above
|
||||||
*/
|
*/
|
||||||
/*#define ALIGNMENT 4*/
|
/*#define FB_ALIGNMENT 4*/
|
||||||
/*#define DOUBLE_ALIGN 8*/
|
/*#define DOUBLE_ALIGN 8*/
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef ALIGNMENT
|
#ifndef FB_ALIGNMENT
|
||||||
/*#define ALIGNMENT 2*/
|
/*#define FB_ALIGNMENT 2*/
|
||||||
#error must define ALIGNMENT for your system
|
#error must define FB_ALIGNMENT for your system
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef SHIFTLONG
|
#ifndef SHIFTLONG
|
||||||
|
@ -947,7 +947,7 @@ static void delete_session(SLONG session_id)
|
|||||||
#ifdef WIN_NT
|
#ifdef WIN_NT
|
||||||
Sleep(250);
|
Sleep(250);
|
||||||
#endif
|
#endif
|
||||||
#if (defined SOLARIS_MT || defined LINUX)
|
#if (defined SOLARIS_MT || defined LINUX || defined AIX)
|
||||||
sleep(1);
|
sleep(1);
|
||||||
#endif
|
#endif
|
||||||
THREAD_ENTER;
|
THREAD_ENTER;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*
|
*
|
||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
* $Id: evl.cpp,v 1.34.2.8 2004-10-12 15:34:39 hvlad Exp $
|
* $Id: evl.cpp,v 1.34.2.9 2006-11-05 14:38:09 alexpeshkoff Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -289,7 +289,7 @@ DSC *DLL_EXPORT EVL_assign_to(TDBB tdbb, JRD_NOD node)
|
|||||||
// All seem to work fine.
|
// All seem to work fine.
|
||||||
record =
|
record =
|
||||||
request->req_rpb[(int) node->nod_arg[e_fld_stream]].rpb_record;
|
request->req_rpb[(int) node->nod_arg[e_fld_stream]].rpb_record;
|
||||||
EVL_field(0, record, (USHORT) node->nod_arg[e_fld_id],
|
EVL_field(0, record, (USHORT) (IPTR) node->nod_arg[e_fld_id],
|
||||||
&impure->vlu_desc);
|
&impure->vlu_desc);
|
||||||
if (!impure->vlu_desc.dsc_address)
|
if (!impure->vlu_desc.dsc_address)
|
||||||
ERR_post(gds_read_only_field, 0);
|
ERR_post(gds_read_only_field, 0);
|
||||||
@ -359,7 +359,7 @@ SBM *DLL_EXPORT EVL_bitmap(TDBB tdbb, JRD_NOD node)
|
|||||||
impure = (INV) ((SCHAR *) tdbb->tdbb_request + node->nod_impure);
|
impure = (INV) ((SCHAR *) tdbb->tdbb_request + node->nod_impure);
|
||||||
SBM_reset(&impure->inv_bitmap);
|
SBM_reset(&impure->inv_bitmap);
|
||||||
desc = EVL_expr(tdbb, node->nod_arg[0]);
|
desc = EVL_expr(tdbb, node->nod_arg[0]);
|
||||||
id = 1 + 2 * (USHORT) node->nod_arg[1];
|
id = 1 + 2 * (USHORT) (IPTR) node->nod_arg[1];
|
||||||
numbers = desc->dsc_address;
|
numbers = desc->dsc_address;
|
||||||
numbers += id * sizeof(SLONG);
|
numbers += id * sizeof(SLONG);
|
||||||
MOVE_FAST(numbers, &rel_dbkey, sizeof(SLONG));
|
MOVE_FAST(numbers, &rel_dbkey, sizeof(SLONG));
|
||||||
@ -856,9 +856,9 @@ DSC* DLL_EXPORT EVL_expr(TDBB tdbb, JRD_NOD node)
|
|||||||
* the relation block is referenced.
|
* the relation block is referenced.
|
||||||
* Reference: Bug 10116, 10424
|
* Reference: Bug 10116, 10424
|
||||||
*/
|
*/
|
||||||
if (!EVL_field(request->req_rpb[(USHORT) node->nod_arg[e_fld_stream]].rpb_relation,
|
if (!EVL_field(request->req_rpb[(USHORT) (IPTR) node->nod_arg[e_fld_stream]].rpb_relation,
|
||||||
record,
|
record,
|
||||||
(USHORT) node->nod_arg[e_fld_id],
|
(USHORT) (IPTR) node->nod_arg[e_fld_id],
|
||||||
&impure->vlu_desc))
|
&impure->vlu_desc))
|
||||||
{
|
{
|
||||||
request->req_flags |= req_null;
|
request->req_flags |= req_null;
|
||||||
@ -1725,7 +1725,7 @@ USHORT DLL_EXPORT EVL_group(TDBB tdbb, BLK rsb, JRD_NOD node, USHORT state)
|
|||||||
{
|
{
|
||||||
from = (*ptr)->nod_arg[e_asgn_from];
|
from = (*ptr)->nod_arg[e_asgn_from];
|
||||||
field = (*ptr)->nod_arg[e_asgn_to];
|
field = (*ptr)->nod_arg[e_asgn_to];
|
||||||
id = (USHORT) field->nod_arg[e_fld_id];
|
id = (USHORT) (IPTR) field->nod_arg[e_fld_id];
|
||||||
record =
|
record =
|
||||||
request->req_rpb[(int) field->nod_arg[e_fld_stream]].rpb_record;
|
request->req_rpb[(int) field->nod_arg[e_fld_stream]].rpb_record;
|
||||||
impure = (VLUX) ((SCHAR *) request + from->nod_impure);
|
impure = (VLUX) ((SCHAR *) request + from->nod_impure);
|
||||||
|
@ -320,8 +320,8 @@ void EXE_assignment(TDBB tdbb, JRD_NOD node)
|
|||||||
*((SINT64 *) to_desc->dsc_address) =
|
*((SINT64 *) to_desc->dsc_address) =
|
||||||
*((SINT64 *) from_desc->dsc_address);
|
*((SINT64 *) from_desc->dsc_address);
|
||||||
|
|
||||||
else if (((U_IPTR) from_desc->dsc_address & (ALIGNMENT - 1)) ||
|
else if (((U_IPTR) from_desc->dsc_address & (FB_ALIGNMENT - 1)) ||
|
||||||
((U_IPTR) to_desc->dsc_address & (ALIGNMENT - 1)))
|
((U_IPTR) to_desc->dsc_address & (FB_ALIGNMENT - 1)))
|
||||||
MOVE_FAST(from_desc->dsc_address, to_desc->dsc_address,
|
MOVE_FAST(from_desc->dsc_address, to_desc->dsc_address,
|
||||||
from_desc->dsc_length);
|
from_desc->dsc_length);
|
||||||
|
|
||||||
@ -375,7 +375,7 @@ void EXE_assignment(TDBB tdbb, JRD_NOD node)
|
|||||||
|
|
||||||
if (to->nod_type == nod_field)
|
if (to->nod_type == nod_field)
|
||||||
{
|
{
|
||||||
SSHORT id = (USHORT) to->nod_arg[e_fld_id];
|
SSHORT id = (USHORT) (IPTR) to->nod_arg[e_fld_id];
|
||||||
REC record = request->req_rpb[(int) to->nod_arg[e_fld_stream]].rpb_record;
|
REC record = request->req_rpb[(int) to->nod_arg[e_fld_stream]].rpb_record;
|
||||||
if (null) {
|
if (null) {
|
||||||
SET_NULL(record, id);
|
SET_NULL(record, id);
|
||||||
@ -639,7 +639,7 @@ void EXE_receive(TDBB tdbb,
|
|||||||
message = request->req_message;
|
message = request->req_message;
|
||||||
format = (FMT) message->nod_arg[e_msg_format];
|
format = (FMT) message->nod_arg[e_msg_format];
|
||||||
|
|
||||||
if (msg != (USHORT) message->nod_arg[e_msg_number])
|
if (msg != (USHORT) (IPTR) message->nod_arg[e_msg_number])
|
||||||
ERR_post(gds_req_sync, 0);
|
ERR_post(gds_req_sync, 0);
|
||||||
|
|
||||||
if (length != format->fmt_length)
|
if (length != format->fmt_length)
|
||||||
@ -647,7 +647,7 @@ void EXE_receive(TDBB tdbb,
|
|||||||
gds_arg_number, (SLONG) length,
|
gds_arg_number, (SLONG) length,
|
||||||
gds_arg_number, (SLONG) format->fmt_length, 0);
|
gds_arg_number, (SLONG) format->fmt_length, 0);
|
||||||
|
|
||||||
if ((U_IPTR) buffer & (ALIGNMENT - 1))
|
if ((U_IPTR) buffer & (FB_ALIGNMENT - 1))
|
||||||
MOVE_FAST((SCHAR *) request + message->nod_impure, buffer, length);
|
MOVE_FAST((SCHAR *) request + message->nod_impure, buffer, length);
|
||||||
else
|
else
|
||||||
MOVE_FASTER((SCHAR *) request + message->nod_impure, buffer, length);
|
MOVE_FASTER((SCHAR *) request + message->nod_impure, buffer, length);
|
||||||
@ -755,7 +755,7 @@ void EXE_send(TDBB tdbb,
|
|||||||
|
|
||||||
if ((message = request->req_async_message) &&
|
if ((message = request->req_async_message) &&
|
||||||
(node = message->nod_arg[e_send_message]) &&
|
(node = message->nod_arg[e_send_message]) &&
|
||||||
(msg == (USHORT) node->nod_arg[e_msg_number])) {
|
(msg == (USHORT) (IPTR) node->nod_arg[e_msg_number])) {
|
||||||
/* save the current state of the request so we can go
|
/* save the current state of the request so we can go
|
||||||
back to what was interrupted */
|
back to what was interrupted */
|
||||||
|
|
||||||
@ -788,7 +788,7 @@ void EXE_send(TDBB tdbb,
|
|||||||
for (ptr = node->nod_arg, end = ptr + node->nod_count; ptr < end;
|
for (ptr = node->nod_arg, end = ptr + node->nod_count; ptr < end;
|
||||||
ptr++) {
|
ptr++) {
|
||||||
message = (*ptr)->nod_arg[e_send_message];
|
message = (*ptr)->nod_arg[e_send_message];
|
||||||
if ((USHORT) message->nod_arg[e_msg_number] == msg) {
|
if ((USHORT) (IPTR) message->nod_arg[e_msg_number] == msg) {
|
||||||
request->req_next = *ptr;
|
request->req_next = *ptr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -798,7 +798,7 @@ void EXE_send(TDBB tdbb,
|
|||||||
|
|
||||||
format = (FMT) message->nod_arg[e_msg_format];
|
format = (FMT) message->nod_arg[e_msg_format];
|
||||||
|
|
||||||
if (msg != (USHORT) message->nod_arg[e_msg_number])
|
if (msg != (USHORT) (IPTR) message->nod_arg[e_msg_number])
|
||||||
ERR_post(gds_req_sync, 0);
|
ERR_post(gds_req_sync, 0);
|
||||||
|
|
||||||
if (length != format->fmt_length)
|
if (length != format->fmt_length)
|
||||||
@ -806,7 +806,7 @@ void EXE_send(TDBB tdbb,
|
|||||||
gds_arg_number, (SLONG) length,
|
gds_arg_number, (SLONG) length,
|
||||||
gds_arg_number, (SLONG) format->fmt_length, 0);
|
gds_arg_number, (SLONG) format->fmt_length, 0);
|
||||||
|
|
||||||
if ((U_IPTR) buffer & (ALIGNMENT - 1))
|
if ((U_IPTR) buffer & (FB_ALIGNMENT - 1))
|
||||||
MOVE_FAST(buffer, (SCHAR *) request + message->nod_impure, length);
|
MOVE_FAST(buffer, (SCHAR *) request + message->nod_impure, length);
|
||||||
else
|
else
|
||||||
MOVE_FASTER(buffer, (SCHAR *) request + message->nod_impure, length);
|
MOVE_FASTER(buffer, (SCHAR *) request + message->nod_impure, length);
|
||||||
@ -2015,7 +2015,7 @@ static JRD_NOD looper(TDBB tdbb, JRD_REQ request, JRD_NOD in_node)
|
|||||||
case jrd_req::req_evaluate:
|
case jrd_req::req_evaluate:
|
||||||
if (transaction != dbb->dbb_sys_trans) {
|
if (transaction != dbb->dbb_sys_trans) {
|
||||||
|
|
||||||
UCHAR operation = (UCHAR) node->nod_arg[e_sav_operation];
|
UCHAR operation = (UCHAR) (IPTR) node->nod_arg[e_sav_operation];
|
||||||
TEXT * node_savepoint_name = (TEXT*) node->nod_arg[e_sav_name];
|
TEXT * node_savepoint_name = (TEXT*) node->nod_arg[e_sav_name];
|
||||||
|
|
||||||
// Skip the savepoint created by EXE_start
|
// Skip the savepoint created by EXE_start
|
||||||
@ -2328,7 +2328,7 @@ static JRD_NOD looper(TDBB tdbb, JRD_REQ request, JRD_NOD in_node)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case jrd_req::req_unwind:
|
case jrd_req::req_unwind:
|
||||||
if ((request->req_label == (USHORT) node->nod_arg[e_lbl_label]) &&
|
if ((request->req_label == (USHORT) (IPTR) node->nod_arg[e_lbl_label]) &&
|
||||||
(request->req_flags & (req_leave | req_error_handler))) {
|
(request->req_flags & (req_leave | req_error_handler))) {
|
||||||
request->req_flags &= ~req_leave;
|
request->req_flags &= ~req_leave;
|
||||||
request->req_operation = jrd_req::req_return;
|
request->req_operation = jrd_req::req_return;
|
||||||
@ -2342,7 +2342,7 @@ static JRD_NOD looper(TDBB tdbb, JRD_REQ request, JRD_NOD in_node)
|
|||||||
case nod_leave:
|
case nod_leave:
|
||||||
request->req_flags |= req_leave;
|
request->req_flags |= req_leave;
|
||||||
request->req_operation = jrd_req::req_unwind;
|
request->req_operation = jrd_req::req_unwind;
|
||||||
request->req_label = (USHORT) node->nod_arg[0];
|
request->req_label = (USHORT) (IPTR) node->nod_arg[0];
|
||||||
node = node->nod_parent;
|
node = node->nod_parent;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -2640,7 +2640,7 @@ static JRD_NOD looper(TDBB tdbb, JRD_REQ request, JRD_NOD in_node)
|
|||||||
RSE_reset_position(tdbb,
|
RSE_reset_position(tdbb,
|
||||||
*(RSB *) node->nod_arg[e_reset_from_rsb],
|
*(RSB *) node->nod_arg[e_reset_from_rsb],
|
||||||
request->req_rpb +
|
request->req_rpb +
|
||||||
(USHORT) node->nod_arg[e_reset_to_stream]);
|
(USHORT) (IPTR) node->nod_arg[e_reset_to_stream]);
|
||||||
request->req_operation = jrd_req::req_return;
|
request->req_operation = jrd_req::req_return;
|
||||||
}
|
}
|
||||||
node = node->nod_parent;
|
node = node->nod_parent;
|
||||||
@ -2794,11 +2794,11 @@ static JRD_NOD modify(TDBB tdbb, JRD_NOD node, SSHORT which_trig)
|
|||||||
transaction = request->req_transaction;
|
transaction = request->req_transaction;
|
||||||
impure = (STA) ((SCHAR *) request + node->nod_impure);
|
impure = (STA) ((SCHAR *) request + node->nod_impure);
|
||||||
|
|
||||||
org_stream = (USHORT) node->nod_arg[e_mod_org_stream];
|
org_stream = (USHORT) (IPTR) node->nod_arg[e_mod_org_stream];
|
||||||
org_rpb = &request->req_rpb[org_stream];
|
org_rpb = &request->req_rpb[org_stream];
|
||||||
relation = org_rpb->rpb_relation;
|
relation = org_rpb->rpb_relation;
|
||||||
|
|
||||||
new_stream = (USHORT) node->nod_arg[e_mod_new_stream];
|
new_stream = (USHORT) (IPTR) node->nod_arg[e_mod_new_stream];
|
||||||
new_rpb = &request->req_rpb[new_stream];
|
new_rpb = &request->req_rpb[new_stream];
|
||||||
|
|
||||||
#ifdef PC_ENGINE
|
#ifdef PC_ENGINE
|
||||||
@ -3545,7 +3545,7 @@ static JRD_NOD set_bookmark(TDBB tdbb, JRD_NOD node)
|
|||||||
|
|
||||||
if (request->req_operation == jrd_req::req_evaluate) {
|
if (request->req_operation == jrd_req::req_evaluate) {
|
||||||
bookmark = BKM_lookup(node->nod_arg[e_setmark_id]);
|
bookmark = BKM_lookup(node->nod_arg[e_setmark_id]);
|
||||||
stream = (USHORT) node->nod_arg[e_setmark_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_setmark_stream];
|
||||||
rpb = &request->req_rpb[stream];
|
rpb = &request->req_rpb[stream];
|
||||||
rsb = *((RSB *) node->nod_arg[e_setmark_rsb]);
|
rsb = *((RSB *) node->nod_arg[e_setmark_rsb]);
|
||||||
impure = (IRSB) ((UCHAR *) request + rsb->rsb_impure);
|
impure = (IRSB) ((UCHAR *) request + rsb->rsb_impure);
|
||||||
@ -3703,7 +3703,7 @@ static JRD_NOD set_index(TDBB tdbb, JRD_NOD node)
|
|||||||
BLKCHK(node, type_nod);
|
BLKCHK(node, type_nod);
|
||||||
|
|
||||||
if (request->req_operation == jrd_req::req_evaluate) {
|
if (request->req_operation == jrd_req::req_evaluate) {
|
||||||
stream = (USHORT) node->nod_arg[e_index_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_index_stream];
|
||||||
|
|
||||||
rpb = &request->req_rpb[stream];
|
rpb = &request->req_rpb[stream];
|
||||||
relation = rpb->rpb_relation;
|
relation = rpb->rpb_relation;
|
||||||
@ -3795,7 +3795,7 @@ static JRD_NOD store(TDBB tdbb, JRD_NOD node, SSHORT which_trig)
|
|||||||
JRD_REQ request = tdbb->tdbb_request;
|
JRD_REQ request = tdbb->tdbb_request;
|
||||||
JRD_TRA transaction = request->req_transaction;
|
JRD_TRA transaction = request->req_transaction;
|
||||||
STA impure = (STA) ((SCHAR *) request + node->nod_impure);
|
STA impure = (STA) ((SCHAR *) request + node->nod_impure);
|
||||||
SSHORT stream = (USHORT) node->nod_arg[e_sto_relation]->nod_arg[e_rel_stream];
|
SSHORT stream = (USHORT) (IPTR) node->nod_arg[e_sto_relation]->nod_arg[e_rel_stream];
|
||||||
RPB* rpb = &request->req_rpb[stream];
|
RPB* rpb = &request->req_rpb[stream];
|
||||||
JRD_REL relation = rpb->rpb_relation;
|
JRD_REL relation = rpb->rpb_relation;
|
||||||
|
|
||||||
@ -4201,8 +4201,8 @@ static void validate(TDBB tdbb, JRD_NOD list)
|
|||||||
|
|
||||||
if (node->nod_type == nod_field)
|
if (node->nod_type == nod_field)
|
||||||
{
|
{
|
||||||
stream = (USHORT) node->nod_arg[e_fld_stream];
|
stream = (USHORT) (IPTR) node->nod_arg[e_fld_stream];
|
||||||
id = (USHORT) node->nod_arg[e_fld_id];
|
id = (USHORT) (IPTR) node->nod_arg[e_fld_id];
|
||||||
relation = request->req_rpb[stream].rpb_relation;
|
relation = request->req_rpb[stream].rpb_relation;
|
||||||
|
|
||||||
if ((vector = relation->rel_fields) &&
|
if ((vector = relation->rel_fields) &&
|
||||||
|
@ -266,7 +266,7 @@ int EXT_get(RSB rsb)
|
|||||||
record = rpb->rpb_record;
|
record = rpb->rpb_record;
|
||||||
format = record->rec_format;
|
format = record->rec_format;
|
||||||
|
|
||||||
offset = (SSHORT) format->fmt_desc[0].dsc_address;
|
offset = (SSHORT) (IPTR) format->fmt_desc[0].dsc_address;
|
||||||
p = record->rec_data + offset;
|
p = record->rec_data + offset;
|
||||||
l = record->rec_length - offset;
|
l = record->rec_length - offset;
|
||||||
|
|
||||||
@ -528,7 +528,7 @@ void EXT_store(RPB * rpb, int *transaction)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
offset = (USHORT) format->fmt_desc[0].dsc_address;
|
offset = (USHORT) (IPTR) format->fmt_desc[0].dsc_address;
|
||||||
p = record->rec_data + offset;
|
p = record->rec_data + offset;
|
||||||
l = record->rec_length - offset;
|
l = record->rec_length - offset;
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ static void gdsPrefixInit(); // C++ function
|
|||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
||||||
#if !(defined VMS || defined WIN_NT || defined LINUX || defined FREEBSD || defined NETBSD || defined DARWIN )
|
#if !(defined VMS || defined WIN_NT || defined LINUX || defined FREEBSD || defined NETBSD || defined DARWIN || defined AIX)
|
||||||
extern int errno;
|
extern int errno;
|
||||||
extern SCHAR *sys_errlist[];
|
extern SCHAR *sys_errlist[];
|
||||||
extern int sys_nerr;
|
extern int sys_nerr;
|
||||||
@ -3372,7 +3372,7 @@ static void init(void)
|
|||||||
#ifdef UNIX
|
#ifdef UNIX
|
||||||
gds_pid = getpid();
|
gds_pid = getpid();
|
||||||
#ifdef SUPERSERVER
|
#ifdef SUPERSERVER
|
||||||
#if (defined SOLARIS || defined HPUX || defined LINUX)
|
#if (defined SOLARIS || defined HPUX || defined LINUX || defined AIX)
|
||||||
{
|
{
|
||||||
/* Increase max open files to hard limit for Unix
|
/* Increase max open files to hard limit for Unix
|
||||||
platforms which are known to have low soft limits. */
|
platforms which are known to have low soft limits. */
|
||||||
|
@ -1055,12 +1055,12 @@ JRD_REL * bad_relation, USHORT * bad_index)
|
|||||||
index_number < idx->idx_foreign_primaries->count();
|
index_number < idx->idx_foreign_primaries->count();
|
||||||
index_number++) {
|
index_number++) {
|
||||||
if (idx->idx_id !=
|
if (idx->idx_id !=
|
||||||
(UCHAR) (*idx->idx_foreign_primaries)[index_number]) continue;
|
(UCHAR) (IPTR) (*idx->idx_foreign_primaries)[index_number]) continue;
|
||||||
partner_relation =
|
partner_relation =
|
||||||
MET_relation(tdbb,
|
MET_relation(tdbb,
|
||||||
(int) (*idx->idx_foreign_relations)[index_number]);
|
(int) (*idx->idx_foreign_relations)[index_number]);
|
||||||
index_id =
|
index_id =
|
||||||
(USHORT) (*idx->idx_foreign_indexes)[index_number];
|
(USHORT) (IPTR) (*idx->idx_foreign_indexes)[index_number];
|
||||||
if ( (result =
|
if ( (result =
|
||||||
check_partner_index(tdbb, relation, record, transaction, idx,
|
check_partner_index(tdbb, relation, record, transaction, idx,
|
||||||
partner_relation, index_id)) )
|
partner_relation, index_id)) )
|
||||||
|
@ -1413,7 +1413,7 @@ static BOOLEAN get_mounts(
|
|||||||
|
|
||||||
l = *(SLONG *) mnt_buffer;
|
l = *(SLONG *) mnt_buffer;
|
||||||
/* FREE: in get_mounts() */
|
/* FREE: in get_mounts() */
|
||||||
if (!(*buffer = gds__alloc((SLONG) l)) ||
|
if (!(*buffer = (TEXT*)gds__alloc((SLONG) l)) ||
|
||||||
(*count = mntctl(MCTL_QUERY, l, *buffer)) <= 0)
|
(*count = mntctl(MCTL_QUERY, l, *buffer)) <= 0)
|
||||||
return FALSE; /* NOMEM: */
|
return FALSE; /* NOMEM: */
|
||||||
}
|
}
|
||||||
|
@ -72,6 +72,7 @@
|
|||||||
#include "../jrd/file_params.h"
|
#include "../jrd/file_params.h"
|
||||||
#include "../jrd/gdsassert.h"
|
#include "../jrd/gdsassert.h"
|
||||||
#include "../jrd/jrd.h"
|
#include "../jrd/jrd.h"
|
||||||
|
#include "../jrd/thd.h"
|
||||||
#include "../jrd/sch_proto.h"
|
#include "../jrd/sch_proto.h"
|
||||||
#include "../jrd/err_proto.h"
|
#include "../jrd/err_proto.h"
|
||||||
#include "../jrd/thd_proto.h"
|
#include "../jrd/thd_proto.h"
|
||||||
@ -782,7 +783,7 @@ int ISC_event_wait(
|
|||||||
if (micro_seconds > 0 && (ret == -1) && (errno == EAGAIN))
|
if (micro_seconds > 0 && (ret == -1) && (errno == EAGAIN))
|
||||||
#else
|
#else
|
||||||
/* RITTER - added HP11 to the preprocessor condition below */
|
/* RITTER - added HP11 to the preprocessor condition below */
|
||||||
#if (defined LINUX || defined DARWIN || defined HP11 || defined FREEBSD)
|
#if (defined LINUX || defined DARWIN || defined HP11 || defined FREEBSD || defined AIX)
|
||||||
if (micro_seconds > 0 && (ret == ETIMEDOUT))
|
if (micro_seconds > 0 && (ret == ETIMEDOUT))
|
||||||
#else
|
#else
|
||||||
if (micro_seconds > 0 && (ret == ETIME))
|
if (micro_seconds > 0 && (ret == ETIME))
|
||||||
|
@ -3905,7 +3905,7 @@ ISC_STATUS DLL_EXPORT GDS_TRANSACT_REQUEST(ISC_STATUS* user_status,
|
|||||||
gds_arg_number, (SLONG) in_msg_length,
|
gds_arg_number, (SLONG) in_msg_length,
|
||||||
gds_arg_number, (SLONG) len, 0);
|
gds_arg_number, (SLONG) len, 0);
|
||||||
}
|
}
|
||||||
if ((U_IPTR) in_msg & (ALIGNMENT - 1)) {
|
if ((U_IPTR) in_msg & (FB_ALIGNMENT - 1)) {
|
||||||
MOVE_FAST(in_msg, (SCHAR *) request + in_message->nod_impure,
|
MOVE_FAST(in_msg, (SCHAR *) request + in_message->nod_impure,
|
||||||
in_msg_length);
|
in_msg_length);
|
||||||
}
|
}
|
||||||
@ -3931,7 +3931,7 @@ ISC_STATUS DLL_EXPORT GDS_TRANSACT_REQUEST(ISC_STATUS* user_status,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (out_msg_length) {
|
if (out_msg_length) {
|
||||||
if ((U_IPTR) out_msg & (ALIGNMENT - 1)) {
|
if ((U_IPTR) out_msg & (FB_ALIGNMENT - 1)) {
|
||||||
MOVE_FAST((SCHAR *) request + out_message->nod_impure, out_msg,
|
MOVE_FAST((SCHAR *) request + out_message->nod_impure, out_msg,
|
||||||
out_msg_length);
|
out_msg_length);
|
||||||
}
|
}
|
||||||
|
@ -855,7 +855,7 @@ class btb : public pool_alloc<type_btb>
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
btb *btb_next;
|
btb *btb_next;
|
||||||
struct thread* btb_thread_id;
|
struct sch_thread* btb_thread_id;
|
||||||
};
|
};
|
||||||
typedef btb *BTB;
|
typedef btb *BTB;
|
||||||
|
|
||||||
@ -960,7 +960,7 @@ typedef struct ihndl
|
|||||||
|
|
||||||
/* RITTER - changed HP10 to HPUX in the expression below */
|
/* RITTER - changed HP10 to HPUX in the expression below */
|
||||||
#ifdef MULTI_THREAD
|
#ifdef MULTI_THREAD
|
||||||
#if (defined SOLARIS_MT || defined WIN_NT || \
|
#if (defined SOLARIS_MT || defined WIN_NT || defined AIX || \
|
||||||
defined HPUX || defined LINUX || defined DARWIN || defined FREEBSD )
|
defined HPUX || defined LINUX || defined DARWIN || defined FREEBSD )
|
||||||
#define PLATFORM_GET_THREAD_DATA ((TDBB) THD_get_specific())
|
#define PLATFORM_GET_THREAD_DATA ((TDBB) THD_get_specific())
|
||||||
#endif
|
#endif
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*
|
*
|
||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
* $Id: license.h,v 1.30 2003-06-08 13:13:24 dimitr Exp $
|
* $Id: license.h,v 1.30.2.1 2006-11-05 14:38:10 alexpeshkoff Exp $
|
||||||
* Revision 1.5 2000/12/08 16:18:21 fsg
|
* Revision 1.5 2000/12/08 16:18:21 fsg
|
||||||
* Preliminary changes to get IB_BUILD_NO automatically
|
* Preliminary changes to get IB_BUILD_NO automatically
|
||||||
* increased on commits.
|
* increased on commits.
|
||||||
@ -100,7 +100,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef AIX
|
#ifdef AIX_RS6000
|
||||||
#define FB_PLATFORM "IA"
|
#define FB_PLATFORM "IA"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
$Id: met.epp,v 1.61.2.8 2005-11-30 04:21:53 robocop Exp $
|
$Id: met.epp,v 1.61.2.9 2006-11-05 14:38:10 alexpeshkoff Exp $
|
||||||
*/
|
*/
|
||||||
// This MUST be at the top of the file
|
// This MUST be at the top of the file
|
||||||
#ifdef DARWIN
|
#ifdef DARWIN
|
||||||
@ -670,7 +670,7 @@ ULONG MET_align(DSC * desc, USHORT value)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
alignment = MIN(alignment, ALIGNMENT);
|
alignment = MIN(alignment, FB_ALIGNMENT);
|
||||||
|
|
||||||
return FB_ALIGN(value, alignment);
|
return FB_ALIGN(value, alignment);
|
||||||
}
|
}
|
||||||
@ -2133,13 +2133,13 @@ int MET_lookup_partner(
|
|||||||
index_number < references->frgn_reference_ids->count();
|
index_number < references->frgn_reference_ids->count();
|
||||||
index_number++)
|
index_number++)
|
||||||
{
|
{
|
||||||
if (idx->idx_id == (UCHAR) (*references->frgn_reference_ids)
|
if (idx->idx_id == (UCHAR) (IPTR) (*references->frgn_reference_ids)
|
||||||
[index_number])
|
[index_number])
|
||||||
{
|
{
|
||||||
idx->idx_primary_relation =
|
idx->idx_primary_relation =
|
||||||
(USHORT) (*references->frgn_relations)[index_number];
|
(USHORT) (IPTR) (*references->frgn_relations)[index_number];
|
||||||
idx->idx_primary_index =
|
idx->idx_primary_index =
|
||||||
(UCHAR) (*references->frgn_indexes)[index_number];
|
(UCHAR) (IPTR) (*references->frgn_indexes)[index_number];
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2155,7 +2155,7 @@ int MET_lookup_partner(
|
|||||||
index_number < dependencies->prim_reference_ids->count();
|
index_number < dependencies->prim_reference_ids->count();
|
||||||
index_number++)
|
index_number++)
|
||||||
{
|
{
|
||||||
if (idx->idx_id == (UCHAR) (*dependencies->prim_reference_ids)
|
if (idx->idx_id == (UCHAR) (IPTR) (*dependencies->prim_reference_ids)
|
||||||
[index_number])
|
[index_number])
|
||||||
{
|
{
|
||||||
idx->idx_foreign_primaries =
|
idx->idx_foreign_primaries =
|
||||||
@ -4580,7 +4580,7 @@ static void store_dependencies(TDBB tdbb,
|
|||||||
node = (JRD_NOD) LLS_POP(&csb->csb_dependencies);
|
node = (JRD_NOD) LLS_POP(&csb->csb_dependencies);
|
||||||
if (!node->nod_arg[e_dep_object])
|
if (!node->nod_arg[e_dep_object])
|
||||||
continue;
|
continue;
|
||||||
dpdo_type = (SSHORT) node->nod_arg[e_dep_object_type];
|
dpdo_type = (SSHORT) (IPTR) node->nod_arg[e_dep_object_type];
|
||||||
relation = NULL;
|
relation = NULL;
|
||||||
procedure = NULL;
|
procedure = NULL;
|
||||||
switch (dpdo_type) {
|
switch (dpdo_type) {
|
||||||
@ -4617,7 +4617,7 @@ static void store_dependencies(TDBB tdbb,
|
|||||||
{
|
{
|
||||||
if (field_node->nod_type == nod_field)
|
if (field_node->nod_type == nod_field)
|
||||||
{
|
{
|
||||||
fld_id = (SSHORT) field_node->nod_arg[0];
|
fld_id = (SSHORT) (IPTR) field_node->nod_arg[0];
|
||||||
if (relation)
|
if (relation)
|
||||||
{
|
{
|
||||||
if ( (field = MET_get_field(relation, fld_id)) )
|
if ( (field = MET_get_field(relation, fld_id)) )
|
||||||
|
@ -380,7 +380,7 @@ RSB OPT_compile(TDBB tdbb,
|
|||||||
|
|
||||||
if (node->nod_type != nod_rse)
|
if (node->nod_type != nod_rse)
|
||||||
{
|
{
|
||||||
stream = (USHORT) node->nod_arg[STREAM_INDEX(node)];
|
stream = (USHORT) (IPTR) node->nod_arg[STREAM_INDEX(node)];
|
||||||
assert(stream <= MAX_UCHAR);
|
assert(stream <= MAX_UCHAR);
|
||||||
assert(beds[0] < MAX_STREAMS && beds[0] < MAX_UCHAR);
|
assert(beds[0] < MAX_STREAMS && beds[0] < MAX_UCHAR);
|
||||||
beds[++beds[0]] = (UCHAR) stream;
|
beds[++beds[0]] = (UCHAR) stream;
|
||||||
@ -397,10 +397,10 @@ RSB OPT_compile(TDBB tdbb,
|
|||||||
compute_dbkey_streams(csb, node, key_streams);
|
compute_dbkey_streams(csb, node, key_streams);
|
||||||
rsb =
|
rsb =
|
||||||
gen_union(tdbb, opt_, node, key_streams + i + 1,
|
gen_union(tdbb, opt_, node, key_streams + i + 1,
|
||||||
(USHORT) (key_streams[0] - i));
|
(USHORT) (IPTR) (key_streams[0] - i));
|
||||||
assert(local_streams[0] < MAX_STREAMS && local_streams[0] < MAX_UCHAR);
|
assert(local_streams[0] < MAX_STREAMS && local_streams[0] < MAX_UCHAR);
|
||||||
local_streams[++local_streams[0]] =
|
local_streams[++local_streams[0]] =
|
||||||
(UCHAR) node->nod_arg[e_uni_stream];
|
(UCHAR) (IPTR) node->nod_arg[e_uni_stream];
|
||||||
}
|
}
|
||||||
else if (node->nod_type == nod_aggregate) {
|
else if (node->nod_type == nod_aggregate) {
|
||||||
assert((int)node->nod_arg[e_agg_stream] <= MAX_STREAMS);
|
assert((int)node->nod_arg[e_agg_stream] <= MAX_STREAMS);
|
||||||
@ -408,13 +408,13 @@ RSB OPT_compile(TDBB tdbb,
|
|||||||
rsb = gen_aggregate(tdbb, opt_, node);
|
rsb = gen_aggregate(tdbb, opt_, node);
|
||||||
assert(local_streams[0] < MAX_STREAMS && local_streams[0] < MAX_UCHAR);
|
assert(local_streams[0] < MAX_STREAMS && local_streams[0] < MAX_UCHAR);
|
||||||
local_streams[++local_streams[0]] =
|
local_streams[++local_streams[0]] =
|
||||||
(UCHAR) node->nod_arg[e_agg_stream];
|
(UCHAR) (IPTR) node->nod_arg[e_agg_stream];
|
||||||
}
|
}
|
||||||
else if (node->nod_type == nod_procedure) {
|
else if (node->nod_type == nod_procedure) {
|
||||||
rsb = gen_procedure(tdbb, opt_, node);
|
rsb = gen_procedure(tdbb, opt_, node);
|
||||||
assert(local_streams[0] < MAX_STREAMS && local_streams[0] < MAX_UCHAR);
|
assert(local_streams[0] < MAX_STREAMS && local_streams[0] < MAX_UCHAR);
|
||||||
local_streams[++local_streams[0]] =
|
local_streams[++local_streams[0]] =
|
||||||
(UCHAR) node->nod_arg[e_prc_stream];
|
(UCHAR) (IPTR) node->nod_arg[e_prc_stream];
|
||||||
}
|
}
|
||||||
else if (node->nod_type == nod_rse) {
|
else if (node->nod_type == nod_rse) {
|
||||||
compute_rse_streams(csb, (RSE) node, beds);
|
compute_rse_streams(csb, (RSE) node, beds);
|
||||||
@ -895,7 +895,7 @@ JRD_NOD OPT_make_dbkey(OPT opt_, JRD_NOD boolean, USHORT stream)
|
|||||||
|
|
||||||
/* Make sure we have the correct stream */
|
/* Make sure we have the correct stream */
|
||||||
|
|
||||||
if ((USHORT) dbkey->nod_arg[0] != stream)
|
if ((USHORT) (IPTR) dbkey->nod_arg[0] != stream)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* If this is a dbkey for the appropriate stream, it's invertable */
|
/* If this is a dbkey for the appropriate stream, it's invertable */
|
||||||
@ -1351,7 +1351,7 @@ static void check_indices(csb_repeat * csb_tail)
|
|||||||
(idx_plan_missing | idx_plan_starts))) {
|
(idx_plan_missing | idx_plan_starts))) {
|
||||||
if (relation) {
|
if (relation) {
|
||||||
MET_lookup_index(tdbb, index_name, relation->rel_name,
|
MET_lookup_index(tdbb, index_name, relation->rel_name,
|
||||||
(USHORT) (idx->idx_id + 1));
|
(USHORT) (IPTR) (idx->idx_id + 1));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
index_name[0] = 0;
|
index_name[0] = 0;
|
||||||
@ -1687,7 +1687,7 @@ static bool computable(CSB csb,
|
|||||||
switch (node->nod_type) {
|
switch (node->nod_type) {
|
||||||
case nod_field:
|
case nod_field:
|
||||||
|
|
||||||
n = (USHORT) node->nod_arg[e_fld_stream];
|
n = (USHORT) (IPTR) node->nod_arg[e_fld_stream];
|
||||||
|
|
||||||
if (allowOnlyCurrentStream) {
|
if (allowOnlyCurrentStream) {
|
||||||
if (n != stream) {
|
if (n != stream) {
|
||||||
@ -1713,7 +1713,7 @@ static bool computable(CSB csb,
|
|||||||
|
|
||||||
case nod_dbkey:
|
case nod_dbkey:
|
||||||
|
|
||||||
n = (USHORT) node->nod_arg[0];
|
n = (USHORT) (IPTR) node->nod_arg[0];
|
||||||
|
|
||||||
if (allowOnlyCurrentStream) {
|
if (allowOnlyCurrentStream) {
|
||||||
if (n != stream) {
|
if (n != stream) {
|
||||||
@ -1784,7 +1784,7 @@ static bool computable(CSB csb,
|
|||||||
|
|
||||||
for (ptr = rse->rse_relation, end = ptr + rse->rse_count; ptr < end; ptr++) {
|
for (ptr = rse->rse_relation, end = ptr + rse->rse_count; ptr < end; ptr++) {
|
||||||
if ((*ptr)->nod_type != nod_rse) {
|
if ((*ptr)->nod_type != nod_rse) {
|
||||||
n = (USHORT) (*ptr)->nod_arg[STREAM_INDEX((*ptr))];
|
n = (USHORT) (IPTR) (*ptr)->nod_arg[STREAM_INDEX((*ptr))];
|
||||||
csb->csb_rpt[n].csb_flags |= csb_active;
|
csb->csb_rpt[n].csb_flags |= csb_active;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1821,7 +1821,7 @@ static bool computable(CSB csb,
|
|||||||
{
|
{
|
||||||
if ((*ptr)->nod_type != nod_rse)
|
if ((*ptr)->nod_type != nod_rse)
|
||||||
{
|
{
|
||||||
n = (USHORT) (*ptr)->nod_arg[STREAM_INDEX((*ptr))];
|
n = (USHORT) (IPTR) (*ptr)->nod_arg[STREAM_INDEX((*ptr))];
|
||||||
csb->csb_rpt[n].csb_flags &= ~csb_active;
|
csb->csb_rpt[n].csb_flags &= ~csb_active;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1862,12 +1862,12 @@ static void compute_dependencies(JRD_NOD node, ULONG * dependencies)
|
|||||||
|
|
||||||
switch (node->nod_type) {
|
switch (node->nod_type) {
|
||||||
case nod_field:
|
case nod_field:
|
||||||
n = (USHORT) node->nod_arg[e_fld_stream];
|
n = (USHORT) (IPTR) node->nod_arg[e_fld_stream];
|
||||||
SET_DEP_BIT(dependencies, n);
|
SET_DEP_BIT(dependencies, n);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case nod_dbkey:
|
case nod_dbkey:
|
||||||
n = (USHORT) node->nod_arg[0];
|
n = (USHORT) (IPTR) node->nod_arg[0];
|
||||||
SET_DEP_BIT(dependencies, n);
|
SET_DEP_BIT(dependencies, n);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -1923,7 +1923,7 @@ static void compute_dependencies(JRD_NOD node, ULONG * dependencies)
|
|||||||
|
|
||||||
for (ptr = rse->rse_relation, end = ptr + rse->rse_count; ptr < end; ptr++) {
|
for (ptr = rse->rse_relation, end = ptr + rse->rse_count; ptr < end; ptr++) {
|
||||||
if ((*ptr)->nod_type != nod_rse) {
|
if ((*ptr)->nod_type != nod_rse) {
|
||||||
n = (USHORT) (*ptr)->nod_arg[STREAM_INDEX((*ptr))];
|
n = (USHORT) (IPTR) (*ptr)->nod_arg[STREAM_INDEX((*ptr))];
|
||||||
CLEAR_DEP_BIT(dependencies, n);
|
CLEAR_DEP_BIT(dependencies, n);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1951,7 +1951,7 @@ static void compute_dbkey_streams(CSB csb, JRD_NOD node, UCHAR * streams)
|
|||||||
|
|
||||||
if (node->nod_type == nod_relation) {
|
if (node->nod_type == nod_relation) {
|
||||||
assert(streams[0] < MAX_STREAMS && streams[0] < MAX_UCHAR);
|
assert(streams[0] < MAX_STREAMS && streams[0] < MAX_UCHAR);
|
||||||
streams[++streams[0]] = (UCHAR) node->nod_arg[e_rel_stream];
|
streams[++streams[0]] = (UCHAR) (IPTR) node->nod_arg[e_rel_stream];
|
||||||
}
|
}
|
||||||
else if (node->nod_type == nod_union) {
|
else if (node->nod_type == nod_union) {
|
||||||
clauses = node->nod_arg[e_uni_clauses];
|
clauses = node->nod_arg[e_uni_clauses];
|
||||||
@ -1991,7 +1991,7 @@ static void compute_rse_streams(CSB csb, RSE rse, UCHAR * streams)
|
|||||||
node = *ptr;
|
node = *ptr;
|
||||||
if (node->nod_type != nod_rse) {
|
if (node->nod_type != nod_rse) {
|
||||||
assert(streams[0] < MAX_STREAMS && streams[0] < MAX_UCHAR);
|
assert(streams[0] < MAX_STREAMS && streams[0] < MAX_UCHAR);
|
||||||
streams[++streams[0]] = (UCHAR) node->nod_arg[STREAM_INDEX(node)];
|
streams[++streams[0]] = (UCHAR) (IPTR) node->nod_arg[STREAM_INDEX(node)];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
compute_rse_streams(csb, (RSE) node, streams);
|
compute_rse_streams(csb, (RSE) node, streams);
|
||||||
@ -2286,7 +2286,7 @@ static BOOLEAN dump_index(JRD_NOD node,
|
|||||||
else if (node->nod_type == nod_index) {
|
else if (node->nod_type == nod_index) {
|
||||||
retrieval = (IRB) node->nod_arg[e_idx_retrieval];
|
retrieval = (IRB) node->nod_arg[e_idx_retrieval];
|
||||||
MET_lookup_index(tdbb, index_name, retrieval->irb_relation->rel_name,
|
MET_lookup_index(tdbb, index_name, retrieval->irb_relation->rel_name,
|
||||||
(USHORT) (retrieval->irb_index + 1));
|
(USHORT) (IPTR) (retrieval->irb_index + 1));
|
||||||
length = strlen(index_name);
|
length = strlen(index_name);
|
||||||
|
|
||||||
*buffer_length -= 1 + length;
|
*buffer_length -= 1 + length;
|
||||||
@ -3289,7 +3289,7 @@ static JRD_NOD find_dbkey(JRD_NOD dbkey, USHORT stream, SLONG * position)
|
|||||||
JRD_NOD dbkey_temp, *ptr, *end;
|
JRD_NOD dbkey_temp, *ptr, *end;
|
||||||
DEV_BLKCHK(dbkey, type_nod);
|
DEV_BLKCHK(dbkey, type_nod);
|
||||||
if (dbkey->nod_type == nod_dbkey) {
|
if (dbkey->nod_type == nod_dbkey) {
|
||||||
if ((USHORT) dbkey->nod_arg[0] == stream)
|
if ((USHORT) (IPTR) dbkey->nod_arg[0] == stream)
|
||||||
return dbkey;
|
return dbkey;
|
||||||
else {
|
else {
|
||||||
*position = *position + 1;
|
*position = *position + 1;
|
||||||
@ -3550,7 +3550,7 @@ static void form_rivers(TDBB tdbb,
|
|||||||
|
|
||||||
temp[0]++;
|
temp[0]++;
|
||||||
relation_node = plan_node->nod_arg[e_retrieve_relation];
|
relation_node = plan_node->nod_arg[e_retrieve_relation];
|
||||||
temp[temp[0]] = (UCHAR) relation_node->nod_arg[e_rel_stream];
|
temp[temp[0]] = (UCHAR) (IPTR) relation_node->nod_arg[e_rel_stream];
|
||||||
}
|
}
|
||||||
|
|
||||||
// just because the user specified a join does not mean that
|
// just because the user specified a join does not mean that
|
||||||
@ -3724,7 +3724,7 @@ static RSB gen_aggregate(TDBB tdbb, OPT opt, JRD_NOD node)
|
|||||||
rsb->rsb_type = rsb_aggregate;
|
rsb->rsb_type = rsb_aggregate;
|
||||||
assert((int)node->nod_arg[e_agg_stream] <= MAX_STREAMS);
|
assert((int)node->nod_arg[e_agg_stream] <= MAX_STREAMS);
|
||||||
assert((int)node->nod_arg[e_agg_stream] <= MAX_UCHAR);
|
assert((int)node->nod_arg[e_agg_stream] <= MAX_UCHAR);
|
||||||
rsb->rsb_stream = (UCHAR) node->nod_arg[e_agg_stream];
|
rsb->rsb_stream = (UCHAR) (IPTR) node->nod_arg[e_agg_stream];
|
||||||
rsb->rsb_format = csb->csb_rpt[rsb->rsb_stream].csb_format;
|
rsb->rsb_format = csb->csb_rpt[rsb->rsb_stream].csb_format;
|
||||||
rsb->rsb_next = OPT_compile(tdbb, csb, rse, NULL);
|
rsb->rsb_next = OPT_compile(tdbb, csb, rse, NULL);
|
||||||
rsb->rsb_arg[0] = (RSB) node;
|
rsb->rsb_arg[0] = (RSB) node;
|
||||||
@ -4088,8 +4088,8 @@ static RSB gen_navigation(TDBB tdbb,
|
|||||||
idx->idx_rpt; ptr < end; ptr++, idx_tail++) {
|
idx->idx_rpt; ptr < end; ptr++, idx_tail++) {
|
||||||
node = *ptr;
|
node = *ptr;
|
||||||
if (node->nod_type != nod_field
|
if (node->nod_type != nod_field
|
||||||
|| (USHORT) node->nod_arg[e_fld_stream] != stream
|
|| (USHORT) (IPTR) node->nod_arg[e_fld_stream] != stream
|
||||||
|| (USHORT) node->nod_arg[e_fld_id] != idx_tail->idx_field
|
|| (USHORT) (IPTR) node->nod_arg[e_fld_id] != idx_tail->idx_field
|
||||||
|| ptr[2*sort->nod_count] /* do not use index if NULLS FIRST is used */
|
|| ptr[2*sort->nod_count] /* do not use index if NULLS FIRST is used */
|
||||||
#ifdef SCROLLABLE_CURSORS
|
#ifdef SCROLLABLE_CURSORS
|
||||||
)
|
)
|
||||||
@ -4249,7 +4249,7 @@ static RSB gen_outer(TDBB tdbb,
|
|||||||
{
|
{
|
||||||
stream_ptr[i]->stream_rsb = NULL;
|
stream_ptr[i]->stream_rsb = NULL;
|
||||||
stream_ptr[i]->stream_num =
|
stream_ptr[i]->stream_num =
|
||||||
(USHORT) node->nod_arg[STREAM_INDEX(node)];
|
(USHORT) (IPTR) node->nod_arg[STREAM_INDEX(node)];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4327,10 +4327,10 @@ static RSB gen_procedure(TDBB tdbb, OPT opt, JRD_NOD node)
|
|||||||
SET_TDBB(tdbb);
|
SET_TDBB(tdbb);
|
||||||
csb = opt->opt_csb;
|
csb = opt->opt_csb;
|
||||||
procedure = MET_lookup_procedure_id(tdbb,
|
procedure = MET_lookup_procedure_id(tdbb,
|
||||||
(SSHORT)node->nod_arg[e_prc_procedure], FALSE, FALSE, 0);
|
(SSHORT) (IPTR) node->nod_arg[e_prc_procedure], FALSE, FALSE, 0);
|
||||||
rsb = FB_NEW_RPT(*tdbb->tdbb_default, RSB_PRC_count) Rsb();
|
rsb = FB_NEW_RPT(*tdbb->tdbb_default, RSB_PRC_count) Rsb();
|
||||||
rsb->rsb_type = rsb_procedure;
|
rsb->rsb_type = rsb_procedure;
|
||||||
rsb->rsb_stream = (UCHAR) node->nod_arg[e_prc_stream];
|
rsb->rsb_stream = (UCHAR) (IPTR) node->nod_arg[e_prc_stream];
|
||||||
rsb->rsb_procedure = procedure;
|
rsb->rsb_procedure = procedure;
|
||||||
rsb->rsb_format = procedure->prc_format;
|
rsb->rsb_format = procedure->prc_format;
|
||||||
rsb->rsb_impure = CMP_impure(csb, sizeof(struct irsb_procedure));
|
rsb->rsb_impure = CMP_impure(csb, sizeof(struct irsb_procedure));
|
||||||
@ -4943,8 +4943,8 @@ static RSB gen_sort(TDBB tdbb,
|
|||||||
for (node_ptr = sort->nod_arg; node_ptr < end_node; node_ptr++) {
|
for (node_ptr = sort->nod_arg; node_ptr < end_node; node_ptr++) {
|
||||||
node = *node_ptr;
|
node = *node_ptr;
|
||||||
if (node->nod_type == nod_field
|
if (node->nod_type == nod_field
|
||||||
&& (USHORT) node->nod_arg[e_fld_stream] == *ptr
|
&& (USHORT) (IPTR) node->nod_arg[e_fld_stream] == *ptr
|
||||||
&& (USHORT) node->nod_arg[e_fld_id] == id) {
|
&& (USHORT) (IPTR) node->nod_arg[e_fld_id] == id) {
|
||||||
desc = &descriptor;
|
desc = &descriptor;
|
||||||
CMP_get_desc(tdbb, csb, node, desc);
|
CMP_get_desc(tdbb, csb, node, desc);
|
||||||
/* International type text has a computed key */
|
/* International type text has a computed key */
|
||||||
@ -5041,8 +5041,8 @@ static RSB gen_sort(TDBB tdbb,
|
|||||||
map_item->smb_desc.dsc_address = (UCHAR *) map_length;
|
map_item->smb_desc.dsc_address = (UCHAR *) map_length;
|
||||||
map_length += desc->dsc_length;
|
map_length += desc->dsc_length;
|
||||||
if (node->nod_type == nod_field) {
|
if (node->nod_type == nod_field) {
|
||||||
map_item->smb_stream = (USHORT) node->nod_arg[e_fld_stream];
|
map_item->smb_stream = (USHORT) (IPTR) node->nod_arg[e_fld_stream];
|
||||||
map_item->smb_field_id = (USHORT) node->nod_arg[e_fld_id];
|
map_item->smb_field_id = (USHORT) (IPTR) node->nod_arg[e_fld_id];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5054,8 +5054,8 @@ static RSB gen_sort(TDBB tdbb,
|
|||||||
field has already been mentioned as a sort key, don't bother to repeat
|
field has already been mentioned as a sort key, don't bother to repeat
|
||||||
it. */
|
it. */
|
||||||
while (stream_stack) {
|
while (stream_stack) {
|
||||||
id = (USHORT) LLS_POP(&id_stack);
|
id = (USHORT) (IPTR) LLS_POP(&id_stack);
|
||||||
stream = (USHORT) LLS_POP(&stream_stack);
|
stream = (USHORT) (IPTR) LLS_POP(&stream_stack);
|
||||||
format = CMP_format(tdbb, csb, stream);
|
format = CMP_format(tdbb, csb, stream);
|
||||||
desc = &format->fmt_desc[id];
|
desc = &format->fmt_desc[id];
|
||||||
if (id >= format->fmt_count || desc->dsc_length == 0)
|
if (id >= format->fmt_count || desc->dsc_length == 0)
|
||||||
@ -5384,7 +5384,7 @@ static RSB gen_union(TDBB tdbb,
|
|||||||
rsb = FB_NEW_RPT(*tdbb->tdbb_default, count + nstreams + 1) Rsb();
|
rsb = FB_NEW_RPT(*tdbb->tdbb_default, count + nstreams + 1) Rsb();
|
||||||
rsb->rsb_type = rsb_union;
|
rsb->rsb_type = rsb_union;
|
||||||
rsb->rsb_count = count;
|
rsb->rsb_count = count;
|
||||||
rsb->rsb_stream = (UCHAR) union_node->nod_arg[e_uni_stream];
|
rsb->rsb_stream = (UCHAR) (IPTR) union_node->nod_arg[e_uni_stream];
|
||||||
rsb->rsb_format = csb->csb_rpt[rsb->rsb_stream].csb_format;
|
rsb->rsb_format = csb->csb_rpt[rsb->rsb_stream].csb_format;
|
||||||
rsb->rsb_impure = CMP_impure(csb, sizeof(struct irsb));
|
rsb->rsb_impure = CMP_impure(csb, sizeof(struct irsb));
|
||||||
rsb_ptr = rsb->rsb_arg;
|
rsb_ptr = rsb->rsb_arg;
|
||||||
@ -5926,8 +5926,8 @@ static JRD_NOD make_missing(TDBB tdbb,
|
|||||||
field = boolean->nod_arg[0];
|
field = boolean->nod_arg[0];
|
||||||
if (field->nod_type != nod_field)
|
if (field->nod_type != nod_field)
|
||||||
return NULL;
|
return NULL;
|
||||||
if ((USHORT) field->nod_arg[e_fld_stream] != stream ||
|
if ((USHORT) (IPTR) field->nod_arg[e_fld_stream] != stream ||
|
||||||
(USHORT) field->nod_arg[e_fld_id] != idx->idx_rpt[0].idx_field)
|
(USHORT) (IPTR) field->nod_arg[e_fld_id] != idx->idx_rpt[0].idx_field)
|
||||||
return NULL;
|
return NULL;
|
||||||
node = make_index_node(tdbb, relation, opt->opt_csb, idx);
|
node = make_index_node(tdbb, relation, opt->opt_csb, idx);
|
||||||
retrieval = (IRB) node->nod_arg[e_idx_retrieval];
|
retrieval = (IRB) node->nod_arg[e_idx_retrieval];
|
||||||
@ -5995,8 +5995,8 @@ static JRD_NOD make_starts(TDBB tdbb,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((USHORT) field->nod_arg[e_fld_stream] != stream ||
|
if ((USHORT) (IPTR) field->nod_arg[e_fld_stream] != stream ||
|
||||||
(USHORT) field->nod_arg[e_fld_id] != idx->idx_rpt[0].idx_field
|
(USHORT) (IPTR) field->nod_arg[e_fld_id] != idx->idx_rpt[0].idx_field
|
||||||
|| !(idx->idx_rpt[0].idx_itype == idx_string
|
|| !(idx->idx_rpt[0].idx_itype == idx_string
|
||||||
|| idx->idx_rpt[0].idx_itype == idx_byte_array
|
|| idx->idx_rpt[0].idx_itype == idx_byte_array
|
||||||
|| idx->idx_rpt[0].idx_itype == idx_metadata
|
|| idx->idx_rpt[0].idx_itype == idx_metadata
|
||||||
@ -6094,10 +6094,10 @@ static void mark_indices(csb_repeat * csb_tail, SSHORT relation_id)
|
|||||||
if (access_type) {
|
if (access_type) {
|
||||||
for (arg = access_type->nod_arg, end = arg + plan_count;
|
for (arg = access_type->nod_arg, end = arg + plan_count;
|
||||||
arg < end; arg += 3) {
|
arg < end; arg += 3) {
|
||||||
if (relation_id != (SSHORT) * arg)
|
if (relation_id != (SSHORT) (IPTR) arg[0])
|
||||||
/* index %s cannot be used in the specified plan */
|
/* index %s cannot be used in the specified plan */
|
||||||
ERR_post(gds_index_unused, gds_arg_string, *(arg + 2), 0);
|
ERR_post(gds_index_unused, gds_arg_string, *(arg + 2), 0);
|
||||||
if (idx->idx_id == (USHORT) * (arg + 1))
|
if (idx->idx_id == (USHORT) (IPTR) arg[1])
|
||||||
if (access_type->nod_type == nod_navigational)
|
if (access_type->nod_type == nod_navigational)
|
||||||
idx->idx_runtime_flags |= idx_plan_navigate;
|
idx->idx_runtime_flags |= idx_plan_navigate;
|
||||||
else /* nod_indices */
|
else /* nod_indices */
|
||||||
@ -6169,13 +6169,13 @@ static SSHORT match_index(TDBB tdbb,
|
|||||||
If left side is still not a field, give up */
|
If left side is still not a field, give up */
|
||||||
|
|
||||||
if (match->nod_type != nod_field ||
|
if (match->nod_type != nod_field ||
|
||||||
(USHORT) match->nod_arg[e_fld_stream] != stream ||
|
(USHORT) (IPTR) match->nod_arg[e_fld_stream] != stream ||
|
||||||
!computable(opt->opt_csb, value, stream, true, false))
|
!computable(opt->opt_csb, value, stream, true, false))
|
||||||
{
|
{
|
||||||
match = value;
|
match = value;
|
||||||
value = boolean->nod_arg[0];
|
value = boolean->nod_arg[0];
|
||||||
if (match->nod_type != nod_field ||
|
if (match->nod_type != nod_field ||
|
||||||
(USHORT) match->nod_arg[e_fld_stream] != stream ||
|
(USHORT) (IPTR) match->nod_arg[e_fld_stream] != stream ||
|
||||||
!computable(opt->opt_csb, value, stream, true, false))
|
!computable(opt->opt_csb, value, stream, true, false))
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@ -6194,7 +6194,7 @@ static SSHORT match_index(TDBB tdbb,
|
|||||||
#ifdef EXPRESSION_INDICES
|
#ifdef EXPRESSION_INDICES
|
||||||
(idx->idx_expression ||
|
(idx->idx_expression ||
|
||||||
#endif
|
#endif
|
||||||
((USHORT) match->nod_arg[e_fld_id] == idx->idx_rpt[i].idx_field)
|
((USHORT) (IPTR) match->nod_arg[e_fld_id] == idx->idx_rpt[i].idx_field)
|
||||||
#ifdef EXPRESSION_INDICES
|
#ifdef EXPRESSION_INDICES
|
||||||
)
|
)
|
||||||
#endif
|
#endif
|
||||||
@ -6323,7 +6323,7 @@ static USHORT nav_rsb_size(RSB rsb, USHORT key_length, USHORT size)
|
|||||||
#else
|
#else
|
||||||
size += sizeof(struct irsb_nav) + 2 * key_length;
|
size += sizeof(struct irsb_nav) + 2 * key_length;
|
||||||
#endif
|
#endif
|
||||||
size = FB_ALIGN(size, ALIGNMENT);
|
size = FB_ALIGN(size, FB_ALIGNMENT);
|
||||||
/* make room for an idx structure to describe the index
|
/* make room for an idx structure to describe the index
|
||||||
that was used to generate this rsb */
|
that was used to generate this rsb */
|
||||||
if (rsb->rsb_type == rsb_navigate)
|
if (rsb->rsb_type == rsb_navigate)
|
||||||
@ -6582,7 +6582,7 @@ static BOOLEAN river_reference(RIV river, JRD_NOD node)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
for (streams = river->riv_streams, end =
|
for (streams = river->riv_streams, end =
|
||||||
streams + river->riv_count; streams < end; streams++)
|
streams + river->riv_count; streams < end; streams++)
|
||||||
if ((USHORT) node->nod_arg[e_fld_stream] == *streams)
|
if ((USHORT) (IPTR) node->nod_arg[e_fld_stream] == *streams)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -6779,7 +6779,7 @@ static void set_rse_inactive(CSB csb, RSE rse)
|
|||||||
ptr < end; ptr++) {
|
ptr < end; ptr++) {
|
||||||
node = *ptr;
|
node = *ptr;
|
||||||
if (node->nod_type != nod_rse) {
|
if (node->nod_type != nod_rse) {
|
||||||
stream = (USHORT) node->nod_arg[STREAM_INDEX(node)];
|
stream = (USHORT) (IPTR) node->nod_arg[STREAM_INDEX(node)];
|
||||||
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
csb->csb_rpt[stream].csb_flags &= ~csb_active;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
$Id: par.cpp,v 1.43.2.5 2004-06-19 08:11:45 dimitr Exp $
|
$Id: par.cpp,v 1.43.2.6 2006-11-05 14:38:11 alexpeshkoff Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "firebird.h"
|
#include "firebird.h"
|
||||||
@ -2518,7 +2518,7 @@ static JRD_NOD parse(TDBB tdbb, CSB * csb, USHORT expected)
|
|||||||
node->nod_arg[e_agg_rse] = parse(tdbb, csb, TYPE_RSE);
|
node->nod_arg[e_agg_rse] = parse(tdbb, csb, TYPE_RSE);
|
||||||
node->nod_arg[e_agg_group] = parse(tdbb, csb, OTHER);
|
node->nod_arg[e_agg_group] = parse(tdbb, csb, OTHER);
|
||||||
node->nod_arg[e_agg_map] =
|
node->nod_arg[e_agg_map] =
|
||||||
par_map(tdbb, csb, (USHORT) node->nod_arg[e_agg_stream]);
|
par_map(tdbb, csb, (USHORT) (IPTR) node->nod_arg[e_agg_stream]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case blr_group_by:
|
case blr_group_by:
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
*
|
*
|
||||||
* $Id: rse.cpp,v 1.28.2.5 2004-10-09 14:14:53 dimitr Exp $
|
* $Id: rse.cpp,v 1.28.2.6 2006-11-05 14:38:12 alexpeshkoff Exp $
|
||||||
*
|
*
|
||||||
* 2001.07.28: John Bellardo: Implemented rse_skip and made rse_first work with
|
* 2001.07.28: John Bellardo: Implemented rse_skip and made rse_first work with
|
||||||
* seekable streams.
|
* seekable streams.
|
||||||
@ -730,8 +730,8 @@ void RSE_open(TDBB tdbb, RSB rsb)
|
|||||||
/* Initialize the record number of each stream in the union */
|
/* Initialize the record number of each stream in the union */
|
||||||
|
|
||||||
ptr = &rsb->rsb_arg[rsb->rsb_count];
|
ptr = &rsb->rsb_arg[rsb->rsb_count];
|
||||||
for (end = ptr + (USHORT) * ptr; ++ptr <= end;)
|
for (end = ptr + (USHORT) (IPTR) *ptr; ++ptr <= end;)
|
||||||
request->req_rpb[(USHORT) * ptr].rpb_number = -1;
|
request->req_rpb[(USHORT) (IPTR) *ptr].rpb_number = -1;
|
||||||
|
|
||||||
rsb = rsb->rsb_arg[0];
|
rsb = rsb->rsb_arg[0];
|
||||||
}
|
}
|
||||||
@ -2124,14 +2124,14 @@ static BOOLEAN get_procedure(TDBB tdbb,
|
|||||||
msg_format = (FMT) procedure->prc_output_msg->nod_arg[e_msg_format];
|
msg_format = (FMT) procedure->prc_output_msg->nod_arg[e_msg_format];
|
||||||
if (!impure->irsb_message)
|
if (!impure->irsb_message)
|
||||||
{
|
{
|
||||||
size = msg_format->fmt_length + ALIGNMENT;
|
size = msg_format->fmt_length + FB_ALIGNMENT;
|
||||||
impure->irsb_message = FB_NEW_RPT(*tdbb->tdbb_default, size) str();
|
impure->irsb_message = FB_NEW_RPT(*tdbb->tdbb_default, size) str();
|
||||||
impure->irsb_message->str_length = size;
|
impure->irsb_message->str_length = size;
|
||||||
}
|
}
|
||||||
om =
|
om =
|
||||||
(UCHAR *) FB_ALIGN((U_IPTR) impure->irsb_message->str_data,
|
(UCHAR *) FB_ALIGN((U_IPTR) impure->irsb_message->str_data,
|
||||||
ALIGNMENT);
|
FB_ALIGNMENT);
|
||||||
oml = impure->irsb_message->str_length - ALIGNMENT;
|
oml = impure->irsb_message->str_length - FB_ALIGNMENT;
|
||||||
|
|
||||||
if (!rpb->rpb_record) {
|
if (!rpb->rpb_record) {
|
||||||
record = rpb->rpb_record =
|
record = rpb->rpb_record =
|
||||||
@ -2914,7 +2914,7 @@ static void join_to_nulls(TDBB tdbb, RSB rsb, USHORT streams)
|
|||||||
request = tdbb->tdbb_request;
|
request = tdbb->tdbb_request;
|
||||||
stack = (LLS) rsb->rsb_arg[streams];
|
stack = (LLS) rsb->rsb_arg[streams];
|
||||||
for (; stack; stack = stack->lls_next) {
|
for (; stack; stack = stack->lls_next) {
|
||||||
rpb = &request->req_rpb[(USHORT) stack->lls_object];
|
rpb = &request->req_rpb[(USHORT) (IPTR) stack->lls_object];
|
||||||
|
|
||||||
/* Make sure a record block has been allocated. If there isn't
|
/* Make sure a record block has been allocated. If there isn't
|
||||||
one, first find the format, then allocate the record block */
|
one, first find the format, then allocate the record block */
|
||||||
@ -2972,7 +2972,7 @@ static void map_sort_data(JRD_REQ request, SMB map, UCHAR * data)
|
|||||||
list that contains the data to send back
|
list that contains the data to send back
|
||||||
*/
|
*/
|
||||||
if (IS_INTL_DATA(&item->smb_desc) &&
|
if (IS_INTL_DATA(&item->smb_desc) &&
|
||||||
(USHORT) item->smb_desc.dsc_address <
|
(USHORT) (IPTR) item->smb_desc.dsc_address <
|
||||||
map->smb_key_length * sizeof(ULONG)) continue;
|
map->smb_key_length * sizeof(ULONG)) continue;
|
||||||
|
|
||||||
rpb = &request->req_rpb[item->smb_stream];
|
rpb = &request->req_rpb[item->smb_stream];
|
||||||
@ -3238,7 +3238,7 @@ static void open_sort(TDBB tdbb, RSB rsb, IRSB_SORT impure, ULONG max_records)
|
|||||||
the sort record, then want to sort by language dependent order */
|
the sort record, then want to sort by language dependent order */
|
||||||
|
|
||||||
if (IS_INTL_DATA(&item->smb_desc) &&
|
if (IS_INTL_DATA(&item->smb_desc) &&
|
||||||
(USHORT) item->smb_desc.dsc_address <
|
(USHORT) (IPTR) item->smb_desc.dsc_address <
|
||||||
map->smb_key_length * sizeof(ULONG)) {
|
map->smb_key_length * sizeof(ULONG)) {
|
||||||
INTL_string_to_key(tdbb, INTL_INDEX_TYPE(&item->smb_desc),
|
INTL_string_to_key(tdbb, INTL_INDEX_TYPE(&item->smb_desc),
|
||||||
from, &to, FALSE);
|
from, &to, FALSE);
|
||||||
@ -3351,8 +3351,8 @@ static void proc_assignment(
|
|||||||
else if (desc1.dsc_dtype == dtype_int64)
|
else if (desc1.dsc_dtype == dtype_int64)
|
||||||
*((SINT64 *) desc2.dsc_address) = *((SINT64 *) desc1.dsc_address);
|
*((SINT64 *) desc2.dsc_address) = *((SINT64 *) desc1.dsc_address);
|
||||||
|
|
||||||
else if (((U_IPTR) desc1.dsc_address & (ALIGNMENT - 1)) ||
|
else if (((U_IPTR) desc1.dsc_address & (FB_ALIGNMENT - 1)) ||
|
||||||
((U_IPTR) desc2.dsc_address & (ALIGNMENT - 1)))
|
((U_IPTR) desc2.dsc_address & (FB_ALIGNMENT - 1)))
|
||||||
MOVE_FAST(desc1.dsc_address, desc2.dsc_address, desc1.dsc_length);
|
MOVE_FAST(desc1.dsc_address, desc2.dsc_address, desc1.dsc_length);
|
||||||
|
|
||||||
else
|
else
|
||||||
|
@ -51,9 +51,9 @@ extern "C" {
|
|||||||
/* must be careful with alignment on structures like this that are
|
/* must be careful with alignment on structures like this that are
|
||||||
not run through the ALL routine */
|
not run through the ALL routine */
|
||||||
|
|
||||||
typedef struct thread {
|
typedef struct sch_thread {
|
||||||
struct thread *thread_next; /* Next thread to be scheduled */
|
struct sch_thread *thread_next; /* Next thread to be scheduled */
|
||||||
struct thread *thread_prior; /* Prior thread */
|
struct sch_thread *thread_prior; /* Prior thread */
|
||||||
EVENT_T thread_stall[1]; /* Generic event to stall thread */
|
EVENT_T thread_stall[1]; /* Generic event to stall thread */
|
||||||
FB_THREAD_ID thread_id; /* Current thread id */
|
FB_THREAD_ID thread_id; /* Current thread id */
|
||||||
USHORT thread_count; /* AST disable count */
|
USHORT thread_count; /* AST disable count */
|
||||||
@ -681,7 +681,7 @@ static THREAD alloc_thread(void)
|
|||||||
if (thread = free_threads)
|
if (thread = free_threads)
|
||||||
free_threads = thread->thread_next;
|
free_threads = thread->thread_next;
|
||||||
else {
|
else {
|
||||||
thread = (THREAD) gds__alloc((SLONG) sizeof(struct thread));
|
thread = (THREAD) gds__alloc((SLONG) sizeof(struct sch_thread));
|
||||||
/* FREE: unknown */
|
/* FREE: unknown */
|
||||||
if (!thread) /* NOMEM: bugcheck */
|
if (!thread) /* NOMEM: bugcheck */
|
||||||
mutex_bugcheck("Out of memory", 0); /* no real error handling */
|
mutex_bugcheck("Out of memory", 0); /* no real error handling */
|
||||||
|
@ -35,7 +35,7 @@ extern void API_ROUTINE gds__thread_enter(void);
|
|||||||
extern void API_ROUTINE gds__thread_exit(void);
|
extern void API_ROUTINE gds__thread_exit(void);
|
||||||
extern void SCH_abort(void);
|
extern void SCH_abort(void);
|
||||||
extern void SCH_ast(enum ast_t);
|
extern void SCH_ast(enum ast_t);
|
||||||
extern struct thread *SCH_current_thread(void);
|
extern struct sch_thread *SCH_current_thread(void);
|
||||||
extern void SCH_enter(void);
|
extern void SCH_enter(void);
|
||||||
extern void SCH_exit(void);
|
extern void SCH_exit(void);
|
||||||
extern void SCH_hiber(void);
|
extern void SCH_hiber(void);
|
||||||
@ -43,7 +43,7 @@ extern void SCH_init(void);
|
|||||||
extern int SCH_schedule(void);
|
extern int SCH_schedule(void);
|
||||||
extern BOOLEAN SCH_thread_enter_check(void);
|
extern BOOLEAN SCH_thread_enter_check(void);
|
||||||
extern BOOLEAN SCH_validate(void);
|
extern BOOLEAN SCH_validate(void);
|
||||||
extern void SCH_wake(struct thread *);
|
extern void SCH_wake(struct sch_thread *);
|
||||||
#ifdef VMS
|
#ifdef VMS
|
||||||
extern int API_ROUTINE gds__ast_active(void);
|
extern int API_ROUTINE gds__ast_active(void);
|
||||||
extern void API_ROUTINE gds__completion_ast(void);
|
extern void API_ROUTINE gds__completion_ast(void);
|
||||||
|
@ -36,7 +36,9 @@
|
|||||||
#include "../jrd/sdl_proto.h"
|
#include "../jrd/sdl_proto.h"
|
||||||
|
|
||||||
#ifndef DEV_BUILD
|
#ifndef DEV_BUILD
|
||||||
|
#undef _assert
|
||||||
#define _assert(ex)
|
#define _assert(ex)
|
||||||
|
#undef assert
|
||||||
#define assert(ex)
|
#define assert(ex)
|
||||||
|
|
||||||
#else // DEV_BUILD
|
#else // DEV_BUILD
|
||||||
|
@ -54,6 +54,9 @@
|
|||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef AIX
|
||||||
|
extern "C" int sched_yield(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
||||||
@ -1867,7 +1870,7 @@ static int thread_start(
|
|||||||
pthread_attr_t pattr;
|
pthread_attr_t pattr;
|
||||||
int state;
|
int state;
|
||||||
|
|
||||||
#if ( !defined HP10 && !defined LINUX && !defined FREEBSD )
|
#if ( !defined HP10 && !defined LINUX && !defined FREEBSD && !defined AIX)
|
||||||
state = pthread_attr_init(&pattr);
|
state = pthread_attr_init(&pattr);
|
||||||
if (state)
|
if (state)
|
||||||
return state;
|
return state;
|
||||||
@ -1885,11 +1888,23 @@ static int thread_start(
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
#if ( defined LINUX || defined FREEBSD )
|
#if ( defined LINUX || defined FREEBSD )
|
||||||
if (state = pthread_create(&thread, NULL, (void*(*)(void*))routine, arg))
|
if (state = pthread_create(&thread, NULL, (void*(*)(void*))routine, arg))
|
||||||
return state;
|
return state;
|
||||||
return pthread_detach(thread);
|
return pthread_detach(thread);
|
||||||
|
#elif defined (_AIX)
|
||||||
|
state = pthread_attr_init(&pattr);
|
||||||
|
if (state)
|
||||||
|
return state;
|
||||||
|
pthread_attr_setdetachstate(&pattr, PTHREAD_CREATE_DETACHED);
|
||||||
|
// AIX has a default of PTHREAD_SCOPE_PROCESS
|
||||||
|
pthread_attr_setscope(&pattr, PTHREAD_SCOPE_SYSTEM);
|
||||||
|
// AIX default stack size is PTHREAD_STACK_MIN which is too small
|
||||||
|
pthread_attr_setstacksize(&pattr, 1024*1024);
|
||||||
|
state = pthread_create(&thread, &pattr, (void*(*)(void*))routine, arg);
|
||||||
|
pthread_attr_destroy(&pattr);
|
||||||
|
return state;
|
||||||
#else
|
#else
|
||||||
long stack_size;
|
long stack_size;
|
||||||
|
|
||||||
state = pthread_attr_create(&pattr);
|
state = pthread_attr_create(&pattr);
|
||||||
if (state) {
|
if (state) {
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
$Id: thd.h,v 1.12.2.4 2004-09-17 23:34:14 skidder Exp $
|
$Id: thd.h,v 1.12.2.5 2006-11-05 14:38:13 alexpeshkoff Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _JRD_THD_H_
|
#ifndef _JRD_THD_H_
|
||||||
@ -58,6 +58,10 @@ $Id: thd.h,v 1.12.2.4 2004-09-17 23:34:14 skidder Exp $
|
|||||||
#define POSIX_THREADS 1
|
#define POSIX_THREADS 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (defined(AIX) && defined(SUPERSERVER))
|
||||||
|
#define POSIX_THREADS 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/* The following ifdef was added to build thread safe gds shared
|
/* The following ifdef was added to build thread safe gds shared
|
||||||
library on linux platform. It seems the gdslib works now (20020220)
|
library on linux platform. It seems the gdslib works now (20020220)
|
||||||
with thread enabled applications. Anyway, more tests should be
|
with thread enabled applications. Anyway, more tests should be
|
||||||
@ -77,6 +81,10 @@ $Id: thd.h,v 1.12.2.4 2004-09-17 23:34:14 skidder Exp $
|
|||||||
#define POSIX_THREADS 1
|
#define POSIX_THREADS 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (defined(AIX) && defined(SUPERCLIENT))
|
||||||
|
#define POSIX_THREADS 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef VMS
|
#ifdef VMS
|
||||||
/*
|
/*
|
||||||
#define POSIX_THREADS 1
|
#define POSIX_THREADS 1
|
||||||
@ -261,8 +269,8 @@ typedef struct wlck_t {
|
|||||||
|
|
||||||
/* Threading allocation size */
|
/* Threading allocation size */
|
||||||
|
|
||||||
#define THREAD_STRUCT_SIZE(type,n) (n * sizeof (type) + ALIGNMENT)
|
#define THREAD_STRUCT_SIZE(type,n) (n * sizeof (type) + FB_ALIGNMENT)
|
||||||
#define THREAD_STRUCT_ALIGN(blk) FB_ALIGN((U_IPTR) blk, ALIGNMENT)
|
#define THREAD_STRUCT_ALIGN(blk) FB_ALIGN((U_IPTR) blk, FB_ALIGNMENT)
|
||||||
|
|
||||||
#ifdef V4_THREADING
|
#ifdef V4_THREADING
|
||||||
#define V4_INIT THD_init()
|
#define V4_INIT THD_init()
|
||||||
|
@ -48,6 +48,9 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_AIO_H
|
#ifdef HAVE_AIO_H
|
||||||
|
#ifdef AIX_PPC
|
||||||
|
#include <signal.h>
|
||||||
|
#endif
|
||||||
#include <aio.h>
|
#include <aio.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
$Id: lock.cpp,v 1.56.2.7 2004-03-29 04:35:49 skidder Exp $
|
$Id: lock.cpp,v 1.56.2.8 2006-11-05 14:38:17 alexpeshkoff Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "firebird.h"
|
#include "firebird.h"
|
||||||
@ -1597,7 +1597,7 @@ static UCHAR *alloc( SSHORT size, ISC_STATUS * status_vector)
|
|||||||
**************************************/
|
**************************************/
|
||||||
ULONG block;
|
ULONG block;
|
||||||
|
|
||||||
size = FB_ALIGN(size, ALIGNMENT);
|
size = FB_ALIGN(size, FB_ALIGNMENT);
|
||||||
ASSERT_ACQUIRED;
|
ASSERT_ACQUIRED;
|
||||||
block = LOCK_header->lhb_used;
|
block = LOCK_header->lhb_used;
|
||||||
LOCK_header->lhb_used += size;
|
LOCK_header->lhb_used += size;
|
||||||
@ -3297,7 +3297,7 @@ static void lock_initialize( void *arg, SH_MEM shmem_data, int initialize)
|
|||||||
sizeof(struct lhb) +
|
sizeof(struct lhb) +
|
||||||
(LOCK_header->lhb_hash_slots * sizeof(LOCK_header->lhb_hash[0]));
|
(LOCK_header->lhb_hash_slots * sizeof(LOCK_header->lhb_hash[0]));
|
||||||
LOCK_header->lhb_length = shmem_data->sh_mem_length_mapped;
|
LOCK_header->lhb_length = shmem_data->sh_mem_length_mapped;
|
||||||
LOCK_header->lhb_used = FB_ALIGN(length, ALIGNMENT);
|
LOCK_header->lhb_used = FB_ALIGN(length, FB_ALIGNMENT);
|
||||||
|
|
||||||
if (!(shb = (SHB) alloc(sizeof(struct shb), NULL)))
|
if (!(shb = (SHB) alloc(sizeof(struct shb), NULL)))
|
||||||
{
|
{
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
$Id: all.cpp,v 1.14 2003-04-16 10:18:15 aafemt Exp $
|
$Id: all.cpp,v 1.14.2.1 2006-11-05 14:38:22 alexpeshkoff Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/***************************************************
|
/***************************************************
|
||||||
@ -98,9 +98,9 @@ BLK ALLQ_alloc( PLB pool, UCHAR type, int count)
|
|||||||
size += count * tail;
|
size += count * tail;
|
||||||
|
|
||||||
#ifndef VMS
|
#ifndef VMS
|
||||||
size = FB_ALIGN(size, ALIGNMENT);
|
size = FB_ALIGN(size, FB_ALIGNMENT);
|
||||||
#else
|
#else
|
||||||
size = ((size + ALIGNMENT - 1) & ~(ALIGNMENT - 1));
|
size = ((size + FB_ALIGNMENT - 1) & ~(FB_ALIGNMENT - 1));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (size <= 4 || size > 65535)
|
if (size <= 4 || size > 65535)
|
||||||
|
@ -311,32 +311,32 @@ void CMD_set( SYN node)
|
|||||||
ptr = node->syn_arg;
|
ptr = node->syn_arg;
|
||||||
|
|
||||||
for (i = 0; i < node->syn_count; i++) {
|
for (i = 0; i < node->syn_count; i++) {
|
||||||
foo = (USHORT) * ptr++;
|
foo = (USHORT) (IPTR) * ptr++;
|
||||||
sw = (ENUM set_t) foo;
|
sw = (ENUM set_t) foo;
|
||||||
value = *ptr++;
|
value = *ptr++;
|
||||||
switch (sw) {
|
switch (sw) {
|
||||||
case set_blr:
|
case set_blr:
|
||||||
QLI_blr = (USHORT) value;
|
QLI_blr = (USHORT) (IPTR) value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case set_statistics:
|
case set_statistics:
|
||||||
QLI_statistics = (USHORT) value;
|
QLI_statistics = (USHORT) (IPTR) value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case set_columns:
|
case set_columns:
|
||||||
QLI_name_columns = QLI_columns = (USHORT) value;
|
QLI_name_columns = QLI_columns = (USHORT) (IPTR) value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case set_lines:
|
case set_lines:
|
||||||
QLI_lines = (USHORT) value;
|
QLI_lines = (USHORT) (IPTR) value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case set_semi:
|
case set_semi:
|
||||||
QLI_semi = (USHORT) value;
|
QLI_semi = (USHORT) (IPTR) value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case set_echo:
|
case set_echo:
|
||||||
QLI_echo = (USHORT) value;
|
QLI_echo = (USHORT) (IPTR) value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case set_form:
|
case set_form:
|
||||||
@ -399,7 +399,7 @@ void CMD_set( SYN node)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case set_count:
|
case set_count:
|
||||||
QLI_count = (USHORT) value;
|
QLI_count = (USHORT) (IPTR) value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case set_charset:
|
case set_charset:
|
||||||
@ -415,11 +415,11 @@ void CMD_set( SYN node)
|
|||||||
|
|
||||||
#ifdef DEV_BUILD
|
#ifdef DEV_BUILD
|
||||||
case set_explain:
|
case set_explain:
|
||||||
QLI_explain = (USHORT) value;
|
QLI_explain = (USHORT) (IPTR) value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case set_hex_output:
|
case set_hex_output:
|
||||||
QLI_hex_output = (USHORT) value;
|
QLI_hex_output = (USHORT) (IPTR) value;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2220,7 +2220,7 @@ static QLI_NOD expand_sort( SYN input, LLS stack, QLI_NOD list)
|
|||||||
for (i = 0; i < node->nod_count; i++) {
|
for (i = 0; i < node->nod_count; i++) {
|
||||||
expr = *syn_ptr++;
|
expr = *syn_ptr++;
|
||||||
if (expr->syn_type == nod_position) {
|
if (expr->syn_type == nod_position) {
|
||||||
position = (USHORT) expr->syn_arg[0];
|
position = (USHORT) (IPTR) expr->syn_arg[0];
|
||||||
if (!list || !position || position > list->nod_count)
|
if (!list || !position || position > list->nod_count)
|
||||||
IBERROR(152); /* Msg152 invalid ORDER BY ordinal */
|
IBERROR(152); /* Msg152 invalid ORDER BY ordinal */
|
||||||
item = (ITM) list->nod_arg[position - 1];
|
item = (ITM) list->nod_arg[position - 1];
|
||||||
|
@ -3795,7 +3795,7 @@ static void sql_grant_revoke( SYN node, USHORT type)
|
|||||||
RLB rlb;
|
RLB rlb;
|
||||||
|
|
||||||
|
|
||||||
privileges = (USHORT) node->syn_arg[s_grant_privileges];
|
privileges = (USHORT) (IPTR) node->syn_arg[s_grant_privileges];
|
||||||
relation = (QLI_REL) node->syn_arg[s_grant_relation];
|
relation = (QLI_REL) node->syn_arg[s_grant_relation];
|
||||||
relation->rel_database = database = setup_update(relation->rel_database);
|
relation->rel_database = database = setup_update(relation->rel_database);
|
||||||
relation_name = relation->rel_symbol->sym_string;
|
relation_name = relation->rel_symbol->sym_string;
|
||||||
|
@ -1782,7 +1782,6 @@ ISC_STATUS GDS_DSQL_EXECUTE_IMMED2(ISC_STATUS * user_status,
|
|||||||
RETURN_SUCCESS;
|
RETURN_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ISC_STATUS GDS_DSQL_FETCH(ISC_STATUS * user_status,
|
ISC_STATUS GDS_DSQL_FETCH(ISC_STATUS * user_status,
|
||||||
RSR * stmt_handle,
|
RSR * stmt_handle,
|
||||||
USHORT blr_length,
|
USHORT blr_length,
|
||||||
@ -2028,7 +2027,7 @@ ISC_STATUS GDS_DSQL_FETCH(ISC_STATUS * user_status,
|
|||||||
statement->rsr_message = message->msg_next;
|
statement->rsr_message = message->msg_next;
|
||||||
|
|
||||||
if (statement->rsr_user_select_format == statement->rsr_select_format) {
|
if (statement->rsr_user_select_format == statement->rsr_select_format) {
|
||||||
if ((U_IPTR) msg & (ALIGNMENT - 1))
|
if ((U_IPTR) msg & ( FB_ALIGNMENT - 1 ))
|
||||||
memcpy(msg, message->msg_address, msg_length);
|
memcpy(msg, message->msg_address, msg_length);
|
||||||
else
|
else
|
||||||
mov_faster((SLONG *) message->msg_address, (SLONG *) msg,
|
mov_faster((SLONG *) message->msg_address, (SLONG *) msg,
|
||||||
@ -2614,8 +2613,8 @@ ISC_STATUS GDS_GET_SEGMENT(ISC_STATUS * user_status,
|
|||||||
buffer_length -= l;
|
buffer_length -= l;
|
||||||
|
|
||||||
if (l) {
|
if (l) {
|
||||||
if (((U_IPTR) buffer & (ALIGNMENT - 1))
|
if (((U_IPTR) buffer & (FB_ALIGNMENT - 1))
|
||||||
|| ((U_IPTR) p & (ALIGNMENT - 1)))
|
|| ((U_IPTR) p & (FB_ALIGNMENT - 1)))
|
||||||
memcpy(buffer, p, l);
|
memcpy(buffer, p, l);
|
||||||
else
|
else
|
||||||
mov_faster((SLONG *) p, (SLONG *) buffer, l);
|
mov_faster((SLONG *) p, (SLONG *) buffer, l);
|
||||||
@ -3021,8 +3020,8 @@ ISC_STATUS GDS_PUT_SEGMENT(ISC_STATUS * user_status,
|
|||||||
*p++ = segment_length >> 8;
|
*p++ = segment_length >> 8;
|
||||||
|
|
||||||
if (segment_length) {
|
if (segment_length) {
|
||||||
if (((U_IPTR) segment & (ALIGNMENT - 1))
|
if (((U_IPTR) segment & (FB_ALIGNMENT - 1))
|
||||||
|| ((U_IPTR) p & (ALIGNMENT - 1))) memcpy(p, segment,
|
|| ((U_IPTR) p & (FB_ALIGNMENT - 1))) memcpy(p, segment,
|
||||||
segment_length);
|
segment_length);
|
||||||
else
|
else
|
||||||
mov_faster((SLONG *) segment, (SLONG *) p, segment_length);
|
mov_faster((SLONG *) segment, (SLONG *) p, segment_length);
|
||||||
@ -3474,7 +3473,7 @@ ISC_STATUS GDS_RECEIVE(ISC_STATUS * user_status,
|
|||||||
/* Copy data from the message buffer to the client buffer */
|
/* Copy data from the message buffer to the client buffer */
|
||||||
|
|
||||||
message = tail->rrq_message;
|
message = tail->rrq_message;
|
||||||
if ((U_IPTR) msg & (ALIGNMENT - 1))
|
if ((U_IPTR) msg & (FB_ALIGNMENT - 1))
|
||||||
memcpy(msg, message->msg_address, msg_length);
|
memcpy(msg, message->msg_address, msg_length);
|
||||||
else
|
else
|
||||||
mov_faster((SLONG *) message->msg_address, (SLONG *) msg, msg_length);
|
mov_faster((SLONG *) message->msg_address, (SLONG *) msg, msg_length);
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
*
|
*
|
||||||
* $Id: drop.cpp,v 1.19 2003-04-16 10:18:35 aafemt Exp $
|
* $Id: drop.cpp,v 1.19.2.1 2006-11-05 14:38:27 alexpeshkoff Exp $
|
||||||
*
|
*
|
||||||
* 2002.10.27 Sean Leyne - Completed removal of obsolete "DELTA" port
|
* 2002.10.27 Sean Leyne - Completed removal of obsolete "DELTA" port
|
||||||
* 2002.10.27 Sean Leyne - Completed removal of obsolete "IMP" port
|
* 2002.10.27 Sean Leyne - Completed removal of obsolete "IMP" port
|
||||||
@ -44,6 +44,10 @@
|
|||||||
#include "../jrd/isc_proto.h"
|
#include "../jrd/isc_proto.h"
|
||||||
#include "../common/config/config.h"
|
#include "../common/config/config.h"
|
||||||
|
|
||||||
|
#ifndef HAVE_MMAP
|
||||||
|
#include "../jrd/isc_s_proto.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_SYS_TYPES_H
|
#ifdef HAVE_SYS_TYPES_H
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#endif
|
#endif
|
||||||
@ -157,7 +161,7 @@ int CLIB_ROUTINE main( int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void dummy_init(void)
|
static void dummy_init(void*, sh_mem*, int)
|
||||||
{
|
{
|
||||||
/**************************************
|
/**************************************
|
||||||
*
|
*
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
$Id: util.cpp,v 1.8.2.1 2004-12-06 09:45:45 kkuznetsov Exp $
|
$Id: util.cpp,v 1.8.2.2 2006-11-05 14:38:28 alexpeshkoff Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "firebird.h"
|
#include "firebird.h"
|
||||||
@ -161,7 +161,7 @@ int UTIL_wait_for_child( pid_t child_pid)
|
|||||||
return (WEXITSTATUS(child_exit_status));
|
return (WEXITSTATUS(child_exit_status));
|
||||||
|
|
||||||
if (
|
if (
|
||||||
#ifndef AIX_PPC
|
#ifdef WCOREDUMP
|
||||||
WCOREDUMP(child_exit_status) ||
|
WCOREDUMP(child_exit_status) ||
|
||||||
#endif
|
#endif
|
||||||
WIFSIGNALED(child_exit_status) || !WIFEXITED(child_exit_status))
|
WIFSIGNALED(child_exit_status) || !WIFEXITED(child_exit_status))
|
||||||
|
Loading…
Reference in New Issue
Block a user