8
0
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:
alexpeshkoff 2006-11-05 14:38:28 +00:00
parent ea9359c093
commit 77d2be7691
86 changed files with 507 additions and 393 deletions

View File

@ -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,"`

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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
View 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

View File

@ -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})
;; ;;

View File

@ -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;

View File

@ -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) {

View File

@ -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);
} }

View File

@ -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;

View File

@ -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)

View File

@ -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

View File

@ -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;

View File

@ -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; }
; ;

View File

@ -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;

View File

@ -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);

View File

@ -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:

View File

@ -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();

View File

@ -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;

View File

@ -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);

View File

@ -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 */
} }

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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) &&

View File

@ -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;

View File

@ -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. */

View File

@ -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)) )

View File

@ -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: */
} }

View File

@ -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))

View File

@ -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);
} }

View File

@ -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

View File

@ -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

View File

@ -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)) )

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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 */

View File

@ -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);

View File

@ -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

View File

@ -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) {

View File

@ -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()

View File

@ -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

View File

@ -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)))
{ {

View File

@ -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)

View File

@ -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

View File

@ -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];

View File

@ -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;

View File

@ -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);

View File

@ -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)
{ {
/************************************** /**************************************
* *

View File

@ -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))