From 350b2518202e7d3eeb8d505b1b79d49c14c3e8c2 Mon Sep 17 00:00:00 2001 From: skywalker Date: Fri, 5 Jul 2002 15:00:26 +0000 Subject: [PATCH] Changes to get compiling on linux (post fb1 changes). --- configure | 205 +++++++++++++++++++---------- configure.in | 25 ++-- src/dsql/dsql.cpp | 15 +-- src/dsql/keywords.h | 2 +- src/dsql/parse.cpp | 22 ++-- src/dsql/parse.sed | 2 +- src/dsql/parse.y | 11 +- src/include/fb_string.h | 3 + src/isql/isql.epp | 8 +- src/jrd/alt_use_sec.h | 2 +- src/jrd/build_no.h | 12 +- src/jrd/common.h | 6 +- src/jrd/dfw.epp | 62 ++++----- src/jrd/dyn.epp | 4 +- src/jrd/dyn_def.epp | 6 +- src/jrd/dyn_del.epp | 32 ++--- src/jrd/dyn_mod.epp | 9 +- src/jrd/evl.cpp | 16 +-- src/jrd/gds.cpp | 6 +- src/jrd/grant.epp | 1 + src/jrd/inf.cpp | 18 ++- src/jrd/met.epp | 56 ++++---- src/jrd/scl.epp | 2 +- src/jrd/sort.cpp | 5 +- src/make.defaults | 5 +- src/make.new/Makefile.in.dsql | 4 +- src/make.new/Makefile.in.firebird | 11 +- src/make.new/config/config.h.in | 3 + src/make.new/make.defaults | 5 +- src/make.new/make.shared.variables | 21 ++- src/make.platform | 2 +- src/make.rules | 8 +- src/make.shared.variables | 21 ++- src/pipe/head.cpp | 4 +- src/qli/all.cpp | 5 +- src/qli/picstr.cpp | 8 +- src/utilities/dba.epp | 6 +- src/v5_examples/empbuild.c | 2 +- 38 files changed, 363 insertions(+), 272 deletions(-) diff --git a/configure b/configure index 54ca513e4d..12177c2c70 100755 --- a/configure +++ b/configure @@ -2342,14 +2342,14 @@ EOF fi rm -f conftest* -echo $ac_n "checking for main in -lcrypt""... $ac_c" 1>&6 -echo "configure:2347: checking for main in -lcrypt" >&5 -ac_lib_var=`echo crypt'_'main | sed 'y%./+-%__p_%'` +echo $ac_n "checking for main in -ldl""... $ac_c" 1>&6 +echo "configure:2347: checking for main in -ldl" >&5 +ac_lib_var=`echo dl'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lcrypt $LIBS" +LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&6 - ac_tr_lib=HAVE_LIB`echo crypt | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - -echo $ac_n "checking for main in -ldl""... $ac_c" 1>&6 -echo "configure:2390: checking for main in -ldl" >&5 -ac_lib_var=`echo dl'_'main | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-ldl $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 @@ -2429,7 +2386,7 @@ else fi echo $ac_n "checking for main in -lc""... $ac_c" 1>&6 -echo "configure:2433: checking for main in -lc" >&5 +echo "configure:2390: checking for main in -lc" >&5 ac_lib_var=`echo c'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2437,14 +2394,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2472,7 +2429,7 @@ else fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:2476: checking for main in -lm" >&5 +echo "configure:2433: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2480,6 +2437,49 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <&6 +fi + +echo $ac_n "checking for main in -lcrypt""... $ac_c" 1>&6 +echo "configure:2476: checking for main in -lcrypt" >&5 +ac_lib_var=`echo crypt'_'main | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lcrypt $LIBS" +cat > conftest.$ac_ext <&6 - ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + ac_tr_lib=HAVE_LIB`echo crypt | sed -e 's/[^a-zA-Z0-9_]/_/g' \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` cat >> confdefs.h <&6 @@ -2645,22 +2645,71 @@ else fi +for ac_func in strlcpy strlcat +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:2652: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); -cat >> confdefs.h <<\EOF -#define UNIX_64_BIT_IO 1 +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } EOF +if { (eval echo configure:2680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <&6 +fi +done echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:2657: checking whether byte ordering is bigendian" >&5 +echo "configure:2706: checking whether byte ordering is bigendian" >&5 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext < #include @@ -2671,11 +2720,11 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:2675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2724: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext < #include @@ -2686,7 +2735,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:2690: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2739: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -2706,7 +2755,7 @@ if test "$cross_compiling" = yes; then { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_bigendian=no else @@ -2743,12 +2792,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2747: checking for working const" >&5 +echo "configure:2796: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2850: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2862,10 +2911,20 @@ FIREBIRD_ARCH_TYPE=classic #FIREBIRD_ARCH_TYPE=super +PROD_BUILD_FLG= +#PROD_BUILD_FLG=Y + CPU_TYPE=$host_cpu + +cat >> confdefs.h <<\EOF +#define UNIX_64_BIT_IO 1 +EOF + + + # The following file defines the version number strings source src/misc/writeBuildNum.sh FIREBIRD_PACKAGE_VERSION="0a.Dev1" @@ -2884,6 +2943,14 @@ FIREBIRD_LIBGDS_SO_X_LNK=libgds.so.${MajorVer} +BUILD_ROOT_DIR=`pwd` +SRC_ROOT=$BUILD_ROOT_DIR/src +GEN_ROOT=$BUILD_ROOT_DIR/gen +NEW_FIREBIRD_DIR=$GEN_ROOT/firebird + + + + #AC_DEFINE_UNQUOTED(FB_BUILD_TYPE, "$BuildType") #AC_DEFINE_UNQUOTED(FB_MAJOR_VER, "$MajorVer") #AC_DEFINE_UNQUOTED(FB_MINOR_VER, "$MinorVer") @@ -2897,10 +2964,6 @@ FIREBIRD_LIBGDS_SO_X_LNK=libgds.so.${MajorVer} -PROD_BUILD_FLG= -#PROD_BUILD_FLG=Y - - @@ -3146,13 +3209,15 @@ s%@YACC@%$YACC%g s%@CPP@%$CPP%g s%@PLATFORM@%$PLATFORM%g s%@FIREBIRD_ARCH_TYPE@%$FIREBIRD_ARCH_TYPE%g +s%@PROD_BUILD_FLG@%$PROD_BUILD_FLG%g s%@CPU_TYPE@%$CPU_TYPE%g s%@FIREBIRD_LIBGDS_SO@%$FIREBIRD_LIBGDS_SO%g s%@FIREBIRD_LIBGDS_SO_LNK@%$FIREBIRD_LIBGDS_SO_LNK%g s%@FIREBIRD_LIBGDS_SO_X_LNK@%$FIREBIRD_LIBGDS_SO_X_LNK%g s%@FIREBIRD_VERSION@%$FIREBIRD_VERSION%g s%@FIREBIRD_PACKAGE_VERSION@%$FIREBIRD_PACKAGE_VERSION%g -s%@PROD_BUILD_FLG@%$PROD_BUILD_FLG%g +s%@BUILD_ROOT_DIR@%$BUILD_ROOT_DIR%g +s%@NEW_FIREBIRD_DIR@%$NEW_FIREBIRD_DIR%g CEOF EOF diff --git a/configure.in b/configure.in index 996b59ee60..ba64b54ff0 100644 --- a/configure.in +++ b/configure.in @@ -53,18 +53,16 @@ AC_TRY_COMPILE([#include [AC_MSG_RESULT(yes)], [AC_DEFINE(socklen_t, int) AC_MSG_RESULT(no)]) -AC_CHECK_LIB(crypt, main) AC_CHECK_LIB(dl, main) AC_CHECK_LIB(c,main) AC_CHECK_LIB(m, main) +AC_CHECK_LIB(crypt, main) AC_CHECK_LIB(curses, main) #AC_CHECK_LIB(termcap, main) AC_CHECK_LIB(readline, main,,,$LIBS) AC_CHECK_LIB(stdc++, main,,, $LIBS) - -AC_DEFINE(UNIX_64_BIT_IO) - +AC_CHECK_FUNCS(strlcpy strlcat) AC_C_BIGENDIAN AC_C_CONST @@ -89,10 +87,17 @@ FIREBIRD_ARCH_TYPE=classic #FIREBIRD_ARCH_TYPE=super AC_SUBST(FIREBIRD_ARCH_TYPE) +PROD_BUILD_FLG= +#PROD_BUILD_FLG=Y +AC_SUBST(PROD_BUILD_FLG) CPU_TYPE=$host_cpu AC_SUBST(CPU_TYPE) + +AC_DEFINE(UNIX_64_BIT_IO) + + # The following file defines the version number strings source src/misc/writeBuildNum.sh FIREBIRD_PACKAGE_VERSION="0a.Dev1" @@ -111,6 +116,14 @@ AC_SUBST(FIREBIRD_VERSION) AC_SUBST(FIREBIRD_PACKAGE_VERSION) +BUILD_ROOT_DIR=`pwd` +SRC_ROOT=$BUILD_ROOT_DIR/src +GEN_ROOT=$BUILD_ROOT_DIR/gen +NEW_FIREBIRD_DIR=$GEN_ROOT/firebird + +AC_SUBST(BUILD_ROOT_DIR) +AC_SUBST(NEW_FIREBIRD_DIR) + #AC_DEFINE_UNQUOTED(FB_BUILD_TYPE, "$BuildType") #AC_DEFINE_UNQUOTED(FB_MAJOR_VER, "$MajorVer") #AC_DEFINE_UNQUOTED(FB_MINOR_VER, "$MinorVer") @@ -124,10 +137,6 @@ AC_SUBST(FIREBIRD_PACKAGE_VERSION) -PROD_BUILD_FLG= -#PROD_BUILD_FLG=Y -AC_SUBST(PROD_BUILD_FLG) - AC_OUTPUT_COMMANDS([mkdir -p gen/csv]) AC_OUTPUT_COMMANDS([mkdir -p gen/dudley]) AC_OUTPUT_COMMANDS([mkdir -p gen/isql]) diff --git a/src/dsql/dsql.cpp b/src/dsql/dsql.cpp index 83fdf410bb..085060c604 100644 --- a/src/dsql/dsql.cpp +++ b/src/dsql/dsql.cpp @@ -29,7 +29,7 @@ * */ /* -$Id: dsql.cpp,v 1.16 2002-07-02 12:17:44 dimitr Exp $ +$Id: dsql.cpp,v 1.17 2002-07-05 15:00:17 skywalker Exp $ */ /************************************************************** V4 Multi-threading changes. @@ -2294,11 +2294,12 @@ void DSQL_pretty(NOD node, int column) /* CVC: The answer is that nod_arg[0] can be either the udf name or the pointer to udf struct returned by METD_get_function, so we should resort to the block type. The replacement happens in pass1_udf(). */ - switch (node->nod_arg [e_udf_name]->nod_header.blk_type) { - case type_udf: + // switch (node->nod_arg [e_udf_name]->nod_header.blk_type) { + switch (MemoryPool::blk_type(node->nod_arg [e_udf_name])) { + case dsql_type_udf: PRINTF ("%s\"\n", ((UDF) node->nod_arg [e_udf_name])->udf_name); break; - case type_str: + case dsql_type_str: string = (STR) node->nod_arg [e_udf_name]; PRINTF ("%s\"\n", string->str_data); break; @@ -2313,12 +2314,6 @@ void DSQL_pretty(NOD node, int column) } FREE_MEM_RETURN; - case nod_udf: - PRINTF("%sfunction: \"%s\"\n", buffer, *ptr++); - if (node->nod_count == 2) - DSQL_pretty(*ptr, column + 1); - FREE_MEM_RETURN; - default: sprintf(s, "unknown type %d", node->nod_type); verb = s; diff --git a/src/dsql/keywords.h b/src/dsql/keywords.h index 63a5107239..5f389d5dee 100644 --- a/src/dsql/keywords.h +++ b/src/dsql/keywords.h @@ -90,7 +90,7 @@ {DATABASE, "DATABASE", 1}, {DATE, "DATE", 1}, {DAY, "DAY", 2}, - {DEBUG, "DEBUG", 1}, + {DEBUG_KEYWORD, "DEBUG", 1}, {KW_DEC, "DEC", 1}, {DECIMAL, "DECIMAL", 1}, {DECLARE, "DECLARE", 1}, diff --git a/src/dsql/parse.cpp b/src/dsql/parse.cpp index 124d8bab70..a974aca20d 100644 --- a/src/dsql/parse.cpp +++ b/src/dsql/parse.cpp @@ -45,9 +45,12 @@ static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; * and not in gen.c; this closes Bug #450301. * 2001.10.01 Claudio Valderrama: enable explicit GRANT...to ROLE role_name. * 2001.10.06 Claudio Valderrama: Honor explicit USER keyword in GRANTs and REVOKEs. + * 2002.07.05 Mark O'Donohue: change keyword DEBUG to DEBUG_KEYWORD to avoid + * clashes with normal DEBUG macro. * */ + #if defined(DEV_BUILD) && defined(WIN32) && defined(SUPERSERVER) #include /*#include */ @@ -174,10 +177,7 @@ static void yyerror (TEXT *); #define DATABASE 295 #define DATE 296 #define DB_KEY 297 -#ifdef DEBUG -#undef DEBUG -#define DEBUG 298 -#endif +#define DEBUG_KEYWORD 298 #define DECIMAL 299 #define DECLARE 300 #define DEFAULT 301 @@ -2731,9 +2731,9 @@ char *yyname[] = { "CACHE","CAST","CHARACTER","CHECK","CHECK_POINT_LEN","COLLATE","COLLATION", "COMMA","COMMIT","COMMITTED","COMPUTED","CONCATENATE","CONDITIONAL", "CONSTRAINT","CONTAINING","COUNT","CREATE","CSTRING","CURRENT","CURSOR", -"DATABASE","DATE","DB_KEY","DEBUG","DECIMAL","DECLARE","DEFAULT","DELETE", -"DESC","DISTINCT","DO","DOMAIN","DROP","ELSE","END","ENTRY_POINT","EQL", -"ESCAPE","EXCEPTION","EXECUTE","EXISTS","EXIT","EXTERNAL","FILTER","FOR", +"DATABASE","DATE","DB_KEY","DEBUG_KEYWORD","DECIMAL","DECLARE","DEFAULT", +"DELETE","DESC","DISTINCT","DO","DOMAIN","DROP","ELSE","END","ENTRY_POINT", +"EQL","ESCAPE","EXCEPTION","EXECUTE","EXISTS","EXIT","EXTERNAL","FILTER","FOR", "FOREIGN","FROM","FULL","FUNCTION","GDSCODE","GEQ","GENERATOR","GEN_ID","GRANT", "GROUP","GROUP_COMMIT_WAIT","GTR","HAVING","IF","IN","INACTIVE","INNER", "INPUT_TYPE","INDEX","INSERT","INTEGER","INTO","IS","ISOLATION","JOIN","KEY", @@ -2779,7 +2779,7 @@ char *yyrule[] = { "statement : select", "statement : set", "statement : update", -"statement : DEBUG signed_short_integer", +"statement : DEBUG_KEYWORD signed_short_integer", "grant : GRANT privileges ON prot_table_name TO user_grantee_list grant_option", "grant : GRANT proc_privileges ON PROCEDURE simple_proc_name TO user_grantee_list grant_option", "grant : GRANT privileges ON prot_table_name TO grantee_list", @@ -4823,7 +4823,7 @@ dsql_yyparse(USHORT client_dialect, USHORT db_dialect, USHORT parser_version, BO register int yym, yyn, yystate; #if YYDEBUG register char *yys; - extern char *getenv(const char*); + ; if (yys = getenv("YYDEBUG")) { @@ -7054,11 +7054,11 @@ case 778: break; case 779: { yyval = make_node (nod_select_expr, e_sel_count, - yyvsp[-7], make_list (yyvsp[-6]), yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } + yyvsp[-7], yyvsp[-6], make_list (yyvsp[-5]), yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } break; case 780: { yyval = make_node (nod_select_expr, e_sel_count, - yyvsp[-7], make_list (yyvsp[-6]), yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], + yyvsp[-7], yyvsp[-6], make_list (yyvsp[-5]), yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], MAKE_constant ((STR) 1, CONSTANT_SLONG)); } break; case 788: diff --git a/src/dsql/parse.sed b/src/dsql/parse.sed index b4a83b4852..516ef5c9af 100644 --- a/src/dsql/parse.sed +++ b/src/dsql/parse.sed @@ -33,4 +33,4 @@ s/dsql_yyparse __P((void));/dsql_yyparse __P((USHORT, USHORT, USHORT, BOOLEAN *) s/dsql_yyparse(void)/dsql_yyparse(USHORT client_dialect, USHORT db_dialect, USHORT parser_version, BOOLEAN *stmt_ambiguous)/g s/dsql_yyparse()/dsql_yyparse(USHORT client_dialect, USHORT db_dialect, USHORT parser_version, BOOLEAN *stmt_ambiguous)/g s/YYLEX()/YYLEX(client_dialect, db_dialect, parser_version, stmt_ambiguous)/g -s/extern char \*getenv()/extern char *getenv(const char*)/g \ No newline at end of file +s/extern char \*getenv()//g \ No newline at end of file diff --git a/src/dsql/parse.y b/src/dsql/parse.y index c6797e4033..d997e20df4 100644 --- a/src/dsql/parse.y +++ b/src/dsql/parse.y @@ -36,9 +36,12 @@ * and not in gen.c; this closes Bug #450301. * 2001.10.01 Claudio Valderrama: enable explicit GRANT...to ROLE role_name. * 2001.10.06 Claudio Valderrama: Honor explicit USER keyword in GRANTs and REVOKEs. + * 2002.07.05 Mark O'Donohue: change keyword DEBUG to DEBUG_KEYWORD to avoid + * clashes with normal DEBUG macro. * */ + #if defined(DEV_BUILD) && defined(WIN32) && defined(SUPERSERVER) #include /*#include */ @@ -175,7 +178,7 @@ static void yyerror (TEXT *); %token DATABASE %token DATE %token DB_KEY -%token DEBUG +%token DEBUG_KEYWORD %token DECIMAL %token DECLARE %token DEFAULT @@ -439,7 +442,7 @@ statement : alter | select | set | update - | DEBUG signed_short_integer + | DEBUG_KEYWORD signed_short_integer { prepare_console_debug ((int) $2, &yydebug); $$ = make_node (nod_null, (int) 0, NULL); } ; @@ -3106,7 +3109,7 @@ column_select : SELECT limit_clause having_clause plan_clause { $$ = make_node (nod_select_expr, e_sel_count, - $2, make_list ($3), $4, $5, $6, $7, $8, $9, NULL); } + $2, $3, make_list ($4), $5, $6, $7, $8, $9, NULL); } ; column_singleton : SELECT limit_clause @@ -3118,7 +3121,7 @@ column_singleton : SELECT limit_clause having_clause plan_clause { $$ = make_node (nod_select_expr, e_sel_count, - $2, make_list ($3), $4, $5, $6, $7, $8, $9, + $2, $3, make_list ($4), $5, $6, $7, $8, $9, MAKE_constant ((STR) 1, CONSTANT_SLONG)); } ; diff --git a/src/include/fb_string.h b/src/include/fb_string.h index 4ed5b6f8fc..7abe4bdc1f 100644 --- a/src/include/fb_string.h +++ b/src/include/fb_string.h @@ -19,6 +19,9 @@ namespace Firebird { typedef std::basic_string, Firebird::allocator > string; + + }; + #endif // FB_STRING_H diff --git a/src/isql/isql.epp b/src/isql/isql.epp index 0fcec84d08..f9d3d036e1 100644 --- a/src/isql/isql.epp +++ b/src/isql/isql.epp @@ -24,7 +24,7 @@ * */ /* - $Id: isql.epp,v 1.8 2002-06-29 13:39:10 skywalker Exp $ + $Id: isql.epp,v 1.9 2002-07-05 15:00:19 skywalker Exp $ Revision 1.5 2000/11/18 16:49:24 fsg Increased PRINT_BUFFER_LENGTH to 2048 to show larger plans Fixed Bug #122563 in extract.e get_procedure_args @@ -5155,7 +5155,7 @@ void ISQL_get_version( BOOLEAN call_by_create_db) break; case isc_info_firebird_version: strcpy(server_version, "Server: "); - strncat(server_version, &(p[2]), (length - 2)); + strncat(server_version, (char*) &(p[2]), (length - 2)); if (Version_info == TRUE) { strcat(server_version, NEWLINE); ISQL_printf (Out, server_version); @@ -7205,8 +7205,8 @@ static int process_statement( TEXT * string, XSQLDA ** sqldap) } else { if (info_buffer [0] == isc_info_sql_stmt_type) { - l = gds__vax_integer (info_buffer + 1, 2); - statement_type = gds__vax_integer (info_buffer + 3, l); + l = gds__vax_integer((UCHAR*) info_buffer + 1, 2); + statement_type = gds__vax_integer( (UCHAR*) info_buffer + 3, l); } } diff --git a/src/jrd/alt_use_sec.h b/src/jrd/alt_use_sec.h index 08e3cfde86..a0d2140412 100644 --- a/src/jrd/alt_use_sec.h +++ b/src/jrd/alt_use_sec.h @@ -29,7 +29,7 @@ * John Bellardo * * - * $Id: alt_use_sec.h,v 1.6 2002-07-04 09:34:19 skywalker Exp $ + * $Id: alt_use_sec.h,v 1.7 2002-07-05 15:00:19 skywalker Exp $ * */ diff --git a/src/jrd/build_no.h b/src/jrd/build_no.h index f08b206a20..8790770688 100644 --- a/src/jrd/build_no.h +++ b/src/jrd/build_no.h @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:442 + FORMAL BUILD NUMBER:455 */ -#define PRODUCT_VER_STRING "2.0.0.442" -#define FILE_VER_STRING "WI-T2.0.0.442" -#define LICENSE_VER_STRING "WI-T2.0.0.442" -#define FILE_VER_NUMBER 2, 0, 0, 442 +#define PRODUCT_VER_STRING "2.0.0.455" +#define FILE_VER_STRING "WI-T2.0.0.455" +#define LICENSE_VER_STRING "WI-T2.0.0.455" +#define FILE_VER_NUMBER 2, 0, 0, 455 #define FB_MAJOR_VER "2" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "442" +#define FB_BUILD_NO "455" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird2 Dev1" diff --git a/src/jrd/common.h b/src/jrd/common.h index c4e28987a0..5eb73c8bf4 100644 --- a/src/jrd/common.h +++ b/src/jrd/common.h @@ -35,16 +35,12 @@ * 2002.04.16 Paul Beach - HP10 and unistd.h */ /* -$Id: common.h,v 1.18 2002-07-01 15:07:18 skywalker Exp $ +$Id: common.h,v 1.19 2002-07-05 15:00:19 skywalker Exp $ */ #ifndef JRD_COMMON_H #define JRD_COMMON_H -/* configure.sh builds the file 64bitio.h on all platforms - except windows. Windows doesn't need it, happily */ - - #ifdef HAVE_STDLIB_H #include #endif diff --git a/src/jrd/dfw.epp b/src/jrd/dfw.epp index e17d968813..7296b44b1a 100644 --- a/src/jrd/dfw.epp +++ b/src/jrd/dfw.epp @@ -181,7 +181,7 @@ static bool make_version(TDBB, SSHORT, DFW, TRA); static void check_dependencies(TDBB, TEXT*, TEXT*, USHORT, TRA); static void check_filename(TEXT*, USHORT); -static bool compare_formats(FMT, FMT); +static bool formatsAreEqual(FMT, FMT); static bool find_depend_in_dfw(TDBB, TEXT*, USHORT, USHORT, TRA); static void get_array_desc(TDBB, TEXT*, ADS); static void get_procedure_dependencies(DFW); @@ -191,9 +191,10 @@ static FMT make_format(TDBB, REL, USHORT *, TFB); static USHORT name_length(TEXT *); static void put_summary_blob(BLB, enum rsr_t, SLONG[2]); static void put_summary_record(BLB, enum rsr_t, UCHAR *, USHORT); -static void setup_array(TDBB, BLB, UCHAR *, USHORT, TFB); +static void setup_array(TDBB, BLB, TEXT *, USHORT, TFB); static BLB setup_triggers(TDBB, REL, BOOLEAN, VEC *, BLB); -static void setup_trigger_details(TDBB, REL, BLB, VEC *, UCHAR *, UCHAR *, BOOLEAN); +static void setup_trigger_details(TDBB, REL, BLB, VEC *, TEXT*, TEXT*, BOOLEAN); +//static void setup_trigger_details(TDBB, REL, BLB, VEC *, UCHAR *, UCHAR *, BOOLEAN); static bool shadow_defined(TDBB); static bool validate_text_type (TDBB, STATUS *, TFB); static bool wal_defined(TDBB); @@ -1247,46 +1248,40 @@ static void check_filename( TEXT * name, USHORT l) } -static bool compare_formats(FMT old_format, FMT new_format) +static bool formatsAreEqual(FMT old_format, FMT new_format) { /************************************** - * - * c o m p a r e _ f o r m a t s - * - ************************************** * * Functional description * Compare two format blocks * **************************************/ - DSC *old_desc, *new_desc, *end; if ((old_format->fmt_length != new_format->fmt_length) - || (old_format->fmt_count != new_format->fmt_count)) - { - return true; + || (old_format->fmt_count != new_format->fmt_count)) { + return false; } - old_desc = old_format->fmt_desc; - new_desc = new_format->fmt_desc; - end = old_format->fmt_desc + old_format->fmt_count; + fmt::fmt_desc_iterator old_desc = old_format->fmt_desc.begin(); + fmt::fmt_desc_iterator old_end = old_format->fmt_desc.end(); - while (old_desc < end) - { + fmt::fmt_desc_iterator new_desc = old_format->fmt_desc.begin(); + + while (old_desc != old_end) { if ((old_desc->dsc_dtype != new_desc->dsc_dtype) || (old_desc->dsc_scale != new_desc->dsc_scale) || (old_desc->dsc_length != new_desc->dsc_length) || (old_desc->dsc_sub_type != new_desc->dsc_sub_type) || (old_desc->dsc_flags != new_desc->dsc_flags) - || (old_desc->dsc_address != new_desc->dsc_address)) - { - return true; + || (old_desc->dsc_address != new_desc->dsc_address)) { + return false; } - old_desc++; - new_desc++; + + new_desc++; + old_desc++; } - return false; + return true; } @@ -3425,7 +3420,7 @@ static FMT make_format(TDBB tdbb, REL relation, USHORT * version, TFB stack) if ((format->fmt_version) && (old_format = MET_format(tdbb, relation, (format->fmt_version - 1))) - && (!compare_formats(old_format, format))) + && (formatsAreEqual(old_format, format))) { delete format; *version = old_format->fmt_version; @@ -3680,7 +3675,7 @@ static bool make_version(TDBB tdbb, SSHORT phase, DFW work, TRA transaction) FLD.RDB$CHARACTER_SET_ID, collation); /* Make sure the text type specified is implemented */ - if (!(validate_text_type(tdbb, status, tfb))) + if (!(validate_text_type(tdbb, status, tfb_))) { EXE_unwind(tdbb, (REQ)request_fmt1); EXE_unwind(tdbb, (REQ)request_fmtx); @@ -3696,7 +3691,7 @@ static bool make_version(TDBB tdbb, SSHORT phase, DFW work, TRA transaction) tfb_->tfb_id = RFR.RDB$FIELD_ID; if ((n = FLD.RDB$DIMENSIONS)) - setup_array(tdbb, blob, FLD.RDB$FIELD_NAME, n, tfb); + setup_array(tdbb, blob, FLD.RDB$FIELD_NAME, n, tfb_); if (external_flag) { @@ -4168,7 +4163,7 @@ static bool shadow_defined(TDBB tdbb) } -static void setup_array(TDBB tdbb, BLB blob, UCHAR * field_name, USHORT n, TFB tfb) +static void setup_array(TDBB tdbb, BLB blob, TEXT* field_name, USHORT n, TFB tfb) { /************************************** * @@ -4185,7 +4180,7 @@ static void setup_array(TDBB tdbb, BLB blob, UCHAR * field_name, USHORT n, TFB t SLONG stuff[64]; ADS array; - put_summary_record(blob, RSR_dimensions, &n, sizeof(n)); + put_summary_record(blob, RSR_dimensions, (UCHAR*) &n, sizeof(n)); tfb->tfb_flags |= TFB_array; array = reinterpret_cast(stuff); MOVE_CLEAR(array, (SLONG) sizeof(struct ads)); @@ -4193,7 +4188,7 @@ static void setup_array(TDBB tdbb, BLB blob, UCHAR * field_name, USHORT n, TFB t array->ads_struct_count = 1; array->ads_rpt[0].ads_desc = tfb->tfb_desc; get_array_desc(tdbb, field_name, array); - put_summary_record(blob, RSR_array_desc, array, array->ads_length); + put_summary_record(blob, RSR_array_desc, (UCHAR*) array, array->ads_length); } @@ -4310,8 +4305,8 @@ static void setup_trigger_details(TDBB tdbb, REL relation, BLB blob, VEC * triggers, - UCHAR * trigger_name, - UCHAR * relation_name, + TEXT * trigger_name, + TEXT * relation_name, BOOLEAN null_view) { /************************************** @@ -4331,10 +4326,9 @@ static void setup_trigger_details(TDBB tdbb, **************************************/ put_summary_record(blob, RSR_trigger_name, - trigger_name, name_length(trigger_name)); + (UCHAR*) trigger_name, name_length(trigger_name)); - if (!null_view) - { + if (!null_view) { if (!relation->rel_name) relation->rel_name = MET_save_name(tdbb, relation_name); MET_load_trigger(tdbb, relation, trigger_name, triggers); diff --git a/src/jrd/dyn.epp b/src/jrd/dyn.epp index d1d8d40516..64fd09a182 100644 --- a/src/jrd/dyn.epp +++ b/src/jrd/dyn.epp @@ -584,7 +584,7 @@ TEXT * function_name, TEXT * procedure_name) DYN_delete_dimensions(gbl, ptr, relation_name, field_name); break; - case gds__dyn_delete_generator: + case gds_dyn_delete_generator: DYN_delete_generator(gbl, ptr); break; @@ -1104,6 +1104,7 @@ static void grant( GBL gbl, UCHAR ** ptr) int options = 0; SSHORT user_type = -1; SSHORT obj_type = -1; + TEXT dummy_name[32]; UCHAR verb; while ((verb = *(*ptr)++) != gds_dyn_end) @@ -1133,7 +1134,6 @@ static void grant( GBL gbl, UCHAR ** ptr) GET_STRING(ptr, user); DYN_terminate(user, sizeof(user)); /* This test may become obsolete as we now allow explicit ROLE keyword. */ - TEXT dummy_name[32]; if (DYN_is_it_sql_role(gbl, user, dummy_name, tdbb)) { user_type = obj_sql_role; if (!strcmp(user, "NONE")) { diff --git a/src/jrd/dyn_def.epp b/src/jrd/dyn_def.epp index 0c14bf2a93..6e8d5a03b2 100644 --- a/src/jrd/dyn_def.epp +++ b/src/jrd/dyn_def.epp @@ -60,6 +60,7 @@ #include "../jrd/all_proto.h" #include "../jrd/blb_proto.h" #include "../jrd/cmp_proto.h" +#include "../jrd/dls_proto.h" #include "../jrd/dyn_proto.h" #include "../jrd/dyn_df_proto.h" #include "../jrd/dyn_ut_proto.h" @@ -69,6 +70,7 @@ #include "../jrd/inf_proto.h" #include "../jrd/intl_proto.h" #include "../jrd/isc_f_proto.h" +#include "../jrd/met_proto.h" #include "../jrd/thd_proto.h" #include "../jrd/vio_proto.h" #include "../jrd/scl_proto.h" @@ -1611,8 +1613,8 @@ void DYN_define_index(GBL gbl, BLK old_request; VOLATILE SSHORT id, old_id; const size_t field_name_size = 32; - UCHAR index_name[32]; - UCHAR referenced_relation[32]; + TEXT index_name[32]; + TEXT referenced_relation[32]; UCHAR verb; UCHAR seg_count; UCHAR fld_count; diff --git a/src/jrd/dyn_del.epp b/src/jrd/dyn_del.epp index 4b910df413..e32a66b2dc 100644 --- a/src/jrd/dyn_del.epp +++ b/src/jrd/dyn_del.epp @@ -359,25 +359,27 @@ void DYN_delete_generator(GBL gbl, UCHAR **ptr) dbb = tdbb->tdbb_database; try { - GET_STRING(ptr, t); + GET_STRING(ptr, t); + + request = (BLK) CMP_find_request(tdbb, drq_e_gens, DYN_REQUESTS); + + + found = FALSE; + FOR (REQUEST_HANDLE request TRANSACTION_HANDLE gbl->gbl_transaction) + X IN RDB$GENERATORS + WITH X.RDB$GENERATOR_NAME EQ t - request = (BLK) CMP_find_request(tdbb, drq_e_gens, DYN_REQUESTS); + if (!DYN_REQUEST(drq_e_gens)) + DYN_REQUEST(drq_e_gens) = request; + found = TRUE; + ERASE X; + END_FOR; - found = FALSE; - FOR (REQUEST_HANDLE request TRANSACTION_HANDLE gbl->gbl_transaction) - X IN RDB$GENERATORS - WITH X.RDB$GENERATOR_NAME EQ t - if (!DYN_REQUEST(drq_e_gens)) - DYN_REQUEST(drq_e_gens) = request; - - found = TRUE; - ERASE X; - END_FOR; - - if (!DYN_REQUEST(drq_e_gens)) - DYN_REQUEST(drq_e_gens) = request; + if (!DYN_REQUEST(drq_e_gens)) + DYN_REQUEST(drq_e_gens) = request; + } catch (...) { DYN_rundown_request(request, -1); DYN_error_punt(TRUE, 213, NULL, NULL, NULL, NULL, NULL); diff --git a/src/jrd/dyn_mod.epp b/src/jrd/dyn_mod.epp index 85c3b3c708..5a3f2f5a1b 100644 --- a/src/jrd/dyn_mod.epp +++ b/src/jrd/dyn_mod.epp @@ -89,7 +89,10 @@ DATABASE DB = STATIC "yachts.gdb"; static UCHAR alloc_info[] = { gds_info_allocation, gds_info_end }; static void drop_cache(GBL); static void drop_log(GBL); -static void modify_lfield_type(GBL, UCHAR **, TEXT *, TEXT *); + +// Function not defined in this file MOD 04-July-2002 +// static void modify_lfield_type(GBL, UCHAR **, TEXT *, TEXT *); + static void modify_lfield_position(TDBB, DBB, GBL, TEXT *, TEXT *, USHORT, USHORT); static BOOLEAN check_view_dependency(TDBB, DBB, GBL, TEXT *, TEXT *); @@ -519,7 +522,7 @@ void DYN_modify_global_field( new_dom->dyn_dsc.dsc_length = DYN_get_number(ptr); if (++field_adjusted_count > 2) { - EXE_unwind(tdbb, request); + EXE_unwind(tdbb, (REQ)request); DYN_error_punt(FALSE, 5, err_one_type_change_only, NULL, NULL, NULL, NULL); } switch (new_dom->dyn_dtype) { @@ -543,7 +546,7 @@ void DYN_modify_global_field( new_dom->dyn_dtype = DYN_get_number(ptr); if (++field_adjusted_count > 2) { - EXE_unwind(tdbb, request); + EXE_unwind(tdbb, (REQ)request); DYN_error_punt(FALSE, 5, err_one_type_change_only, NULL, NULL, NULL, NULL); } diff --git a/src/jrd/evl.cpp b/src/jrd/evl.cpp index f34d32ddfa..e21852508b 100644 --- a/src/jrd/evl.cpp +++ b/src/jrd/evl.cpp @@ -19,7 +19,7 @@ * * All Rights Reserved. * Contributor(s): ______________________________________. - * $Id: evl.cpp,v 1.10 2002-06-30 09:58:20 dimitr Exp $ + * $Id: evl.cpp,v 1.11 2002-07-05 15:00:19 skywalker Exp $ */ /* @@ -4997,19 +4997,13 @@ static DSC *substring( } /* If we failed or we exhausted our available characters before finding the starting position, nothing more to do. */ - if (failure || !pcount) + if (failure || !pcount) { desc.dsc_length = 0; - else - { + } + else { /* Keep our starting pos safe. */ -#ifdef HPUX /* RITTER - removed the below cast on HP-UX to avoid compiler error */ - /*(UCHAR*)*/ desc.dsc_address = p; -#else - (UCHAR*) desc.dsc_address = p; -#endif // HPUX desc.dsc_address = p; - while (length && pcount) - { + while (length && pcount) { if (!INTL_getch(tdbb, &text_obj, INTL_TTYPE(&desc), &p, &pcount)) { failure = TRUE; diff --git a/src/jrd/gds.cpp b/src/jrd/gds.cpp index 00efc25f13..c62815e904 100644 --- a/src/jrd/gds.cpp +++ b/src/jrd/gds.cpp @@ -644,9 +644,9 @@ static const struct }; -#define ISC_ENV "INTERBASE" -#define ISC_LOCK_ENV "INTERBASE_LOCK" -#define ISC_MSG_ENV "INTERBASE_MSG" +#define ISC_ENV "FIREBIRD" +#define ISC_LOCK_ENV "FIREBIRD_LOCK" +#define ISC_MSG_ENV "FIREBIRD_MSG" #ifdef WIN_NT #define EXPAND_PATH(relative, absolute) _fullpath(absolute, relative, MAXPATHLEN) diff --git a/src/jrd/grant.epp b/src/jrd/grant.epp index 3128169668..4cbc8640ec 100644 --- a/src/jrd/grant.epp +++ b/src/jrd/grant.epp @@ -44,6 +44,7 @@ #include "../jrd/cmp_proto.h" #include "../jrd/dfw_proto.h" #include "../jrd/dpm_proto.h" +#include "../jrd/dyn_proto.h" #include "../jrd/err_proto.h" #include "../jrd/exe_proto.h" #include "../jrd/gds_proto.h" diff --git a/src/jrd/inf.cpp b/src/jrd/inf.cpp index 515fd2532e..dad1835684 100644 --- a/src/jrd/inf.cpp +++ b/src/jrd/inf.cpp @@ -67,6 +67,8 @@ #include "../jrd/gds_proto.h" #include "../jrd/err_proto.h" +using namespace Firebird; + /* * The variable DBSERVER_BASE_LEVEL was originally IB_MAJOR_VER but with @@ -564,17 +566,17 @@ int INF_database_info( for (att = dbb->dbb_attachments; att; att = att->att_next) { if (att->att_flags & ATT_shutdown) continue; - if ( (user = att->att_user) ) { - char *user_name = user->usr_user_name ? - user->usr_user_name : "(SQL Server)"; + + user = att->att_user; + if (user) { + const char *user_name = user->usr_user_name ? user->usr_user_name : "(SQL Server)"; p = buffer; *p++ = l = strlen (user_name); - for (q = user_name; l; l--) + for (q = const_cast(user_name); l; l--) *p++ = *q++; length = p - buffer; - if (! - (info = - INF_put_item(item, length, buffer, info, end))) { + info = INF_put_item(item, length, buffer, info, end); + if (!info) { if (transaction) TRA_commit(tdbb, transaction, FALSE); return FALSE; @@ -1207,3 +1209,5 @@ static USHORT get_counts(USHORT count_id, UCHAR * buffer, USHORT length) return p - buffer; } #endif + + diff --git a/src/jrd/met.epp b/src/jrd/met.epp index f7a423496a..282701f465 100644 --- a/src/jrd/met.epp +++ b/src/jrd/met.epp @@ -35,7 +35,7 @@ * */ /* -$Id: met.epp,v 1.12 2002-07-04 09:34:19 skywalker Exp $ +$Id: met.epp,v 1.13 2002-07-05 15:00:20 skywalker Exp $ */ // This MUST be at the top of the file #ifdef DARWIN @@ -1184,7 +1184,7 @@ int MET_lookup_field(TDBB tdbb, REL relation, CONST TEXT* name, CONST TEXT* secu DBB dbb; BLK request; VEC vector; - vec::iterator field, end; + vec::iterator fieldIter, end; CONST TEXT* p; CONST TEXT* q; USHORT id; @@ -1195,36 +1195,34 @@ int MET_lookup_field(TDBB tdbb, REL relation, CONST TEXT* name, CONST TEXT* secu /* Start by checking field names that we already know */ - if ( (vector = relation->rel_fields) ) - { + if ( (vector = relation->rel_fields) ) { length = strlen(name); - for (field = vector->begin(), id = 0, end = vector->end(); field < end; field++, id++) { - if (*field && ((FLD)(*field))->fld_length == length && - (p = ((FLD)(*field))->fld_name)) { + for (fieldIter = vector->begin(), id = 0, end = vector->end(); + fieldIter < end; fieldIter++, id++) { + if (*fieldIter) { + FLD field = (FLD) *fieldIter; - q = name; - while (*p++ == *q) { + if (field->fld_length == length && (p = field->fld_name)) { + q = name; + while (*p++ == *q) { // Check equal till end of string + if (!*q++) { // Found end of string and so are equal + if (!security_name) { + return id; + } - if (!*q++) { - - USHORT nl, nl2; - - if (!security_name) { - return id; + USHORT nl2 = name_length (security_name); + if (field->fld_security_name) { + USHORT nl = name_length(field->fld_security_name); + if (nl == nl2 && !strncmp(field->fld_security_name, security_name, nl)) { + return id; + } + } } - - nl2 = name_length (security_name); - - if ((*field)->fld_security_name - && (nl = name_length ((*field)->fld_security_name)) == nl2 - && !strncmp ((*field)->fld_security_name, security_name, nl)) { - return id; - } - } - } - } - } - } + } + } + } + } + } /* Not found. Next, try system relations directly */ @@ -4187,7 +4185,7 @@ static void store_dependencies(TDBB tdbb, break; case obj_procedure: procedure = (PRC) node->nod_arg [e_dep_object]; - dpdo_name = procedure->prc_name->str_data; + dpdo_name = (TEXT*) procedure->prc_name->str_data; break; case obj_exception: number = (SLONG) node->nod_arg [e_dep_object]; diff --git a/src/jrd/scl.epp b/src/jrd/scl.epp index 9dd3b55680..75eac4213c 100644 --- a/src/jrd/scl.epp +++ b/src/jrd/scl.epp @@ -295,7 +295,7 @@ void SCL_check_index( TDBB tdbb, TEXT * index_name, UCHAR index_id, USHORT mask) CROSS RF IN RDB$RELATION_FIELDS OVER RDB$FIELD_NAME WITH RF.RDB$RELATION_NAME EQ reln_name - AND ISEG.RDB$INDEX_NAME EQ index_name_ptr + AND ISEG.RDB$INDEX_NAME EQ idx_name_ptr if (!RF.RDB$SECURITY_CLASS.NULL) { s_class = SCL_get_class(RF.RDB$SECURITY_CLASS); diff --git a/src/jrd/sort.cpp b/src/jrd/sort.cpp index a76bf0004a..f6536ab004 100644 --- a/src/jrd/sort.cpp +++ b/src/jrd/sort.cpp @@ -19,7 +19,7 @@ * * All Rights Reserved. * Contributor(s): ______________________________________. - * $Id: sort.cpp,v 1.8 2002-07-01 15:07:18 skywalker Exp $ + * $Id: sort.cpp,v 1.9 2002-07-05 15:00:20 skywalker Exp $ * * 2001-09-24 SJL - Temporary fix for large sort file bug * @@ -121,7 +121,8 @@ extern double MTH$CVT_D_G(), MTH$CVT_G_D(); As the diddle_key routines differ on VAX (little endian) and non VAX (big endian) patforms, making the following CONST caused a core on the Intel Platforms, while Solaris was working fine. */ -static ULONG low_key[] = { 0, 0, 0, 0, 0, 0 }, +static ULONG low_key[] = { 0, 0, 0, 0, 0, 0 }; + static ULONG high_key[] = { ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, ULONG_MAX, diff --git a/src/make.defaults b/src/make.defaults index 95c6871622..e20c13bd4d 100644 --- a/src/make.defaults +++ b/src/make.defaults @@ -26,7 +26,7 @@ # Contributor(s): # # -# $Id: make.defaults,v 1.5 2002-07-04 09:34:18 skywalker Exp $ +# $Id: make.defaults,v 1.6 2002-07-05 15:00:16 skywalker Exp $ # @@ -44,7 +44,8 @@ #_____________________________________________________________________________ -RealFirebirdPath = $(shell cd $(FIREBIRD); pwd) +#RealFirebirdPath = $(shell cd $(FIREBIRD); pwd) +RealFirebirdPath = /home/odonohue/src/firebird_work2/build/firebird2/gen/firebird FirebirdInstallPrefix = /usr/local/firebird diff --git a/src/make.new/Makefile.in.dsql b/src/make.new/Makefile.in.dsql index 9d9b8cc21a..78bc678269 100644 --- a/src/make.new/Makefile.in.dsql +++ b/src/make.new/Makefile.in.dsql @@ -26,7 +26,7 @@ # Contributor(s): # # -# $Id: Makefile.in.dsql,v 1.5 2001-12-24 02:50:52 tamlin Exp $ +# $Id: Makefile.in.dsql,v 1.6 2002-07-05 15:00:20 skywalker Exp $ # ROOT=../.. @@ -70,7 +70,7 @@ DSQL_CLIENT_P_OBJECTS= array.bin blob.bin preparse.bin user_dsql.bin utld.bin y.tab.c: parse.y $(YACC) -l $(YFLAGS) $< -parse.cpp: parse.sed y.tab.c +$(SRC)/parse.cpp: parse.sed y.tab.c # replace the above line with the following three for FLINTSTONE # awk -f parse.awk FLINTSTONE=1 < $< > tmp.$< # $(YACC) -l $(YFLAGS) tmp.$< diff --git a/src/make.new/Makefile.in.firebird b/src/make.new/Makefile.in.firebird index ea26b0bee2..30deceb43f 100644 --- a/src/make.new/Makefile.in.firebird +++ b/src/make.new/Makefile.in.firebird @@ -26,7 +26,7 @@ # Contributor(s): # # -# $Id: Makefile.in.firebird,v 1.15 2002-07-04 09:34:19 skywalker Exp $ +# $Id: Makefile.in.firebird,v 1.16 2002-07-05 15:00:20 skywalker Exp $ # # 2002.02.15 Sean Leyne - Code Cleanup, removed obsolete "EPSON" define # @@ -43,11 +43,8 @@ include $(ROOT)/src/make.shared.variables ISC_USER= sysdba ISC_PASSWORD= masterkey -LD_LIBRARY_PATH=/home/odonohue/src/firebird2/gen/firebird/lib:/usr/lib - - -#RealFirebirdPath = $(shell cd $(FIREBIRD); pwd) - +#LD_LIBRARY_PATH=/home/odonohue/src/firebird2/gen/firebird/lib:/usr/lib +TEST_PATH = @FIREBIRD_BUILD_DIR@ LD_LIBRARY_PATH=$(RealFirebirdPath)/lib export ISC_USER @@ -1233,4 +1230,4 @@ superrpmfile: force FORCE: -force: \ No newline at end of file +force: diff --git a/src/make.new/config/config.h.in b/src/make.new/config/config.h.in index 3a786a6b00..a922e0c596 100644 --- a/src/make.new/config/config.h.in +++ b/src/make.new/config/config.h.in @@ -39,6 +39,9 @@ #undef HAVE_UNISTD_H #undef HAVE_VARARGS_H +#undef HAVE_STRLCPY +#undef HAVE_STRLCAT + /* types */ #undef socklen_t diff --git a/src/make.new/make.defaults b/src/make.new/make.defaults index aa39f98e10..b33c1dda35 100755 --- a/src/make.new/make.defaults +++ b/src/make.new/make.defaults @@ -26,7 +26,7 @@ # Contributor(s): # # -# $Id: make.defaults,v 1.11 2002-06-23 19:51:30 paul_reeves Exp $ +# $Id: make.defaults,v 1.12 2002-07-05 15:00:21 skywalker Exp $ # @@ -44,7 +44,8 @@ #_____________________________________________________________________________ -RealFirebirdPath = $(shell cd $(FIREBIRD); pwd) +#RealFirebirdPath = $(shell cd $(FIREBIRD); pwd) +RealFirebirdPath = @NEW_FIREBIRD_DIR@ FirebirdInstallPrefix = @prefix@ diff --git a/src/make.new/make.shared.variables b/src/make.new/make.shared.variables index 9bfe45af2e..dec817a19f 100644 --- a/src/make.new/make.shared.variables +++ b/src/make.new/make.shared.variables @@ -16,7 +16,9 @@ WHY_BACKEND_Sources= whybk.c # why.c does the switch to determine the actual implementation to use -JRD_Sources= ail.cpp all.cpp alt.cpp bookmark.cpp blb.cpp blob_filter.cpp btr.cpp builtin.cpp \ +JRD_CSources = $(WHY_Sources) + +JRD_CppSources= ail.cpp all.cpp alt.cpp bookmark.cpp blb.cpp blob_filter.cpp btr.cpp builtin.cpp \ cch.cpp cmp.cpp cvt.cpp cvt2.cpp db_alias.cpp \ dfw.cpp divorce.cpp dls.cpp dpm.cpp dsc.cpp dyn.cpp dyn_def.cpp dyn_del.cpp \ dyn_mod.cpp dyn_util.cpp enc.cpp err.cpp iberr.cpp \ @@ -29,12 +31,14 @@ JRD_Sources= ail.cpp all.cpp alt.cpp bookmark.cpp blb.cpp blob_filter.cpp btr.cp rng.cpp rse.cpp sbm.cpp sch.cpp scl.cpp \ sdl.cpp sdw.cpp shut.cpp sort.cpp sort_mem.cpp sqz.cpp status.cpp svc.cpp sym.cpp \ thd.cpp tpc.cpp tra.cpp utl.cpp val.cpp vio.cpp \ - $(IO_Sources) $(DEBUG_Sources) $(WHY_Sources) \ + $(IO_Sources) $(DEBUG_Sources) \ ../common/fb_exception.cpp +JRD_Sources = $(JRD_CppSources) $(JRD_CSources) + +JRD_Objects = $(JRD_CppSources:%.cpp=$(GEN_ROOT)/jrd/%.o) \ + $(JRD_CSources:%.c=$(GEN_ROOT)/jrd/%.o) -JRD_ObjectsX = $(JRD_Sources:%.cpp=$(GEN_ROOT)/jrd/%.o) -JRD_Objects = $(JRD_ObjectsX:%.c=$(GEN_ROOT)/jrd/%.o) # One extra rule for why.c JRD_SharedObjects = $(JRD_Objects:.o=.lo) @@ -49,12 +53,17 @@ JRD_SharedObjects = $(JRD_Objects:.o=.lo) # # dsql -DSQL_Sources= alld.cpp array.cpp blob.cpp ddl.cpp dsql.cpp \ +DSQL_CSources = +DSQL_CppSources= alld.cpp array.cpp blob.cpp ddl.cpp dsql.cpp \ errd.cpp gen.cpp hsh.cpp make.cpp metd.cpp \ movd.cpp parse.cpp pass1.cpp preparse.cpp \ user_dsql.cpp utld.cpp -DSQL_Objects=$(DSQL_Sources:%.cpp=$(GEN_ROOT)/dsql/%.o) +DSQL_Sources = $(DSQL_CppSources) $(DSQL_CSources) + +DSQL_Objects = $(DSQL_CppSources:%.cpp=$(GEN_ROOT)/dsql/%.o) \ + $(DSQL_CSources:%.c=$(GEN_ROOT)/dsql/%.o) + DSQL_SharedObjects=$(DSQL_Objects:.o=.lo) diff --git a/src/make.platform b/src/make.platform index 739fe7a124..99724da2c9 100644 --- a/src/make.platform +++ b/src/make.platform @@ -15,7 +15,7 @@ # All Rights Reserved. # Contributor(s): ______________________________________. # Start of file prefix.linux: $(VERSION) $(PLATFORM) -#$Id: make.platform,v 1.5 2002-07-04 09:34:18 skywalker Exp $ +#$Id: make.platform,v 1.6 2002-07-05 15:00:16 skywalker Exp $ #Revision 1.6 2000/12/01 11:20:31 fsg #Added SHRLIB_EXT to prefix.linux #Added Platform Manager rules PR 2002-06-22 diff --git a/src/make.rules b/src/make.rules index 3e0cb0b7b2..b128db4a13 100644 --- a/src/make.rules +++ b/src/make.rules @@ -26,7 +26,7 @@ # Contributor(s): # # -# $Id: make.rules,v 1.5 2002-07-04 09:34:18 skywalker Exp $ +# $Id: make.rules,v 1.6 2002-07-05 15:00:17 skywalker Exp $ # #____________________________________________________________________________ @@ -145,10 +145,10 @@ LINK_OPTIONS= #ReadlineLibs = -lreadline -ltermcap #ReadlineLibs = -lreadline -lncurses #ReadlineLibs:= -lreadline -#LINK_LIBS:= -lm -lstdc++ $(ReadlineLibs) -lstdc++ -lreadline -lcurses -lm -lc -ldl -lcrypt -lc -ldl -lcrypt +#LINK_LIBS:= -lm -lstdc++ $(ReadlineLibs) -lstdc++ -lreadline -lcurses -lcrypt -lm -lc -ldl -lc -ldl -lcrypt #STATICLINK_LIBS := -lm -lstdc++ $(ReadlineLibs) -lc -ldl -lcrypt -LINK_LIBS = -lstdc++ -lreadline -lcurses -lm -lc -ldl -lcrypt -STATICLINK_LIBS = -lstdc++ -lreadline -lcurses -lm -lc -ldl -lcrypt +LINK_LIBS = -lstdc++ -lreadline -lcurses -lcrypt -lm -lc -ldl +STATICLINK_LIBS = -lstdc++ -lreadline -lcurses -lcrypt -lm -lc -ldl #LINK_LIBS= -L$(LIB) -lgds -lm -lc -ldl -lcrypt # -lgcc diff --git a/src/make.shared.variables b/src/make.shared.variables index 9bfe45af2e..dec817a19f 100644 --- a/src/make.shared.variables +++ b/src/make.shared.variables @@ -16,7 +16,9 @@ WHY_BACKEND_Sources= whybk.c # why.c does the switch to determine the actual implementation to use -JRD_Sources= ail.cpp all.cpp alt.cpp bookmark.cpp blb.cpp blob_filter.cpp btr.cpp builtin.cpp \ +JRD_CSources = $(WHY_Sources) + +JRD_CppSources= ail.cpp all.cpp alt.cpp bookmark.cpp blb.cpp blob_filter.cpp btr.cpp builtin.cpp \ cch.cpp cmp.cpp cvt.cpp cvt2.cpp db_alias.cpp \ dfw.cpp divorce.cpp dls.cpp dpm.cpp dsc.cpp dyn.cpp dyn_def.cpp dyn_del.cpp \ dyn_mod.cpp dyn_util.cpp enc.cpp err.cpp iberr.cpp \ @@ -29,12 +31,14 @@ JRD_Sources= ail.cpp all.cpp alt.cpp bookmark.cpp blb.cpp blob_filter.cpp btr.cp rng.cpp rse.cpp sbm.cpp sch.cpp scl.cpp \ sdl.cpp sdw.cpp shut.cpp sort.cpp sort_mem.cpp sqz.cpp status.cpp svc.cpp sym.cpp \ thd.cpp tpc.cpp tra.cpp utl.cpp val.cpp vio.cpp \ - $(IO_Sources) $(DEBUG_Sources) $(WHY_Sources) \ + $(IO_Sources) $(DEBUG_Sources) \ ../common/fb_exception.cpp +JRD_Sources = $(JRD_CppSources) $(JRD_CSources) + +JRD_Objects = $(JRD_CppSources:%.cpp=$(GEN_ROOT)/jrd/%.o) \ + $(JRD_CSources:%.c=$(GEN_ROOT)/jrd/%.o) -JRD_ObjectsX = $(JRD_Sources:%.cpp=$(GEN_ROOT)/jrd/%.o) -JRD_Objects = $(JRD_ObjectsX:%.c=$(GEN_ROOT)/jrd/%.o) # One extra rule for why.c JRD_SharedObjects = $(JRD_Objects:.o=.lo) @@ -49,12 +53,17 @@ JRD_SharedObjects = $(JRD_Objects:.o=.lo) # # dsql -DSQL_Sources= alld.cpp array.cpp blob.cpp ddl.cpp dsql.cpp \ +DSQL_CSources = +DSQL_CppSources= alld.cpp array.cpp blob.cpp ddl.cpp dsql.cpp \ errd.cpp gen.cpp hsh.cpp make.cpp metd.cpp \ movd.cpp parse.cpp pass1.cpp preparse.cpp \ user_dsql.cpp utld.cpp -DSQL_Objects=$(DSQL_Sources:%.cpp=$(GEN_ROOT)/dsql/%.o) +DSQL_Sources = $(DSQL_CppSources) $(DSQL_CSources) + +DSQL_Objects = $(DSQL_CppSources:%.cpp=$(GEN_ROOT)/dsql/%.o) \ + $(DSQL_CSources:%.c=$(GEN_ROOT)/dsql/%.o) + DSQL_SharedObjects=$(DSQL_Objects:.o=.lo) diff --git a/src/pipe/head.cpp b/src/pipe/head.cpp index decb6c8c0b..28dbd2e24f 100644 --- a/src/pipe/head.cpp +++ b/src/pipe/head.cpp @@ -28,7 +28,7 @@ * */ - /* $Id: head.cpp,v 1.7 2002-06-29 08:40:25 dimitr Exp $ */ + /* $Id: head.cpp,v 1.8 2002-07-05 15:00:21 skywalker Exp $ */ #include "firebird.h" #include "../jrd/ib_stdio.h" @@ -71,7 +71,7 @@ #include #endif -#if (defined DELTA || defined M88K || defined SCO_UNIX || defined(SINIXZ) +#if (defined DELTA || defined M88K || defined SCO_UNIX || defined SINIXZ) #include #endif diff --git a/src/qli/all.cpp b/src/qli/all.cpp index 57de920538..ef50a58f1d 100644 --- a/src/qli/all.cpp +++ b/src/qli/all.cpp @@ -21,7 +21,7 @@ * Contributor(s): ______________________________________. */ /* -$Id: all.cpp,v 1.6 2002-06-29 08:46:59 dimitr Exp $ +$Id: all.cpp,v 1.7 2002-07-05 15:00:21 skywalker Exp $ */ /*************************************************** @@ -41,7 +41,7 @@ $Id: all.cpp,v 1.6 2002-06-29 08:46:59 dimitr Exp $ - THANK YOU ***************************************************/ -//#include "firebird.h" +#include "firebird.h" #include #include "../qli/everything.h" #include "../qli/all_proto.h" @@ -49,6 +49,7 @@ $Id: all.cpp,v 1.6 2002-06-29 08:46:59 dimitr Exp $ #include "../qli/mov_proto.h" #include "../jrd/gds_proto.h" + #define BLKDEF(type, root, tail) { sizeof (struct root), tail }, static struct { diff --git a/src/qli/picstr.cpp b/src/qli/picstr.cpp index 783d72cbc3..bab80e4bf2 100644 --- a/src/qli/picstr.cpp +++ b/src/qli/picstr.cpp @@ -348,16 +348,16 @@ void PIC_edit( DSC * desc, PIC picture, TEXT ** output, USHORT max_length) switch (picture->pic_type) { case pic_alpha: edit_alpha(desc, picture, output, max_length); - return 0; + return; case pic_numeric: edit_numeric(desc, picture, output); - return 0; + return; case pic_date: edit_date(desc, picture, output); - return 0; + return; case pic_float: edit_float(desc, picture, output); - return 0; + return; default: #ifndef PYXIS BUGCHECK(68); /* Msg 68 PIC_edit: class not yet implemented */ diff --git a/src/utilities/dba.epp b/src/utilities/dba.epp index 8afc53986e..11590e26b7 100644 --- a/src/utilities/dba.epp +++ b/src/utilities/dba.epp @@ -25,9 +25,9 @@ * readonly databases. */ -#include "../jrd/common.h" #include "firebird.h" +#include "../jrd/common.h" #include "../jrd/ib_stdio.h" #include #include @@ -1409,7 +1409,7 @@ static PAG db_read( SLONG page_number) page_number -= fil->fil_min_page - fil->fil_fudge; offset = ((UINT64)page_number) * ((UINT64)tddba->page_size); - if (lseek (fil->fil_desc, offset, 0) == -1) + if (lseek (fil->fil_desc, offset, 0) == -1) { #ifdef SUPERSERVER CMD_UTIL_put_svc_status(tddba->dba_service_blk->svc_status, GSTAT_MSG_FAC, 30, @@ -1782,7 +1782,7 @@ static PAG db_read( SLONG page_number) page_number -= fil->fil_min_page - fil->fil_fudge; offset = ((UINT64)page_number) * ((UINT64)tddba->page_size); - if (lseek (fil->fil_desc, offset, 0) == -1) + if (lseek (fil->fil_desc, offset, 0) == -1) { #ifdef SUPERSERVER CMD_UTIL_put_svc_status(tddba->dba_service_blk->svc_status, GSTAT_MSG_FAC, 30, diff --git a/src/v5_examples/empbuild.c b/src/v5_examples/empbuild.c index 984de6c47d..b4a0235637 100644 --- a/src/v5_examples/empbuild.c +++ b/src/v5_examples/empbuild.c @@ -3,7 +3,7 @@ /*********** Preprocessed module -- do not edit ***************/ /*********** Preprocessed module -- do not edit ***************/ /*********** Preprocessed module -- do not edit ***************/ -/***************** gpre version LI-T2.0.0.253 Firebird2 Dev1 **********************/ +/***************** gpre version LI-T2.0.0.455 Firebird2 Dev1 **********************/ /* * The contents of this file are subject to the Interbase Public * License Version 1.0 (the "License"); you may not use this file