8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 17:23:03 +01:00

Changes to compile fb2 under autoconf includes some structural changes

This commit is contained in:
skywalker 2001-07-29 17:42:23 +00:00
parent 562bc342e7
commit 365a7fe19c
154 changed files with 1725 additions and 6415 deletions

View File

@ -21,6 +21,8 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#pragma intrinsic GETPRIVMODE, GETUSERMODE #pragma intrinsic GETPRIVMODE, GETUSERMODE
#pragma intrinsic_file "aifintr.pub.sys" #pragma intrinsic_file "aifintr.pub.sys"
#pragma intrinsic AIFPORTCLOSE, AIFPORTOPEN, AIFPORTRECEIVE, AIFPORTSEND, AIFPORTINT #pragma intrinsic AIFPORTCLOSE, AIFPORTOPEN, AIFPORTRECEIVE, AIFPORTSEND, AIFPORTINT

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/ods.h" #include "../jrd/ods.h"
@ -30,7 +31,7 @@
#include "../jrd/pio.h" #include "../jrd/pio.h"
#include "../jrd/dsc.h" #include "../jrd/dsc.h"
#include "../wal/wal.h" #include "../wal/wal.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/flags.h" #include "../jrd/flags.h"
#include "../jrd/sbm.h" #include "../jrd/sbm.h"
#include "../jrd/sdw.h" #include "../jrd/sdw.h"
@ -260,10 +261,10 @@ void AIL_disable(void)
journal_dir[jd_len] = 0; journal_dir[jd_len] = 0;
if (!jd_len) if (!jd_len)
ERR_post(gds__no_jrn, 0); ERR_post(gds_no_jrn, 0);
if (!dbb->dbb_wal) if (!dbb->dbb_wal)
ERR_post(gds__no_wal, 0); ERR_post(gds_no_wal, 0);
if ((ret_val = JRN_init(tdbb->tdbb_status_vector, &dbb->dbb_journal, if ((ret_val = JRN_init(tdbb->tdbb_status_vector, &dbb->dbb_journal,
dbb->dbb_page_size, dbb->dbb_page_size,
@ -476,14 +477,14 @@ void AIL_enable(
/* Can enable journal only if wal sub system is in use */ /* Can enable journal only if wal sub system is in use */
if (!dbb->dbb_wal) if (!dbb->dbb_wal)
ERR_post(gds__no_wal_no_jrn, 0); ERR_post(gds_no_wal_no_jrn, 0);
/* check if journal is already enabled */ /* check if journal is already enabled */
if (PAG_get_clump if (PAG_get_clump
(HEADER_PAGE, HDR_journal_server, &jd_len, (HEADER_PAGE, HDR_journal_server, &jd_len,
reinterpret_cast < reinterpret_cast <
UCHAR * >(journal_dir))) ERR_post(gds__jrn_present, 0); UCHAR * >(journal_dir))) ERR_post(gds_jrn_present, 0);
/* /*
* check if we are trying to enable long term journaling without * check if we are trying to enable long term journaling without
@ -497,7 +498,7 @@ void AIL_enable(
if (!(log_files[i]->lg_flags & LOG_serial)) { if (!(log_files[i]->lg_flags & LOG_serial)) {
for (i = 0; i < number; i++) for (i = 0; i < number; i++)
ALL_release(reinterpret_cast < frb * >(log_files[i])); ALL_release(reinterpret_cast < frb * >(log_files[i]));
ERR_post(gds__no_archive, 0); ERR_post(gds_no_archive, 0);
} }
} }

View File

@ -17,9 +17,10 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
/* /*
$Id: align.cpp,v 1.1.1.1 2001-05-23 13:26:05 tamlin Exp $ $Id: align.cpp,v 1.2 2001-07-29 17:42:21 skywalker Exp $
*/ */
#include "firebird.h"
#include "../jrd/ibsetjmp.h" #include "../jrd/ibsetjmp.h"
#include <signal.h> #include <signal.h>
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"

View File

@ -25,10 +25,11 @@
#define LOCAL_SHLIB_DEFS #define LOCAL_SHLIB_DEFS
#endif #endif
#include "firebird.h"
#include <string.h> #include <string.h>
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#ifndef GATEWAY #ifndef GATEWAY
#include "../jrd/everything.h" #include "../jrd/everything.h"
@ -41,7 +42,7 @@
#include "../jrd/mov_proto.h" #include "../jrd/mov_proto.h"
#include "../jrd/thd_proto.h" #include "../jrd/thd_proto.h"
#define BLKDEF(type, root, tail) sizeof (struct root), tail, #define BLKDEF(type, root, tail) { sizeof (struct root), tail },
extern "C" { extern "C" {
@ -50,13 +51,14 @@ static const struct {
SSHORT typ_root_length; SSHORT typ_root_length;
SSHORT typ_tail_length; SSHORT typ_tail_length;
} block_sizes[] = { } block_sizes[] = {
0, 0, {0, 0},
#ifndef GATEWAY #ifndef GATEWAY
#include "../jrd/blk.h" #include "../jrd/blk.h"
#else #else
#include ".._gway/gway/blk.h" #include ".._gway/gway/blk.h"
#endif #endif
0}; {0, 0}
};
#undef BLKDEF #undef BLKDEF
@ -559,8 +561,8 @@ SCHAR *ALL_malloc(ULONG size, ERR_T err_ret)
/* NOMEM: post user level error */ /* NOMEM: post user level error */
if (err_ret == ERR_jmp) if (err_ret == ERR_jmp)
ERR_post(gds__sys_request, gds_arg_string, "gds__alloc", gds_arg_gds, ERR_post(gds_sys_request, gds_arg_string, "gds__alloc", gds_arg_gds,
gds__virmemexh, 0); gds_virmemexh, 0);
return NULL; return NULL;
} }
@ -892,8 +894,8 @@ SCHAR *ALL_sys_alloc(ULONG size, ERR_T err_ret)
/* NOMEM: post user level error */ /* NOMEM: post user level error */
if (err_ret == ERR_jmp) if (err_ret == ERR_jmp)
ERR_post(gds__sys_request, gds_arg_string, "gds__sys_alloc", ERR_post(gds_sys_request, gds_arg_string, "gds__sys_alloc",
gds_arg_gds, gds__virmemexh, 0); gds_arg_gds, gds_virmemexh, 0);
return NULL; return NULL;
} }

View File

@ -21,9 +21,11 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/alt_use_sec.h"
#define IS_VALID_SERVER(server) if (!server || !*server) \ #define IS_VALID_SERVER(server) if (!server || !*server) \
{ \ { \
@ -36,7 +38,7 @@
#include <stdarg.h> #include <stdarg.h>
#include "../jrd/pwd.h" #include "../jrd/pwd.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/gds_proto.h" #include "../jrd/gds_proto.h"
#include "../jrd/utl_proto.h" #include "../jrd/utl_proto.h"
#include "../jrd/why_proto.h" #include "../jrd/why_proto.h"
@ -893,7 +895,7 @@ int API_ROUTINE isc_add_user(STATUS * status, USER_SEC_DATA * user_data)
* Return > 0 if any error occurs. * Return > 0 if any error occurs.
* *
**************************************/ **************************************/
#ifdef PHASE_1 #ifdef PHASE_1_BUILD_NO_SECURITY_DB
return 1; return 1;
#else #else
USHORT retval = 0, l; USHORT retval = 0, l;
@ -1078,7 +1080,7 @@ int API_ROUTINE isc_delete_user(STATUS * status, USER_SEC_DATA * user_data)
* Return > 0 if any error occurs. * Return > 0 if any error occurs.
* *
**************************************/ **************************************/
#ifdef PHASE_1 #ifdef PHASE_1_BUILD_NO_SECURITY_DB
return 1; return 1;
#else #else
USHORT retval = 0, l; USHORT retval = 0, l;
@ -1143,7 +1145,7 @@ int API_ROUTINE isc_modify_user(STATUS * status, USER_SEC_DATA * user_data)
* Return > 0 if any error occurs. * Return > 0 if any error occurs.
* *
**************************************/ **************************************/
#ifdef PHASE_1 #ifdef PHASE_1_BUILD_NO_SECURITY_DB
return 1; return 1;
#else #else
USHORT retval = 0, l; USHORT retval = 0, l;
@ -1300,7 +1302,7 @@ void *open_security_db(
* Returns NULL otherwise * Returns NULL otherwise
* *
**************************************/ **************************************/
#ifdef PHASE_1 #ifdef PHASE_1_BUILD_NO_SECURITY_DB
return 0; return 0;
#else #else
short dpb_length, l = 0; short dpb_length, l = 0;

54
src/jrd/alt_use_sec.h.pre Normal file
View File

@ -0,0 +1,54 @@
#ifndef INCLUDE_alt_use_sec
#define INCLUDE_alt_use_sec
/*
*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (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.mozilla.org/MPL/
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. You may obtain a copy of the Licence at
* http://www.gnu.org/copyleft/gpl.html
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* Relevant for more details.
*
* This file was created by members of the firebird development team.
* All individual contributions remain the Copyright (C) of those
* individuals. Contributors to this file are either listed here or
* can be obtained from a CVS history command.
*
* All rights reserved.
*
* Contributor(s):
* Mark O'Donohue <mark.odonohue@ludwig.edu.au>
* John Bellardo <bellardo@cs.ucsd.edu>
*
*
* $Id: alt_use_sec.h.pre,v 1.1 2001-07-29 17:42:21 skywalker Exp $
*
*/
// During the build process in the initial stages the isc4.gdb database does
// not exist, but to build the isc4.gdb database the tools need to be built.
// So the following #define is set/unset in the makefile depending upon which
// stage in the compile process we are up to.
//
// In the earlier stages it is set to "1" then after we have build a set of
// tools mainly gpre_static and gbak_static it is changed to an "undef".
//
// The alt_use_sec.h file is built from alt_use_sec.h.pre using sed
// See the Makefile.in.jrd for the two places where the .h file is built.
//
// The build is done this way to allow the makefile to have a simple set
// of dependancies to determine the makeup and up to date check for
// libgds.a/so.
#define PHASE_1_BUILD_NO_SECURITY_DB
#endif

View File

@ -24,9 +24,10 @@
* readonly databases. * readonly databases.
*/ */
/* /*
$Id: blb.cpp,v 1.3 2001-07-12 05:46:04 bellardo Exp $ $Id: blb.cpp,v 1.4 2001-07-29 17:42:21 skywalker Exp $
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include "../jrd/ibsetjmp.h" #include "../jrd/ibsetjmp.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
@ -37,7 +38,7 @@ $Id: blb.cpp,v 1.3 2001-07-12 05:46:04 bellardo Exp $
#include "../jrd/blb.h" #include "../jrd/blb.h"
#include "../jrd/ods.h" #include "../jrd/ods.h"
#include "../jrd/lls.h" #include "../jrd/lls.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/blob_filter.h" #include "../jrd/blob_filter.h"
#include "../jrd/sdl.h" #include "../jrd/sdl.h"
#include "../jrd/intl.h" #include "../jrd/intl.h"
@ -63,7 +64,7 @@ $Id: blb.cpp,v 1.3 2001-07-12 05:46:04 bellardo Exp $
#include "../jrd/thd_proto.h" #include "../jrd/thd_proto.h"
extern "C" { //extern "C" {
#define STREAM (blob->blb_flags & BLB_stream) #define STREAM (blob->blb_flags & BLB_stream)
@ -463,9 +464,9 @@ USHORT BLB_get_segment(TDBB tdbb,
if (status = if (status =
BLF_get_segment(tdbb, &blob->blb_filter, &length, buffer_length, BLF_get_segment(tdbb, &blob->blb_filter, &length, buffer_length,
segment)) { segment)) {
if (status == gds__segstr_eof) if (status == gds_segstr_eof)
blob->blb_flags |= BLB_eof; blob->blb_flags |= BLB_eof;
else if (status == gds__segment) else if (status == gds_segment)
blob->blb_fragment_size = 1; blob->blb_fragment_size = 1;
else else
ERR_punt(); ERR_punt();
@ -751,7 +752,7 @@ SLONG BLB_lseek(BLB blob, USHORT mode, SLONG offset)
**************************************/ **************************************/
if (!(blob->blb_flags & BLB_stream)) if (!(blob->blb_flags & BLB_stream))
ERR_post(gds__bad_segstr_type, 0); ERR_post(gds_bad_segstr_type, 0);
if (mode == 1) if (mode == 1)
offset += blob->blb_seek; offset += blob->blb_seek;
@ -838,7 +839,7 @@ void BLB_move(TDBB tdbb, DSC * from_desc, DSC * to_desc, NOD field)
BUGCHECK(199); /* msg 199 expected field node */ BUGCHECK(199); /* msg 199 expected field node */
if (from_desc->dsc_dtype != dtype_quad if (from_desc->dsc_dtype != dtype_quad
&& from_desc->dsc_dtype != dtype_blob) ERR_post(gds__convert_error, && from_desc->dsc_dtype != dtype_blob) ERR_post(gds_convert_error,
gds_arg_string, gds_arg_string,
"BLOB", 0); "BLOB", 0);
@ -921,7 +922,7 @@ void BLB_move(TDBB tdbb, DSC * from_desc, DSC * to_desc, NOD field)
blob->blb_attachment != tdbb->tdbb_attachment || blob->blb_attachment != tdbb->tdbb_attachment ||
!(blob->blb_flags & BLB_closed) || !(blob->blb_flags & BLB_closed) ||
(blob->blb_request && blob->blb_request != request)) (blob->blb_request && blob->blb_request != request))
ERR_post(gds__bad_segstr_id, 0); ERR_post(gds_bad_segstr_id, 0);
if (materialized_blob && !(blob->blb_flags & BLB_temporary)) { if (materialized_blob && !(blob->blb_flags & BLB_temporary)) {
refetch_flag = TRUE; refetch_flag = TRUE;
@ -1109,7 +1110,7 @@ BLB BLB_open2(TDBB tdbb,
if (blob_id->bid_relation_id >= vector->vec_count || if (blob_id->bid_relation_id >= vector->vec_count ||
!(blob->blb_relation = !(blob->blb_relation =
(REL) vector->vec_object[blob_id->bid_relation_id])) (REL) vector->vec_object[blob_id->bid_relation_id]))
ERR_post(gds__bad_segstr_id, 0); ERR_post(gds_bad_segstr_id, 0);
DPM_get_blob(tdbb, blob, blob_id->bid_stuff.bid_number, FALSE, (SLONG) 0); DPM_get_blob(tdbb, blob, blob_id->bid_stuff.bid_number, FALSE, (SLONG) 0);
@ -1335,7 +1336,7 @@ SLONG * param, SLONG slice_length, UCHAR * slice)
IBERROR(197); /* msg 197 field for array not known */ IBERROR(197); /* msg 197 field for array not known */
if (!(array_desc = field->fld_array)) if (!(array_desc = field->fld_array))
ERR_post(gds__invalid_dimension, gds_arg_number, (SLONG) 0, ERR_post(gds_invalid_dimension, gds_arg_number, (SLONG) 0,
gds_arg_number, (SLONG) 1, 0); gds_arg_number, (SLONG) 1, 0);
/* Find and/or allocate array block. There are three distinct cases: /* Find and/or allocate array block. There are three distinct cases:
@ -1645,9 +1646,9 @@ static STATUS blob_filter(
BLB_get_segment(tdbb, blob, control->ctl_buffer, BLB_get_segment(tdbb, blob, control->ctl_buffer,
control->ctl_buffer_length); control->ctl_buffer_length);
if (blob->blb_flags & BLB_eof) if (blob->blb_flags & BLB_eof)
return gds__segstr_eof; return gds_segstr_eof;
if (blob->blb_fragment_size) if (blob->blb_fragment_size)
return gds__segment; return gds_segment;
return SUCCESS; return SUCCESS;
case ACTION_create: case ACTION_create:
@ -1682,7 +1683,7 @@ static STATUS blob_filter(
return BLB_lseek((BLB) control->ctl_source_handle, mode, offset); return BLB_lseek((BLB) control->ctl_source_handle, mode, offset);
default: default:
ERR_post(gds__uns_ext, 0); ERR_post(gds_uns_ext, 0);
return SUCCESS; return SUCCESS;
} }
} }
@ -1724,7 +1725,7 @@ static void check_BID_validity(BLB blob, TDBB tdbb)
blob->blb_attachment != tdbb->tdbb_attachment || blob->blb_attachment != tdbb->tdbb_attachment ||
blob->blb_level > 2 || !(blob->blb_flags & BLB_temporary)) blob->blb_level > 2 || !(blob->blb_flags & BLB_temporary))
ERR_post(gds__bad_segstr_id, 0); ERR_post(gds_bad_segstr_id, 0);
} }
@ -2278,7 +2279,7 @@ static void slice_callback(SLICE arg, ULONG count, DSC * descriptors)
next = (BLOB_PTR *) slice_desc->dsc_address + arg->slice_element_length; next = (BLOB_PTR *) slice_desc->dsc_address + arg->slice_element_length;
if ((BLOB_PTR *) next > (BLOB_PTR *) arg->slice_end) if ((BLOB_PTR *) next > (BLOB_PTR *) arg->slice_end)
ERR_post(gds__out_of_bounds, 0); ERR_post(gds_out_of_bounds, 0);
if ((BLOB_PTR *) array_desc->dsc_address < (BLOB_PTR *) arg->slice_base) if ((BLOB_PTR *) array_desc->dsc_address < (BLOB_PTR *) arg->slice_base)
ERR_error(198); /* msg 198 array subscript computation error */ ERR_error(198); /* msg 198 array subscript computation error */
@ -2421,4 +2422,4 @@ static BLB store_array(TDBB tdbb, TRA transaction, BID blob_id)
} }
} // extern "C" //} // extern "C"

View File

@ -31,7 +31,7 @@
#include "../jrd/val.h" #include "../jrd/val.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { //extern "C" {
#endif #endif
extern void BLB_cancel(TDBB, struct blb *); extern void BLB_cancel(TDBB, struct blb *);
@ -61,7 +61,7 @@ extern void BLB_scalar(TDBB, struct tra *, struct bid *, USHORT, SLONG *,
struct vlu *); struct vlu *);
#ifdef __cplusplus #ifdef __cplusplus
} /* extern "C" */ //} /* extern "C" */
#endif #endif
#endif /* _JRD_BLB_PROTO_H_ */ #endif /* _JRD_BLB_PROTO_H_ */

View File

@ -30,11 +30,12 @@
* *
* Marco Romanini (27-January-1999) */ * Marco Romanini (27-January-1999) */
#include "firebird.h"
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/blob_filter.h" #include "../jrd/blob_filter.h"
#include "../jrd/tra.h" #include "../jrd/tra.h"
#include "../jrd/constants.h" #include "../jrd/constants.h"
@ -51,7 +52,7 @@
#include "../jrd/thd_proto.h" #include "../jrd/thd_proto.h"
#include "../jrd/isc_s_proto.h" #include "../jrd/isc_s_proto.h"
#include "../jrd/all_proto.h" #include "../jrd/all_proto.h"
#include "../jrd/codes.h" #include "gen/codes.h"
/* System provided internal filters for filtering internal /* System provided internal filters for filtering internal
* subtypes to text. * subtypes to text.
@ -195,7 +196,7 @@ STATUS DLL_EXPORT BLF_get_segment(TDBB tdbb,
status = (*control->ctl_source) (ACTION_get_segment, control); status = (*control->ctl_source) (ACTION_get_segment, control);
if (!status || status == gds__segment) if (!status || status == gds_segment)
*length = control->ctl_segment_length; *length = control->ctl_segment_length;
else else
*length = 0; *length = 0;
@ -350,13 +351,13 @@ USHORT bpb_length, UCHAR * bpb, PTR callback, USHORT action, BLF filter)
if ((!filter) || (!filter->blf_filter)) { if ((!filter) || (!filter->blf_filter)) {
*user_status++ = gds_arg_gds; *user_status++ = gds_arg_gds;
*user_status++ = gds__nofilter; *user_status++ = gds_nofilter;
*user_status++ = gds_arg_number; *user_status++ = gds_arg_number;
*user_status++ = (STATUS) from; *user_status++ = (STATUS) from;
*user_status++ = gds_arg_number; *user_status++ = gds_arg_number;
*user_status++ = (STATUS) to; *user_status++ = (STATUS) to;
*user_status = gds_arg_end; *user_status = gds_arg_end;
return gds__nofilter; return gds_nofilter;
} }
/* Allocate a filter control block and open blob */ /* Allocate a filter control block and open blob */

View File

@ -16,124 +16,125 @@
* All Rights Reserved. * All Rights Reserved.
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
NULL, NULL, {NULL, NULL},
"assignment", two, {"assignment", two},
"begin", begin, {"begin", begin},
"declare", declare, {"declare", declare},
"message", message, {"message", message},
"erase", byte, {"erase", byte},
"fetch", two, "for", two, "if", three, "loop", one, "modify", byte_byte_verb, /* 10 */ {"fetch", two}, {"for", two}, {"if", three}, {"loop", one}, {"modify", byte_byte_verb}, /* 10 */
"handler", one, {"handler", one},
"receive", byte_verb, {"receive", byte_verb},
"select", begin, {"select", begin},
"send", byte_verb, {"send", byte_verb},
"store", two, {"store", two},
NULL, NULL, "label", byte_verb, "leave", byte, "store2", three, "post", one, /* 20 */ {NULL, NULL}, {"label", byte_verb}, {"leave", byte}, {"store2", three}, {"post", one}, /* 20 */
"literal", literal, {"literal", literal},
"dbkey", byte, {"dbkey", byte},
"field", field, {"field", field},
"fid", parm, {"fid", parm},
"parameter", parm, {"parameter", parm},
"variable", variable, {"variable", variable},
"average", two, "count", one, "maximum", two, "minimum", two, /* 30 */ {"average", two}, {"count", one}, {"maximum", two}, {"minimum", two}, /* 30 */
"total", two, {"total", two},
"count2", two, {"count2", two},
NULL, NULL, {NULL, NULL},
"add", two, {"add", two},
"subtract", two, {"subtract", two},
"multiply", two, {"multiply", two},
"divide", two, "negate", one, "concatenate", two, "substring", three, /* 40 */ {"divide", two}, {"negate", one}, {"concatenate", two}, {"substring", three}, /* 40 */
"parameter2", parm2, {"parameter2", parm2},
"from", two, {"from", two},
"via", three, {"via", three},
"user_name", zero, {"user_name", zero},
"null", zero, NULL, NULL, "eql", two, "neq", two, "gtr", two, "geq", two, /* 50 */ {"null", zero}, {NULL, NULL}, {"eql", two}, {"neq", two}, {"gtr", two}, {"geq", two}, /* 50 */
"lss", two, {"lss", two},
"leq", two, {"leq", two},
"containing", two, {"containing", two},
"matching", two, {"matching", two},
"starting", two, {"starting", two},
"between", three, "or", two, "and", two, "not", one, "any", one, /* 60 */ {"between", three}, {"or", two}, {"and", two}, {"not", one}, {"any", one}, /* 60 */
"missing", one, {"missing", one},
"unique", one, {"unique", one},
"like", two, {"like", two},
NULL, NULL, {NULL, NULL},
"stream", begin, {"stream", begin},
"set_index", byte_verb, {"set_index", byte_verb},
"rse", rse, "first", one, "project", byte_args, "sort", byte_args, /* 70 */ {"rse", rse}, {"first", one}, {"project", byte_args}, {"sort", byte_args}, /* 70 */
"boolean", one, {"boolean", one},
"ascending", one, {"ascending", one},
"descending", one, {"descending", one},
"relation", relation, {"relation", relation},
"rid", rid, {"rid", rid},
"union", union_ops, {"union", union_ops},
"map", map, "group_by", byte_args, "aggregate", aggregate, "join_type", join, /* 80 */ {"map", map}, {"group_by", byte_args}, {"aggregate", aggregate}, {"join_type", join}, /* 80 */
NULL, NULL, {NULL, NULL},
NULL, NULL, {NULL, NULL},
"agg_count", zero, {"agg_count", zero},
"agg_max", one, {"agg_max", one},
"agg_min", one, {"agg_min", one},
"agg_total", one, {"agg_total", one},
"agg_average", one, "parameter3", parm3, NULL, NULL, NULL, NULL, /* 90 */ {"agg_average", one}, {"parameter3", parm3}, {NULL, NULL}, {NULL, NULL}, /* 90 */
NULL, NULL, {NULL, NULL},
NULL, NULL, {NULL, NULL},
"agg_count2", one, {"agg_count2", one},
"agg_count_distinct", one, {"agg_count_distinct", one},
"agg_total_distinct", one, {"agg_total_distinct", one},
"agg_average_distinct", one, {"agg_average_distinct", one},
NULL, NULL, NULL, NULL, NULL, NULL, "function", function, /* 100 */ {NULL, NULL}, {NULL, NULL}, {NULL, NULL}, {"function", function}, /* 100 */
"gen_id", gen_id, {"gen_id", gen_id},
"prot_mask", two, {"prot_mask", two},
"upcase", one, {"upcase", one},
"lock_state", one, {"lock_state", one},
"value_if", three, {"value_if", three},
"matching2", three, {"matching2", three},
"index", indx, "ansi_like", three, "bookmark", one, "crack", byte, /* 110 */ {"index", indx}, {"ansi_like", three}, {"bookmark", one}, {"crack", byte}, /* 110 */
"force_crack", byte, {"force_crack", byte},
"seek", seek, {"seek", seek},
"find", find, {"find", find},
"lock_relation", lock_relation, {"lock_relation", lock_relation},
"lock_record", byte_verb, {"lock_record", byte_verb},
"set_bookmark", byte_verb, {"set_bookmark", byte_verb},
"get_bookmark", byte, NULL, NULL, "rs_stream", rse, "exec_proc", exec_proc, /* 120 */ {"get_bookmark", byte}, {NULL, NULL}, {"rs_stream", rse}, {"exec_proc", exec_proc}, /* 120 */
"begin_range", one, {"begin_range", one},
"end_range", two, {"end_range", two},
"delete_range", one, {"delete_range", one},
"procedure", procedure, {"procedure", procedure},
"pid", pid, {"pid", pid},
NULL, NULL, {NULL, NULL},
"singular", one, "abort", set_error, "block", begin, "error_handler", error_handler, /* 130 */ {"singular", one}, {"abort", set_error}, {"block", begin}, {"error_handler", error_handler}, /* 130 */
"cast", cast, {"cast", cast},
"release_lock", one, {"release_lock", one},
"release_locks", zero, {"release_locks", zero},
"start_savepoint", zero, {"start_savepoint", zero},
"end_savepoint", zero, {"end_savepoint", zero},
"find_dbkey", byte_verb, {"find_dbkey", byte_verb},
"range_relation", range_relation, {"range_relation", range_relation},
"delete_ranges", zero, "plan", one, "merge", byte_args, /* 140 */ {"delete_ranges", zero}, {"plan", one}, {"merge", byte_args}, /* 140 */
"join", byte_args, {"join", byte_args},
"sequential", zero, {"sequential", zero},
"navigational", byte_literal, {"navigational", byte_literal},
"indices", indices, {"indices", indices},
"retrieve", two, {"retrieve", two},
"relation2", relation2, {"relation2", relation2},
"rid2", rid2, {"rid2", rid2},
"reset_stream", byte_byte, "release_bookmark", one, "set_generator", gen_id, /* 150 */ {"reset_stream", byte_byte}, {"release_bookmark", one}, {"set_generator", gen_id}, /* 150 */
"ansi_any", one, {"ansi_any", one},
"exists", one, {"exists", one},
"cardinality", byte, {"cardinality", byte},
"record_version", byte, {"record_version", byte},
"stall", zero, {"stall", zero},
"seek_no_warn", seek, {"seek_no_warn", seek},
"find_dbkey_version", byte_verb_verb, "ansi_all", one, {"find_dbkey_version", byte_verb_verb}, {"ansi_all", one},
/* New BLR in 6.0 */ /* New BLR in 6.0 */
"extract", extract, "current_date", zero, /* 160 */ {"extract", extract}, {"current_date", zero}, /* 160 */
"current_timestamp", zero, "current_time", zero, {"current_timestamp", zero}, {"current_time", zero},
/* These verbs were added in 6.0, primarily to support 64-bit integers */ /* These verbs were added in 6.0, primarily to support 64-bit integers */
"add2", two, {"add2", two},
"subtract2", two, {"subtract2", two},
"multiply2", two, {"multiply2", two},
"divide2", two, {"divide2", two},
"agg_total2", one, {"agg_total2", one},
"agg_total_distinct2", one, "agg_average2", one, "agg_average_distinct2", one, /* 170 */ {"agg_total_distinct2", one}, {"agg_average2", one}, {"agg_average_distinct2", one}, /* 170 */
"average2", two, "gen_id2", gen_id, "set_generator2", gen_id, {"average2", two}, {"gen_id2", gen_id},
{"set_generator2", gen_id},

View File

@ -21,8 +21,9 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#define NODE(type, name, keyword) type, #define NODE(type, name, keyword) type,
@ -41,31 +42,18 @@ enum {
sub_type == Expected type of parameter Nodes sub_type == Expected type of parameter Nodes
*/ */
#if defined(__STDC__)
#define STRINGIZER(s) #s #define STRINGIZER(s) #s
#define PAIR(internal, blr, length, count, type, sub_type) \ #define PAIR(internal, blr, length, count, type, sub_type) \
{ blr, #internal, 0, #length, #count, \ { blr, #internal, 0, #length, #count, \
#type, #sub_type }, #type, #sub_type }
#define PAIR2(internal, blr, length, count, type, sub_type) \ #define PAIR2(internal, blr, length, count, type, sub_type) \
{ blr, #internal, STRINGIZER(internal##2), #length, #count, \ { blr, #internal, STRINGIZER(internal##2), #length, #count, \
#type, #sub_type }, #type, #sub_type }
#else
#define PAIR(internal, blr, length, count, type, sub_type) \
{ blr, "internal", 0, "length", "count",\
"type", "sub_type" },
#define PAIR2(internal, blr, length, count, type, sub_type) \
{ blr, "internal", "internal2", "length", "count",\
"type", "sub_type" },
#endif
#ifdef __STDC__
static void print(CONST SCHAR **, int, CONST SCHAR *); static void print(CONST SCHAR **, int, CONST SCHAR *);
#else
static void print();
#endif
typedef struct { typedef struct {
UCHAR blr; UCHAR blr;
@ -78,253 +66,163 @@ typedef struct {
} VERB; } VERB;
static CONST VERB verbs[] = { static CONST VERB verbs[] = {
PAIR(nod_assignment, blr_assignment, e_asgn_length, 2, STATEMENT, VALUE) PAIR(nod_assignment, blr_assignment, e_asgn_length, 2, STATEMENT, VALUE),
PAIR(nod_erase, blr_erase, e_erase_length, 0, STATEMENT, OTHER) PAIR(nod_erase, blr_erase, e_erase_length, 0, STATEMENT, OTHER),
PAIR(nod_dcl_variable, blr_dcl_variable, e_dcl_length, 0, STATEMENT, PAIR(nod_dcl_variable, blr_dcl_variable, e_dcl_length, 0, STATEMENT, OTHER),
OTHER) PAIR(nod_for, blr_fetch, e_for_length, 3, STATEMENT, PAIR(nod_for, blr_fetch, e_for_length, 3, STATEMENT, STATEMENT),
STATEMENT) PAIR(nod_for, blr_for, e_for_length, 3, PAIR(nod_for, blr_for, e_for_length, 3, STATEMENT, STATEMENT),
STATEMENT, PAIR(nod_handler, blr_handler, 1, 1, STATEMENT, OTHER),
STATEMENT) PAIR(nod_handler, PAIR(nod_if, blr_if, e_if_length, 3, STATEMENT, STATEMENT),
blr_handler, 1, 1, PAIR(nod_label, blr_label, e_lbl_length, 1, STATEMENT, STATEMENT),
STATEMENT, PAIR(nod_leave, blr_leave, 1, 0, STATEMENT, OTHER),
OTHER) PAIR(nod_if, PAIR(nod_list, blr_begin, 0, 0, STATEMENT, STATEMENT),
blr_if, PAIR(nod_loop, blr_loop, 1, 1, STATEMENT, STATEMENT),
e_if_length, PAIR(nod_message, blr_message, 0, 0, STATEMENT, OTHER),
3, PAIR(nod_modify, blr_modify, 0, 0, STATEMENT, STATEMENT),
STATEMENT, PAIR(nod_receive, blr_receive, e_send_length, 1, STATEMENT, STATEMENT),
STATEMENT) PAIR(nod_select, blr_select, 0, 0, STATEMENT, STATEMENT),
PAIR(nod_label, blr_label, e_lbl_length, 1, STATEMENT, PAIR(nod_send, blr_send, e_send_length, 1, STATEMENT, STATEMENT),
STATEMENT) PAIR(nod_leave, blr_leave, 1, 0, STATEMENT, PAIR(nod_store, blr_store, e_sto_length, e_sto_length - 1, STATEMENT, STATEMENT),
OTHER) PAIR(nod_list, blr_begin, 0, 0, STATEMENT, PAIR(nod_store, blr_store2, e_sto_length, e_sto_length - 1, STATEMENT, STATEMENT),
STATEMENT) PAIR(nod_loop, blr_loop, PAIR(nod_post, blr_post, 1, 1, STATEMENT, VALUE),
1, 1, STATEMENT, PAIR2(nod_add, blr_add, 2, 2, VALUE, VALUE),
STATEMENT) PAIR(nod_agg_count, blr_agg_count, 1, 0, VALUE, VALUE),
PAIR(nod_message, blr_message, 0, 0, STATEMENT, PAIR(nod_agg_count2, blr_agg_count2, 1, 1, VALUE, VALUE),
OTHER) PAIR(nod_modify, blr_modify, 0, 0, STATEMENT, PAIR(nod_agg_count_distinct, blr_agg_count_distinct, 2, 1, VALUE, VALUE),
STATEMENT) PAIR(nod_receive, blr_receive, PAIR(nod_agg_max, blr_agg_max, 1, 1, VALUE, VALUE),
e_send_length, 1, STATEMENT, PAIR(nod_agg_min, blr_agg_min, 1, 1, VALUE, VALUE),
STATEMENT) PAIR(nod_select, PAIR2(nod_agg_total, blr_agg_total, 1, 1, VALUE, VALUE),
blr_select, 0, 0, PAIR2(nod_agg_total_distinct, blr_agg_total_distinct, 2, 1, VALUE, VALUE),
STATEMENT, PAIR2(nod_agg_average, blr_agg_average, 1, 1, VALUE, VALUE),
STATEMENT) PAIR2(nod_agg_average_distinct, blr_agg_average_distinct, 2, 1, VALUE,
PAIR(nod_send, blr_send, e_send_length, 1, STATEMENT, VALUE),
STATEMENT) PAIR(nod_store, blr_store, e_sto_length, PAIR(nod_argument, blr_parameter, e_arg_length, 0, VALUE, VALUE),
e_sto_length - 1, STATEMENT, PAIR(nod_argument, blr_parameter2, e_arg_length, 0, VALUE, VALUE),
STATEMENT) PAIR(nod_store, blr_store2, PAIR(nod_argument, blr_parameter3, e_arg_length, 0, VALUE, VALUE),
e_sto_length, e_sto_length - 1, PAIR(nod_variable, blr_variable, e_var_length, 0, VALUE, VALUE),
STATEMENT, PAIR(nod_user_name, blr_user_name, 1, 0, VALUE, VALUE),
STATEMENT) PAIR(nod_post, PAIR2(nod_average, blr_average, e_stat_length, 2, VALUE, VALUE),
blr_post, 1, 1, PAIR(nod_concatenate, blr_concatenate, 2, 2, VALUE, VALUE),
STATEMENT, PAIR(nod_count, blr_count, e_stat_length, 1, VALUE, VALUE),
VALUE)
PAIR2(nod_add, blr_add, 2, 2, VALUE, VALUE) PAIR(nod_agg_count,
blr_agg_count, 1, 0,
VALUE,
VALUE)
PAIR(nod_agg_count2, blr_agg_count2, 1, 1, VALUE,
VALUE) PAIR(nod_agg_count_distinct, blr_agg_count_distinct, 2, 1,
VALUE, VALUE) PAIR(nod_agg_max, blr_agg_max, 1, 1,
VALUE, VALUE) PAIR(nod_agg_min,
blr_agg_min, 1,
1, VALUE,
VALUE)
PAIR2(nod_agg_total, blr_agg_total, 1, 1, VALUE,
VALUE) PAIR2(nod_agg_total_distinct, blr_agg_total_distinct, 2,
1, VALUE, VALUE) PAIR2(nod_agg_average,
blr_agg_average, 1, 1,
VALUE,
VALUE)
PAIR2(nod_agg_average_distinct, blr_agg_average_distinct, 2, 1, VALUE,
VALUE) PAIR(nod_argument, blr_parameter, e_arg_length, 0, VALUE,
VALUE) PAIR(nod_argument, blr_parameter2,
e_arg_length, 0, VALUE,
VALUE) PAIR(nod_argument,
blr_parameter3,
e_arg_length, 0, VALUE,
VALUE) PAIR(nod_variable,
blr_variable,
e_var_length, 0,
VALUE,
VALUE)
PAIR(nod_user_name, blr_user_name, 1, 0, VALUE, VALUE)
PAIR2(nod_average, blr_average, e_stat_length, 2, VALUE,
VALUE) PAIR(nod_concatenate, blr_concatenate, 2, 2, VALUE,
VALUE) PAIR(nod_count, blr_count, e_stat_length, 1,
VALUE, VALUE)
/* count2 /* count2
PAIR (nod_count2, blr_count2, e_stat_length, 2, VALUE, VALUE) , PAIR (nod_count2, blr_count2, e_stat_length, 2, VALUE, VALUE)
*/ */
PAIR(nod_dbkey, blr_dbkey, 1, 0, VALUE, VALUE) PAIR(nod_dbkey, blr_dbkey, 1, 0, VALUE, VALUE),
PAIR2(nod_divide, blr_divide, 2, 2, VALUE, VALUE) PAIR2(nod_divide, blr_divide, 2, 2, VALUE, VALUE),
PAIR(nod_field, blr_fid, 0, 0, VALUE, VALUE) PAIR(nod_field, blr_fid, 0, 0, VALUE, VALUE),
PAIR(nod_field, blr_field, 0, 0, VALUE, VALUE) PAIR(nod_field, blr_field, 0, 0, VALUE, VALUE),
PAIR(nod_from, blr_via, e_stat_length, 3, VALUE, OTHER) PAIR(nod_from, blr_via, e_stat_length, 3, VALUE, OTHER),
PAIR(nod_from, blr_from, e_stat_length, 2, VALUE, OTHER) PAIR(nod_from, blr_from, e_stat_length, 2, VALUE, OTHER),
PAIR(nod_function, blr_function, 0, 0, VALUE, VALUE) PAIR(nod_function, blr_function, 0, 0, VALUE, VALUE),
PAIR(nod_literal, blr_literal, 0, 0, VALUE, OTHER) PAIR(nod_literal, blr_literal, 0, 0, VALUE, OTHER),
PAIR(nod_scalar, blr_index, 2, 2, VALUE, VALUE) PAIR(nod_scalar, blr_index, 2, 2, VALUE, VALUE),
PAIR(nod_max, blr_maximum, e_stat_length, 2, VALUE, VALUE) PAIR(nod_max, blr_maximum, e_stat_length, 2, VALUE, VALUE),
PAIR(nod_min, blr_minimum, e_stat_length, 2, VALUE, VALUE) PAIR(nod_min, blr_minimum, e_stat_length, 2, VALUE, VALUE),
PAIR(nod_null, blr_null, 1, 0, VALUE, VALUE) PAIR(nod_null, blr_null, 1, 0, VALUE, VALUE),
PAIR2(nod_multiply, blr_multiply, 2, 2, VALUE, VALUE) PAIR2(nod_multiply, blr_multiply, 2, 2, VALUE, VALUE),
PAIR(nod_negate, blr_negate, 1, 1, VALUE, VALUE) PAIR(nod_negate, blr_negate, 1, 1, VALUE, VALUE),
PAIR2(nod_gen_id, blr_gen_id, e_gen_length, 1, VALUE, VALUE) PAIR2(nod_gen_id, blr_gen_id, e_gen_length, 1, VALUE, VALUE),
PAIR(nod_prot_mask, blr_prot_mask, e_pro_length, 2, VALUE, VALUE) PAIR(nod_prot_mask, blr_prot_mask, e_pro_length, 2, VALUE, VALUE),
PAIR(nod_upcase, blr_upcase, 1, 1, VALUE, VALUE) PAIR(nod_upcase, blr_upcase, 1, 1, VALUE, VALUE),
PAIR(nod_lock_state, blr_lock_state, 1, 1, VALUE, VALUE) PAIR(nod_lock_state, blr_lock_state, 1, 1, VALUE, VALUE),
PAIR(nod_substr, blr_substring, 3, 3, VALUE, VALUE) PAIR(nod_substr, blr_substring, 3, 3, VALUE, VALUE),
PAIR2(nod_subtract, blr_subtract, 2, 2, VALUE, VALUE) PAIR2(nod_subtract, blr_subtract, 2, 2, VALUE, VALUE),
PAIR2(nod_total, blr_total, e_stat_length, 2, VALUE, VALUE) PAIR2(nod_total, blr_total, e_stat_length, 2, VALUE, VALUE),
PAIR(nod_value_if, blr_value_if, 3, 3, VALUE, OTHER) PAIR(nod_value_if, blr_value_if, 3, 3, VALUE, OTHER),
PAIR(nod_eql, blr_eql, 2, 2, BOOL, VALUE) PAIR(nod_eql, blr_eql, 2, 2, BOOL, VALUE),
PAIR(nod_neq, blr_neq, 2, 2, BOOL, VALUE) PAIR(nod_neq, blr_neq, 2, 2, BOOL, VALUE),
PAIR(nod_geq, blr_geq, 2, 2, BOOL, VALUE) PAIR(nod_geq, blr_geq, 2, 2, BOOL, VALUE),
PAIR(nod_gtr, blr_gtr, 2, 2, BOOL, VALUE) PAIR(nod_gtr, blr_gtr, 2, 2, BOOL, VALUE),
PAIR(nod_lss, blr_lss, 2, 2, BOOL, VALUE) PAIR(nod_lss, blr_lss, 2, 2, BOOL, VALUE),
PAIR(nod_leq, blr_leq, 2, 2, BOOL, VALUE) PAIR(nod_leq, blr_leq, 2, 2, BOOL, VALUE),
PAIR(nod_matches, blr_matching, 2, 2, BOOL, VALUE) PAIR(nod_matches, blr_matching, 2, 2, BOOL, VALUE),
PAIR(nod_sleuth, blr_matching2, 3, 3, BOOL, VALUE) PAIR(nod_sleuth, blr_matching2, 3, 3, BOOL, VALUE),
PAIR(nod_like, blr_like, 2, 2, BOOL, VALUE) PAIR(nod_like, blr_like, 2, 2, BOOL, VALUE),
PAIR(nod_like, blr_ansi_like, 3, 3, BOOL, VALUE) PAIR(nod_like, blr_ansi_like, 3, 3, BOOL, VALUE),
PAIR(nod_contains, blr_containing, 2, 2, BOOL, VALUE) PAIR(nod_contains, blr_containing, 2, 2, BOOL, VALUE),
PAIR(nod_missing, blr_missing, 1, 1, BOOL, VALUE) PAIR(nod_missing, blr_missing, 1, 1, BOOL, VALUE),
PAIR(nod_between, blr_between, 3, 3, BOOL, VALUE) PAIR(nod_between, blr_between, 3, 3, BOOL, VALUE),
PAIR(nod_starts, blr_starting, 2, 2, BOOL, VALUE) PAIR(nod_starts, blr_starting, 2, 2, BOOL, VALUE),
PAIR(nod_unique, blr_unique, e_any_length, 1, BOOL, OTHER) PAIR(nod_unique, blr_unique, e_any_length, 1, BOOL, OTHER),
PAIR(nod_any, blr_any, e_any_length, 1, BOOL, TYPE_RSE) PAIR(nod_any, blr_any, e_any_length, 1, BOOL, TYPE_RSE),
PAIR(nod_and, blr_and, 2, 2, BOOL, BOOL) PAIR(nod_and, blr_and, 2, 2, BOOL, BOOL),
PAIR(nod_or, blr_or, 2, 2, BOOL, BOOL) PAIR(nod_or, blr_or, 2, 2, BOOL, BOOL),
PAIR(nod_not, blr_not, 1, 1, BOOL, BOOL) PAIR(nod_not, blr_not, 1, 1, BOOL, BOOL),
PAIR(nod_rse, blr_rse, 0, 0, TYPE_RSE, OTHER) PAIR(nod_rse, blr_rse, 0, 0, TYPE_RSE, OTHER),
/* nodes for ODAPI support */
/* nodes for ODAPI support */ PAIR(nod_stream, blr_stream, 0, 0, STATEMENT, STATEMENT),
PAIR(nod_stream, blr_stream, 0, 0, STATEMENT, STATEMENT) PAIR(nod_set_index, blr_set_index, e_index_length, 1, STATEMENT, STATEMENT),
PAIR(nod_set_index, blr_set_index, e_index_length, 1, STATEMENT, PAIR(nod_seek, blr_seek, e_seek_length, 2, STATEMENT, VALUE),
STATEMENT) PAIR(nod_seek, blr_seek, e_seek_length, 2, STATEMENT, PAIR(nod_seek_no_warn, blr_seek_no_warn, e_seek_length, 2, STATEMENT, VALUE),
VALUE) PAIR(nod_seek_no_warn, blr_seek_no_warn, PAIR(nod_find, blr_find, e_find_length, 3, STATEMENT, STATEMENT),
e_seek_length, 2, STATEMENT, PAIR(nod_get_bookmark, blr_get_bookmark, e_getmark_length, 0, VALUE, VALUE),
VALUE) PAIR(nod_find, blr_find, PAIR(nod_set_bookmark, blr_set_bookmark, e_setmark_length, 1, STATEMENT, STATEMENT),
e_find_length, 3, PAIR(nod_bookmark, blr_bookmark, e_bookmark_length, 1, VALUE, VALUE),
STATEMENT, PAIR(nod_lock_relation, blr_lock_relation, e_lockrel_length, 2, VALUE, VALUE),
STATEMENT) PAIR(nod_lock_record, blr_lock_record, e_lockrec_length, 1, VALUE, VALUE),
PAIR(nod_get_bookmark, blr_get_bookmark, e_getmark_length, 0, VALUE, PAIR(nod_release_lock, blr_release_lock, e_rellock_length, 1, STATEMENT, STATEMENT),
VALUE) PAIR(nod_set_bookmark, blr_set_bookmark, e_setmark_length, PAIR(nod_release_locks, blr_release_locks, 0, 0, STATEMENT, STATEMENT),
1, STATEMENT, STATEMENT) PAIR(nod_bookmark, PAIR(nod_begin_range, blr_begin_range, e_brange_length, 1, VALUE, OTHER),
blr_bookmark, PAIR(nod_end_range, blr_end_range, e_erange_length, 1, STATEMENT, STATEMENT),
e_bookmark_length, 1, PAIR(nod_delete_range, blr_delete_range, e_drange_length, 1, STATEMENT, STATEMENT),
VALUE, PAIR(nod_map, blr_map, 0, 0, OTHER, OTHER),
VALUE) PAIR(nod_union, blr_union, 0, 0, RELATION, OTHER),
PAIR(nod_lock_relation, blr_lock_relation, e_lockrel_length, 2, VALUE, PAIR(nod_aggregate, blr_aggregate, e_agg_length, 0, RELATION, OTHER),
VALUE) PAIR(nod_lock_record, blr_lock_record, e_lockrec_length, PAIR(nod_relation, blr_relation, 0, 0, RELATION, OTHER),
1, VALUE, VALUE) PAIR(nod_release_lock, PAIR(nod_relation, blr_rid, 0, 0, RELATION, OTHER),
blr_release_lock, PAIR(nod_rse, blr_rs_stream, 0, 0, RELATION, OTHER),
e_rellock_length, 1, STATEMENT, PAIR(nod_exec_proc, blr_exec_proc, e_esp_length, 4, STATEMENT, OTHER),
STATEMENT) PAIR(nod_procedure, blr_procedure, e_prc_length, 2, RELATION, OTHER),
PAIR(nod_release_locks, blr_release_locks, 0, 0, STATEMENT, PAIR(nod_procedure, blr_pid, e_prc_length, 2, RELATION, OTHER),
STATEMENT) PAIR(nod_begin_range, blr_begin_range, PAIR(nod_exec_proc, blr_exec_pid, e_esp_length, 4, STATEMENT, OTHER),
e_brange_length, 1, VALUE, PAIR(nod_block, blr_block, e_blk_length, e_blk_length, STATEMENT, STATEMENT),
OTHER) PAIR(nod_end_range, blr_end_range, PAIR(nod_error_handler, blr_error_handler, e_err_length, 1, STATEMENT, OTHER),
e_erange_length, 1, STATEMENT, PAIR(nod_abort, blr_abort, 1, 0, STATEMENT, OTHER),
STATEMENT) PAIR(nod_delete_range, PAIR(nod_cast, blr_cast, e_cast_length, 1, VALUE, VALUE),
blr_delete_range, PAIR(nod_rse, blr_singular, 0, 0, TYPE_RSE, OTHER),
e_drange_length, 1, PAIR(nod_start_savepoint, blr_start_savepoint, 1, 0, STATEMENT, OTHER),
STATEMENT, STATEMENT) PAIR(nod_end_savepoint, blr_end_savepoint, 1, 0, STATEMENT, OTHER),
PAIR(nod_map, blr_map, 0, 0, OTHER, OTHER) PAIR(nod_union, blr_union, /* more nodes for ODAPI support */
0, 0, RELATION, PAIR(nod_find_dbkey, blr_find_dbkey, e_find_dbkey_length, 1, STATEMENT, STATEMENT),
OTHER) PAIR(nod_find_dbkey_version, blr_find_dbkey_version, e_find_dbkey_length, 2, STATEMENT, STATEMENT),
PAIR(nod_aggregate, blr_aggregate, e_agg_length, 0, RELATION, PAIR(nod_range_relation, blr_range_relation, e_range_relation_length, 1, STATEMENT, STATEMENT),
OTHER) PAIR(nod_relation, blr_relation, 0, 0, RELATION, PAIR(nod_delete_ranges, blr_delete_ranges, 0, 0, STATEMENT, STATEMENT),
OTHER) PAIR(nod_relation, blr_rid, 0, 0, RELATION, /* nodes for set plan */
OTHER) PAIR(nod_rse, blr_rs_stream, 0, 0, PAIR(nod_plan, blr_plan, 1, 1, VALUE, VALUE),
RELATION, PAIR(nod_merge, blr_merge, 0, 0, VALUE, VALUE),
OTHER) PAIR(nod_exec_proc, PAIR(nod_join, blr_join, 0, 0, VALUE, VALUE),
blr_exec_proc, PAIR(nod_sequential, blr_sequential, 0, 0, ACCESS_TYPE, OTHER),
e_esp_length, 4, PAIR(nod_navigational, blr_navigational, 1, 1, ACCESS_TYPE, VALUE),
STATEMENT, PAIR(nod_indices, blr_indices, 1, 0, ACCESS_TYPE, VALUE),
OTHER) PAIR(nod_retrieve, blr_retrieve, 2, 0, ACCESS_TYPE, VALUE),
PAIR(nod_procedure, blr_procedure, e_prc_length, 2, RELATION, PAIR(nod_relation, blr_relation2, 0, 0, RELATION, OTHER),
OTHER) PAIR(nod_procedure, blr_pid, e_prc_length, 2, RELATION, PAIR(nod_relation, blr_rid2, 0, 0, RELATION, OTHER),
OTHER) PAIR(nod_exec_proc, blr_exec_pid, /* yet more nodes for ODAPI */
e_esp_length, 4, STATEMENT, PAIR(nod_crack, blr_crack, 2, 0, VALUE, OTHER),
OTHER) PAIR(nod_block, blr_block, PAIR(nod_force_crack, blr_force_crack, 2, 0, STATEMENT, OTHER),
e_blk_length, e_blk_length, PAIR(nod_reset_stream, blr_reset_stream, e_reset_length, 0, STATEMENT, OTHER),
STATEMENT, PAIR(nod_release_bookmark, blr_release_bookmark, e_relmark_length, 1, STATEMENT, OTHER),
STATEMENT) PAIR2(nod_set_generator, blr_set_generator, e_gen_length, 1, STATEMENT, VALUE),
PAIR(nod_error_handler, blr_error_handler, e_err_length, 1, STATEMENT, PAIR(nod_ansi_any, blr_ansi_any, e_any_length, 1, BOOL, TYPE_RSE),
OTHER) PAIR(nod_abort, blr_abort, 1, 0, STATEMENT, PAIR(nod_exists, blr_exists, e_any_length, 1, BOOL, TYPE_RSE),
OTHER) PAIR(nod_cast, blr_cast, e_cast_length, 1, PAIR(nod_cardinality, blr_cardinality, e_card_length, 0, VALUE, OTHER),
VALUE, VALUE) PAIR(nod_rse, blr_singular, PAIR(nod_rec_version, blr_record_version, 1, 0, VALUE, VALUE),
0, 0, TYPE_RSE, PAIR(nod_stall, blr_stall, 1, 0, STATEMENT, STATEMENT),
OTHER) PAIR(nod_ansi_all, blr_ansi_all, e_any_length, 1, BOOL, TYPE_RSE),
PAIR(nod_start_savepoint, blr_start_savepoint, 1, 0, STATEMENT, /* Improved Date Support */
OTHER) PAIR(nod_end_savepoint, blr_end_savepoint, 1, 0, PAIR(nod_extract, blr_extract, e_extract_length, e_extract_count, VALUE, VALUE),
STATEMENT, OTHER) PAIR(nod_current_date, blr_current_date, e_current_date_length, 0, VALUE, OTHER),
PAIR(nod_current_time, blr_current_time, e_current_time_length, 0, VALUE, OTHER),
/* more nodes for ODAPI support */ PAIR(nod_current_timestamp, blr_current_timestamp, e_current_timestamp_length, 0, VALUE, OTHER),
PAIR(nod_find_dbkey, blr_find_dbkey, e_find_dbkey_length, 1, 0
STATEMENT, STATEMENT) PAIR(nod_find_dbkey_version,
blr_find_dbkey_version,
e_find_dbkey_length, 2, STATEMENT,
STATEMENT) PAIR(nod_range_relation,
blr_range_relation,
e_range_relation_length,
1, STATEMENT,
STATEMENT)
PAIR(nod_delete_ranges, blr_delete_ranges, 0, 0, STATEMENT, STATEMENT)
/* nodes for set plan */
PAIR(nod_plan, blr_plan, 1, 1, VALUE, VALUE)
PAIR(nod_merge, blr_merge, 0, 0, VALUE, VALUE)
PAIR(nod_join, blr_join, 0, 0, VALUE, VALUE)
PAIR(nod_sequential, blr_sequential, 0, 0, ACCESS_TYPE, OTHER)
PAIR(nod_navigational, blr_navigational, 1, 1, ACCESS_TYPE, VALUE)
PAIR(nod_indices, blr_indices, 1, 0, ACCESS_TYPE, VALUE)
PAIR(nod_retrieve, blr_retrieve, 2, 0, ACCESS_TYPE, VALUE)
PAIR(nod_relation, blr_relation2, 0, 0, RELATION, OTHER)
PAIR(nod_relation, blr_rid2, 0, 0, RELATION, OTHER)
/* yet more nodes for ODAPI */
PAIR(nod_crack, blr_crack, 2, 0, VALUE, OTHER)
PAIR(nod_force_crack, blr_force_crack, 2, 0, STATEMENT, OTHER)
PAIR(nod_reset_stream, blr_reset_stream, e_reset_length, 0, STATEMENT,
OTHER) PAIR(nod_release_bookmark, blr_release_bookmark,
e_relmark_length, 1, STATEMENT, OTHER)
PAIR2(nod_set_generator, blr_set_generator, e_gen_length, 1,
STATEMENT, VALUE) PAIR(nod_ansi_any, blr_ansi_any,
e_any_length, 1, BOOL,
TYPE_RSE) PAIR(nod_exists, blr_exists,
e_any_length, 1, BOOL,
TYPE_RSE)
PAIR(nod_cardinality, blr_cardinality, e_card_length, 0, VALUE,
OTHER) PAIR(nod_rec_version, blr_record_version, 1, 0, VALUE,
VALUE) PAIR(nod_stall, blr_stall, 1, 0, STATEMENT,
STATEMENT) PAIR(nod_ansi_all,
blr_ansi_all,
e_any_length, 1, BOOL,
TYPE_RSE)
/* Improved Date Support */
PAIR(nod_extract, blr_extract,
e_extract_length, e_extract_count, VALUE, VALUE)
PAIR(nod_current_date, blr_current_date,
e_current_date_length, 0, VALUE, OTHER)
PAIR(nod_current_time, blr_current_time,
e_current_time_length, 0, VALUE, OTHER)
PAIR(nod_current_timestamp, blr_current_timestamp,
e_current_timestamp_length, 0, VALUE, OTHER) 0
}; };
CONST SCHAR *table[256], *table2[256], *lengths[256], *counts[256], CONST SCHAR *table[256], *table2[256], *lengths[256], *counts[256],
*types[256], *sub_types[256]; *types[256], *sub_types[256];
#ifdef __STDC__
int main(int argc, char *argv[]) int main(int argc, char *argv[])
#else
int main(argc, argv)
int argc;
char *argv[];
#endif
{ {
/************************************** /**************************************
* *

View File

@ -22,10 +22,11 @@
*/ */
#include "firebird.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/exe.h" #include "../jrd/exe.h"
#include "../jrd/rse.h" #include "../jrd/rse.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/all_proto.h" #include "../jrd/all_proto.h"
#include "../jrd/bookmark.h" #include "../jrd/bookmark.h"
#include "../jrd/err_proto.h" #include "../jrd/err_proto.h"

View File

@ -21,9 +21,10 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
/* /*
$Id: btr.cpp,v 1.1.1.1 2001-05-23 13:26:08 tamlin Exp $ $Id: btr.cpp,v 1.2 2001-07-29 17:42:21 skywalker Exp $
*/ */
#include "firebird.h"
#include "../jrd/ibsetjmp.h" #include "../jrd/ibsetjmp.h"
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
@ -35,7 +36,7 @@ $Id: btr.cpp,v 1.1.1.1 2001-05-23 13:26:08 tamlin Exp $
#include "../jrd/req.h" #include "../jrd/req.h"
#include "../jrd/tra.h" #include "../jrd/tra.h"
#include "../jrd/intl.h" #include "../jrd/intl.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/jrn.h" #include "../jrd/jrn.h"
#include "../jrd/lck.h" #include "../jrd/lck.h"
@ -1616,7 +1617,7 @@ void BTR_reserve_slot(TDBB tdbb, REL relation, TRA transaction, IDX * idx)
if (root->irt_count > MAX_IDX) { if (root->irt_count > MAX_IDX) {
CCH_RELEASE(tdbb, &window); CCH_RELEASE(tdbb, &window);
ERR_post(gds__no_meta_update, gds_arg_gds, gds__max_idx, ERR_post(gds_no_meta_update, gds_arg_gds, gds_max_idx,
gds_arg_number, (SLONG) MAX_IDX, 0); gds_arg_number, (SLONG) MAX_IDX, 0);
} }
/* Scan the index page looking for the high water mark of the descriptions and, /* Scan the index page looking for the high water mark of the descriptions and,
@ -1643,8 +1644,8 @@ void BTR_reserve_slot(TDBB tdbb, REL relation, TRA transaction, IDX * idx)
If this is the second try already, then there really is no more room. */ If this is the second try already, then there really is no more room. */
if (maybe_no_room) { if (maybe_no_room) {
CCH_RELEASE(tdbb, &window); CCH_RELEASE(tdbb, &window);
ERR_post(gds__no_meta_update, gds_arg_gds, ERR_post(gds_no_meta_update, gds_arg_gds,
gds__index_root_page_full, 0); gds_index_root_page_full, 0);
} }
compress_root(tdbb, root); compress_root(tdbb, root);
maybe_no_room = TRUE; maybe_no_room = TRUE;

View File

@ -20,9 +20,10 @@
* *
* All Rights Reserved. * All Rights Reserved.
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
* $Id: builtin.cpp,v 1.1.1.1 2001-05-23 13:26:07 tamlin Exp $ * $Id: builtin.cpp,v 1.2 2001-07-29 17:42:21 skywalker Exp $
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/flu_proto.h" #include "../jrd/flu_proto.h"

View File

@ -23,6 +23,7 @@
* conditionals, as the engine now fully supports * conditionals, as the engine now fully supports
* readonly databases. * readonly databases.
*/ */
#include "firebird.h"
#include "../jrd/ibsetjmp.h" #include "../jrd/ibsetjmp.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
@ -33,7 +34,7 @@
#include "../jrd/ods.h" #include "../jrd/ods.h"
#include "../jrd/pio.h" #include "../jrd/pio.h"
#include "../jrd/cch.h" #include "../jrd/cch.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/jrn.h" #include "../jrd/jrn.h"
#include "../jrd/lls.h" #include "../jrd/lls.h"
#include "../jrd/req.h" #include "../jrd/req.h"
@ -455,7 +456,7 @@ BOOLEAN CCH_exclusive(TDBB tdbb, USHORT level, SSHORT wait_flag)
but can't get the lock, generate an error */ but can't get the lock, generate an error */
if (wait_flag == LCK_WAIT) if (wait_flag == LCK_WAIT)
ERR_post(gds__deadlock, 0); ERR_post(gds_deadlock, 0);
dbb->dbb_flags &= ~DBB_exclusive; dbb->dbb_flags &= ~DBB_exclusive;
@ -537,7 +538,7 @@ BOOLEAN CCH_exclusive_attachment(TDBB tdbb, USHORT level, SSHORT wait_flag)
tdbb->tdbb_attachment->att_flags &= tdbb->tdbb_attachment->att_flags &=
~ATT_exclusive_pending; ~ATT_exclusive_pending;
if (wait_flag == LCK_WAIT) if (wait_flag == LCK_WAIT)
ERR_post(gds__deadlock, 0); ERR_post(gds_deadlock, 0);
else else
return FALSE; return FALSE;
} }
@ -948,10 +949,10 @@ void CCH_fetch_page(
THREAD_ENTER; THREAD_ENTER;
#endif #endif
IBERR_build_status(tdbb->tdbb_status_vector, IBERR_build_status(tdbb->tdbb_status_vector,
gds__db_corrupt, gds_db_corrupt,
gds_arg_string, "", gds_arg_string, "",
gds_arg_gds, gds__bad_checksum, gds_arg_gds, gds_bad_checksum,
gds_arg_gds, gds__badpage, gds_arg_gds, gds_badpage,
gds_arg_number, (SLONG) bdb->bdb_page, 0); gds_arg_number, (SLONG) bdb->bdb_page, 0);
/* We should invalidate this bad buffer. */ /* We should invalidate this bad buffer. */
@ -1443,7 +1444,7 @@ void CCH_init(TDBB tdbb, ULONG number)
event = dbb->dbb_reader_event; event = dbb->dbb_reader_event;
ISC_event_init(event, 0, 0); ISC_event_init(event, 0, 0);
count = ISC_event_clear(event); count = ISC_event_clear(event);
if (gds__thread_start((FPTR_INT) cache_reader, dbb, THREAD_high, 0, 0)) if (gds_thread_start((FPTR_INT) cache_reader, dbb, THREAD_high, 0, 0))
ERR_bugcheck_msg("cannot start thread"); ERR_bugcheck_msg("cannot start thread");
THREAD_EXIT; THREAD_EXIT;
@ -2527,7 +2528,7 @@ BOOLEAN CCH_write_all_shadows(TDBB tdbb,
SDW_notify(); SDW_notify();
CCH_unwind(tdbb, FALSE); CCH_unwind(tdbb, FALSE);
SDW_dump_pages(); SDW_dump_pages();
ERR_post(gds__deadlock, 0); ERR_post(gds_deadlock, 0);
} }
} }
} }
@ -2578,7 +2579,7 @@ static BDB alloc_bdb(TDBB tdbb, BCB bcb, UCHAR ** memory)
ALL_release((FRB)bdb); ALL_release((FRB)bdb);
return 0; return 0;
} }
lock->lck_ast = blocking_ast_bdb; lock->lck_ast = reinterpret_cast<lck_ast_t>(blocking_ast_bdb);
lock->lck_object = (BLK) bdb; lock->lck_object = (BLK) bdb;
#endif #endif
@ -4339,7 +4340,7 @@ static SSHORT latch_bdb(
if ((lwt->lwt_flags & LWT_pending) && timeout_occurred) { if ((lwt->lwt_flags & LWT_pending) && timeout_occurred) {
LATCH_MUTEX_RELEASE; LATCH_MUTEX_RELEASE;
if (latch_wait == 1) { if (latch_wait == 1) {
IBERR_build_status(tdbb->tdbb_status_vector, gds__deadlock, 0); IBERR_build_status(tdbb->tdbb_status_vector, gds_deadlock, 0);
CCH_unwind(tdbb, TRUE); CCH_unwind(tdbb, TRUE);
} }
else else
@ -4481,7 +4482,7 @@ static SSHORT lock_buffer(
to do so. */ to do so. */
if (page_type == pag_header || page_type == pag_transactions) { if (page_type == pag_header || page_type == pag_transactions) {
assert(lock->lck_ast == blocking_ast_bdb); assert(lock->lck_ast == reinterpret_cast<lck_ast_t>(blocking_ast_bdb));
assert(lock->lck_object == (BLK) bdb); assert(lock->lck_object == (BLK) bdb);
lock->lck_ast = 0; lock->lck_ast = 0;
lock->lck_object = NULL; lock->lck_object = NULL;
@ -4498,7 +4499,7 @@ static SSHORT lock_buffer(
assert(page_type == pag_header assert(page_type == pag_header
|| page_type == pag_transactions); || page_type == pag_transactions);
lock->lck_ast = blocking_ast_bdb; lock->lck_ast = reinterpret_cast<lck_ast_t>(blocking_ast_bdb);
lock->lck_object = (BLK) bdb; lock->lck_object = (BLK) bdb;
bdb->bdb_flags |= BDB_no_blocking_ast; bdb->bdb_flags |= BDB_no_blocking_ast;
} }
@ -4507,7 +4508,7 @@ static SSHORT lock_buffer(
if (!lock->lck_ast) { if (!lock->lck_ast) {
assert(page_type == pag_header || page_type == pag_transactions); assert(page_type == pag_header || page_type == pag_transactions);
lock->lck_ast = blocking_ast_bdb; lock->lck_ast = reinterpret_cast<lck_ast_t>(blocking_ast_bdb);
lock->lck_object = (BLK) bdb; lock->lck_object = (BLK) bdb;
} }
@ -4515,7 +4516,7 @@ static SSHORT lock_buffer(
return the error. */ return the error. */
if ((wait == LCK_NO_WAIT) if ((wait == LCK_NO_WAIT)
|| ((wait < 0) && (status[1] == gds__lock_timeout))) { || ((wait < 0) && (status[1] == gds_lock_timeout))) {
release_bdb(tdbb, bdb, FALSE, FALSE, FALSE); release_bdb(tdbb, bdb, FALSE, FALSE, FALSE);
return -1; return -1;
} }
@ -4526,7 +4527,7 @@ static SSHORT lock_buffer(
gds__msg_format(0, JRD_BUGCHK, 215, sizeof(errmsg), errmsg, gds__msg_format(0, JRD_BUGCHK, 215, sizeof(errmsg), errmsg,
(TEXT *) bdb->bdb_page, (TEXT *) page_type, 0, 0, 0); (TEXT *) bdb->bdb_page, (TEXT *) page_type, 0, 0, 0);
IBERR_append_status(status, gds__random, gds_arg_string, IBERR_append_status(status, gds_random, gds_arg_string,
ERR_cstring(errmsg), 0); ERR_cstring(errmsg), 0);
ERR_log(JRD_BUGCHK, 215, errmsg); /* msg 215 page %ld, page type %ld lock conversion denied */ ERR_log(JRD_BUGCHK, 215, errmsg); /* msg 215 page %ld, page type %ld lock conversion denied */
@ -4559,7 +4560,7 @@ static SSHORT lock_buffer(
/* Case: a timeout was specified, or the caller didn't want to wait, /* Case: a timeout was specified, or the caller didn't want to wait,
return the error. */ return the error. */
if ((wait < 0) && (status[1] == gds__lock_timeout)) { if ((wait < 0) && (status[1] == gds_lock_timeout)) {
release_bdb(tdbb, bdb, FALSE, FALSE, FALSE); release_bdb(tdbb, bdb, FALSE, FALSE, FALSE);
return -1; return -1;
} }
@ -4570,7 +4571,7 @@ static SSHORT lock_buffer(
gds__msg_format(0, JRD_BUGCHK, 216, sizeof(errmsg), errmsg, gds__msg_format(0, JRD_BUGCHK, 216, sizeof(errmsg), errmsg,
(TEXT *) bdb->bdb_page, (TEXT *) page_type, 0, 0, 0); (TEXT *) bdb->bdb_page, (TEXT *) page_type, 0, 0, 0);
IBERR_append_status(status, gds__random, gds_arg_string, IBERR_append_status(status, gds_random, gds_arg_string,
ERR_cstring(errmsg), 0); ERR_cstring(errmsg), 0);
ERR_log(JRD_BUGCHK, 216, errmsg); /* msg 216 page %ld, page type %ld lock denied */ ERR_log(JRD_BUGCHK, 216, errmsg); /* msg 216 page %ld, page type %ld lock denied */
@ -4695,10 +4696,10 @@ static void page_validation_error(TDBB tdbb, WIN * window, SSHORT type)
page = bdb->bdb_buffer; page = bdb->bdb_buffer;
IBERR_build_status(tdbb->tdbb_status_vector, IBERR_build_status(tdbb->tdbb_status_vector,
gds__db_corrupt, gds_db_corrupt,
gds_arg_string, "", gds_arg_string, "",
gds_arg_gds, gds__page_type_err, gds_arg_gds, gds_page_type_err,
gds_arg_gds, gds__badpagtyp, gds_arg_gds, gds_badpagtyp,
gds_arg_number, (SLONG) bdb->bdb_page, gds_arg_number, (SLONG) bdb->bdb_page,
gds_arg_number, (SLONG) type, gds_arg_number, (SLONG) type,
gds_arg_number, (SLONG) page->pag_type, 0); gds_arg_number, (SLONG) page->pag_type, 0);
@ -5391,7 +5392,7 @@ static BOOLEAN write_page(
if (bdb->bdb_flags & BDB_not_valid) { if (bdb->bdb_flags & BDB_not_valid) {
*status++ = gds_arg_gds; *status++ = gds_arg_gds;
*status++ = gds__buf_invalid; *status++ = gds_buf_invalid;
*status++ = gds_arg_number; *status++ = gds_arg_number;
*status++ = bdb->bdb_page; *status++ = bdb->bdb_page;
*status++ = gds_arg_end; *status++ = gds_arg_end;

View File

@ -21,14 +21,15 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
/* /*
$Id: cmp.cpp,v 1.2 2001-07-12 05:46:04 bellardo Exp $ $Id: cmp.cpp,v 1.3 2001-07-29 17:42:21 skywalker Exp $
*/ */
#include "firebird.h"
#include "../jrd/ibsetjmp.h" #include "../jrd/ibsetjmp.h"
#include <string.h> #include <string.h>
#include <stdlib.h> /* abort */ #include <stdlib.h> /* abort */
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/req.h" #include "../jrd/req.h"
#include "../jrd/val.h" #include "../jrd/val.h"

View File

@ -19,12 +19,15 @@
* *
* All Rights Reserved. * All Rights Reserved.
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
* Mark O'Donohue skywalker@users.sourceforge.net
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h>
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/msg_encode.h" #include "../jrd/msg_encode.h"
/* The MSG.GDB database is found under the /msgs component subdirectory. /* The MSG.GDB database is found under the /msgs component subdirectory.
@ -42,15 +45,16 @@ DATABASE DB = FILENAME "msg.gdb";
#define SQL_CODES_H "sql_code.h" #define SQL_CODES_H "sql_code.h"
#define MSGFAC_H "msg_facs.h" #define MSGFAC_H "msg_facs.h"
typedef UCHAR FILENAME;
static void build_codes_h(void); static void build_codes_h(void);
static void build_iberror_h(void); static void build_iberror_h(void);
static void build_other_headers(void); static void build_other_headers(void);
static void build_msgfac_h(void); static void build_msgfac_h(void);
static void move_if_not_identical(FILENAME *, FILENAME *); static void move_if_not_identical(char *, char *);
static void add_text(IB_FILE *, int, const char **); static void add_text(IB_FILE *, int, const char **);
static char* genDirectory = NULL;
#define CHECK_OPEN(f, name, tmp, mode) \ #define CHECK_OPEN(f, name, tmp, mode) \
if (((f) = ib_fopen ((tmp), (mode))) == NULL) \ if (((f) = ib_fopen ((tmp), (mode))) == NULL) \
{ \ { \
@ -86,18 +90,14 @@ static const char *license[] = {
"or implied. See the License for the specific language governing", "or implied. See the License for the specific language governing",
"rights and limitations under the License.", "rights and limitations under the License.",
"", "",
"The Original Code was created by Inprise Corporation", "The content of this file was generated by the Firebird project",
"and its predecessors. Portions created by Inprise Corporation are", "using the program jrd/codes.e",
"Copyright (C) Inprise Corporation.",
"",
"All Rights Reserved.",
"Contributor(s): ______________________________________.",
0 0
}; };
static const char *warn[] = { static const char *warn[] = {
"", "",
"File generated by codes.e - do not edit!", "*** WARNING *** - This file is automatically generated by codes.e - do not edit!",
"", "",
0 0
}; };
@ -131,6 +131,35 @@ static CONST SCHAR *c_boiler_plate[] = {
"", "",
}; };
static CONST SCHAR *cpp_boiler_plate[] = {
"const GDS_LONG gds_arg_end = 0; /* end of argument list */",
"const GDS_LONG gds_arg_gds = 1; /* generic DSRI status value */",
"const GDS_LONG gds_arg_string = 2; /* string argument */",
"const GDS_LONG gds_arg_cstring = 3; /* count & string argument */",
"const GDS_LONG gds_arg_number = 4; /* numeric argument (long) */",
"const GDS_LONG gds_arg_interpreted = 5; /* interpreted status code (string) */",
"const GDS_LONG gds_arg_vms = 6; /* VAX/VMS status code (long) */",
"const GDS_LONG gds_arg_unix = 7; /* UNIX error code */",
"const GDS_LONG gds_arg_domain = 8; /* Apollo/Domain error code */",
"const GDS_LONG gds_arg_dos = 9; /* MSDOS/OS2 error code */",
"const GDS_LONG gds_arg_mpexl = 10; /* HP MPE/XL error code */",
"const GDS_LONG gds_arg_mpexl_ipc = 11; /* HP MPE/XL IPC error code */",
#ifdef dontdothis
/* #'s 12-14 WERE USED BY TWIN SUN AND THUS MUST BE SKIPPED BY US! */
"const GDS_LONG gds_arg_string2 = 12; /* string argument */",
"const GDS_LONG gds_arg_cstring2 = 13; /* count & string argument */",
"const GDS_LONG gds_arg_interpreted2 = 14; /* interpreted status code (string) */"
#endif
"const GDS_LONG gds_arg_next_mach = 15; /* NeXT/Mach error code */",
"const GDS_LONG gds_arg_netware = 16; /* NetWare error code */",
"const GDS_LONG gds_arg_win32 = 17; /* Win32 error code */",
"const GDS_LONG gds_arg_warning = 18; /* warning argument */",
"",
};
#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
@ -213,7 +242,7 @@ static CONST SCHAR sql_code_boiler_plate[] =
"static CONST SSHORT FAR_VARIABLE gds__sql_code [] = {"; "static CONST SSHORT FAR_VARIABLE gds__sql_code [] = {";
void CLIB_ROUTINE main( int argc, char *argv[]) int CLIB_ROUTINE main( int argc, char *argv[])
{ {
/************************************* /*************************************
* *
@ -231,10 +260,15 @@ void CLIB_ROUTINE main( int argc, char *argv[])
READY READY
ON_ERROR ON_ERROR
ib_printf("Attach failed.\n"); ib_printf("Attach failed.\n");
gds__print_status(gds__status); gds__print_status(gds_status);
exit(FINI_ERROR); exit(FINI_ERROR);
END_ERROR; END_ERROR;
// See if the user has specified an optional output directory
if (argc >=1 ) {
genDirectory = argv[1];
}
START_TRANSACTION; START_TRANSACTION;
build_iberror_h(); build_iberror_h();
@ -245,7 +279,8 @@ void CLIB_ROUTINE main( int argc, char *argv[])
COMMIT; COMMIT;
FINISH; FINISH;
exit(FINI_OK); // exit(0);
return 0;
} }
@ -281,17 +316,20 @@ static void build_msgfac_h(void)
ib_fprintf(msgfac, "/******************************/\n"); ib_fprintf(msgfac, "/******************************/\n");
ib_fprintf(msgfac, "\n"); ib_fprintf(msgfac, "\n");
ib_fprintf(msgfac, "typedef struct _facilities {\n"); ib_fprintf(msgfac, "#ifndef __cplusplus\n");
ib_fprintf(msgfac, "typedef\n");
ib_fprintf(msgfac, "#endif\n");
ib_fprintf(msgfac, "struct _facilities {\n");
ib_fprintf(msgfac, "\tint fac_code;\n"); ib_fprintf(msgfac, "\tint fac_code;\n");
ib_fprintf(msgfac, "\tchar *facility;\n"); ib_fprintf(msgfac, "\tchar *facility;\n");
ib_fprintf(msgfac, "\t};\n\n"); ib_fprintf(msgfac, "\t};\n\n");
ib_fprintf(msgfac, "static CONST struct _facilities facilities[] = {\n"); ib_fprintf(msgfac, "static CONST struct _facilities facilities[] = {\n");
FOR F IN FACILITIES WITH ANY FAC_CODE IN SYSTEM_ERRORS OVER FAC_CODE FOR F IN FACILITIES WITH ANY FAC_CODE IN SYSTEM_ERRORS OVER FAC_CODE
ib_fprintf(msgfac, "\t%d, \"%-10.10s\",\n", F.FAC_CODE, F.FACILITY); ib_fprintf(msgfac, "\t{%d, \"%-10.10s\"},\n", F.FAC_CODE, F.FACILITY);
END_FOR; END_FOR;
ib_fprintf(msgfac, "\t0, NULL};\n\n"); ib_fprintf(msgfac, "\t{0, NULL}\n};\n\n");
ib_fprintf(msgfac, "\n"); ib_fprintf(msgfac, "\n");
CHECK_CLOSE(msgfac, MSGFAC_H, "tmpcode1", "w"); CHECK_CLOSE(msgfac, MSGFAC_H, "tmpcode1", "w");
} }
@ -317,6 +355,8 @@ static void build_iberror_h(void)
/* Open iberror.h in the current directory. */ /* Open iberror.h in the current directory. */
CHECK_OPEN(iberror, IBERROR_H, "tmpcode2", "w"); CHECK_OPEN(iberror, IBERROR_H, "tmpcode2", "w");
ib_fprintf(iberror, "\n#ifndef _JRD_GEN_IBERROR_H\n");
ib_fprintf(iberror, "#define _JRD_GEN_IBERROR_H\n");
add_text(iberror, CSTYLE, license); add_text(iberror, CSTYLE, license);
add_text(iberror, CSTYLE, warn); add_text(iberror, CSTYLE, warn);
ib_fprintf(iberror, "/*\n"); ib_fprintf(iberror, "/*\n");
@ -330,6 +370,14 @@ static void build_iberror_h(void)
ib_fprintf(iberror, "/***********************/\n"); ib_fprintf(iberror, "/***********************/\n");
ib_fprintf(iberror, "\n"); ib_fprintf(iberror, "\n");
/* Append the ISC boiler plate */
for (i = sizeof isc_c_boiler_plate / sizeof(SCHAR *), pp =
isc_c_boiler_plate; i > 0; i--, pp++) {
ib_fprintf(c_codes, "%s\n", *pp);
}
/* Fetch error codes from SYSTEM_ERRORS relation. /* Fetch error codes from SYSTEM_ERRORS relation.
Write them out using the ISC prefix. */ Write them out using the ISC prefix. */
@ -352,6 +400,7 @@ static void build_iberror_h(void)
--code; --code;
ib_fprintf(iberror, "#define isc_%-32.32s %d\n", "err_max", code); ib_fprintf(iberror, "#define isc_%-32.32s %d\n", "err_max", code);
ib_fprintf(iberror, "\n"); ib_fprintf(iberror, "\n");
ib_fprintf(iberror, "#endif /* JRD_GEN_IBERROR_H */\n");
CHECK_CLOSE(iberror, IBERROR_H, "tmpcode2", "w"); CHECK_CLOSE(iberror, IBERROR_H, "tmpcode2", "w");
} }
@ -380,12 +429,89 @@ static void build_codes_h(void)
CHECK_OPEN(c_codes, CODES_H, "tmpcode3", "w"); CHECK_OPEN(c_codes, CODES_H, "tmpcode3", "w");
add_text(c_codes, CSTYLE, license); add_text(c_codes, CSTYLE, license);
add_text(c_codes, CSTYLE, warn); add_text(c_codes, CSTYLE, warn);
ib_fprintf(c_codes, "\n#ifndef _JRD_GEN_CODES_H\n");
ib_fprintf(c_codes, "#define _JRD_GEN_CODES_H\n");
ib_fprintf(c_codes, "\n#ifdef __cplusplus /* c++ definitions */\n\n");
ib_fprintf(c_codes,
"const GDS_LONG gds_facility = %d;\nconst GDS_LONG gds_err_base = %ldL;\nconst GDS_LONG gds_err_factor = %ld;\n",
gds_facility, (SLONG) gds_base, (SLONG) gds_factor);
/* Append the C++ boiler plate */
for (i = sizeof cpp_boiler_plate / sizeof(SCHAR *), pp = cpp_boiler_plate;
i > 0; i--, pp++) {
ib_fprintf(c_codes, "%s\n", *pp);
}
FOR S IN SYSTEM_ERRORS CROSS N IN MESSAGES OVER NUMBER WITH
N.FAC_CODE = S.FAC_CODE SORTED BY N.FAC_CODE, S.NUMBER
/* The only facility that is guaranteed to have all codes in system errors
* is JRD */
if (last_code + 1 != N.CODE && N.FAC_CODE == 0)
ib_fprintf(ib_stderr,
"Warning: missing codes between %d and %d (exclusive)\n",
last_code, (int) N.CODE);
last_code = N.CODE;
new_code = ENCODE_ISC_MSG(S.NUMBER, N.FAC_CODE);
ib_fprintf(c_codes, "const GDS_LONG gds_%-32.32s = %dL;\n", S.GDS_SYMBOL,
new_code);
++code;
/* make sure that the SQL code is also present in the SQLERR facility */
/**** this part really should be done via a trigger on the database--
commented out for now - deej
got_it = 0;
if (S.SQL_CODE < 0)
{
srchnum = 1000 + S.SQL_CODE;
**FOR M IN MESSAGES WITH M.FAC_CODE = FAC_SQL_NEGATIVE
AND M.NUMBER = srchnum
got_it = 1;
**END_FOR;
}
else
{
srchnum = S.SQL_CODE;
**FOR M IN MESSAGES WITH M.FAC_CODE = FAC_SQL_POSITIVE
AND M.NUMBER = srchnum
got_it = 1;
**END_FOR;
}
if (!got_it)
{
ib_printf ("codes: msg %d: sql-code %d, is not in the SQLERR facility\n",
N.NUMBER, S.SQL_CODE);
ROLLBACK;
FINISH;
exit (FINI_ERROR);
} ****/
END_FOR;
--code;
ib_fprintf(c_codes, "const GDS_LONG gds_%-32.32s = %dL;\n", "err_max", code);
ib_fprintf(c_codes, "\n");
ib_fprintf(c_codes, "#else /* c definitions */\n\n");
ib_fprintf(c_codes, ib_fprintf(c_codes,
"#define gds_facility %d\n#define gds_err_base %ldL\n#define gds_err_factor %ld\n", "#define gds_facility %d\n#define gds_err_base %ldL\n#define gds_err_factor %ld\n",
gds_facility, (SLONG) gds_base, (SLONG) gds_factor); gds_facility, (SLONG) gds_base, (SLONG) gds_factor);
/* Append the C boiler plate */ /* Append the C boiler plate */
// Reset the variables for another trip round the loop.
code = 1;
last_code = code - 1;
new_code = 0L;
for (i = sizeof c_boiler_plate / sizeof(SCHAR *), pp = c_boiler_plate; for (i = sizeof c_boiler_plate / sizeof(SCHAR *), pp = c_boiler_plate;
i > 0; i--, pp++) { i > 0; i--, pp++) {
ib_fprintf(c_codes, "%s\n", *pp); ib_fprintf(c_codes, "%s\n", *pp);
@ -442,49 +568,23 @@ static void build_codes_h(void)
ib_fprintf(c_codes, "#define gds_%-32.32s %d\n", "err_max", code); ib_fprintf(c_codes, "#define gds_%-32.32s %d\n", "err_max", code);
ib_fprintf(c_codes, "\n"); ib_fprintf(c_codes, "\n");
ib_fprintf(c_codes, "#endif\n\n");
/* Append the ISC error codes */ /* Append the ISC error codes */
ib_fprintf(c_codes, "/***********************/\n"); /* I have removed the isc errors from codes.h since they are all now placed
ib_fprintf(c_codes, "/* ISC Error Codes */\n"); into iberror.h - If it needs to be replaced then it can be copied back
ib_fprintf(c_codes, "/***********************/\n"); from gen iberror routine. I now do the include of that file.
ib_fprintf(c_codes, "\n"); MOD 17-07-2001
ib_fprintf(c_codes, */
"#define isc_facility %d\n#define isc_err_base %ldL\n#define isc_err_factor %ld\n", ib_fprintf(c_codes, "#include \"iberror.h\"\n\n");
isc_facility, (SLONG) isc_base, (SLONG) isc_factor);
/* Append the ISC boiler plate */ ib_fprintf(c_codes, "#endif /* JRD_GEN_CODES_H */\n");
for (i = sizeof isc_c_boiler_plate / sizeof(SCHAR *), pp =
isc_c_boiler_plate; i > 0; i--, pp++) {
ib_fprintf(c_codes, "%s\n", *pp);
}
/* Fetch error codes from SYSTEM_ERRORS relation.
Write them out using the ISC prefix. */
code = 1;
last_code = code - 1;
FOR S IN SYSTEM_ERRORS CROSS N IN MESSAGES OVER NUMBER WITH
N.FAC_CODE = S.FAC_CODE SORTED BY N.FAC_CODE, S.NUMBER
/* The only facility that is guaranteed to have all codes in system errors
* is JRD */
if (last_code + 1 != N.CODE && N.FAC_CODE == 0)
ib_fprintf(ib_stderr,
"Warning: missing codes between %d and %d (exclusive)\n",
last_code, (int) N.CODE);
last_code = N.CODE;
new_code = ENCODE_ISC_MSG(N.NUMBER, N.FAC_CODE);
ib_fprintf(c_codes, "#define isc_%-32.32s %dL\n", S.GDS_SYMBOL,
new_code);
++code;
END_FOR;
--code;
ib_fprintf(c_codes, "#define isc_%-32.32s %d\n", "err_max", code);
ib_fprintf(c_codes, "\n");
CHECK_CLOSE(c_codes, CODES_H, "tmpcode3", "w"); CHECK_CLOSE(c_codes, CODES_H, "tmpcode3", "w");
} }
@ -583,7 +683,7 @@ CONST\n\
last_code = N.CODE; last_code = N.CODE;
new_code = ENCODE_ISC_MSG(N.NUMBER, N.FAC_CODE); new_code = ENCODE_ISC_MSG(N.NUMBER, N.FAC_CODE);
ib_fprintf(pas_codes, "\tgds__%-32.32s = %d;\n", S.GDS_SYMBOL, ib_fprintf(pas_codes, "\tgds_%-32.32s = %d;\n", S.GDS_SYMBOL,
new_code); new_code);
ib_fprintf(ftn_codes, ib_fprintf(ftn_codes,
" INTEGER*4 GDS__%-32.32s\n PARAMETER (GDS__%-32.32s = %d)\n", " INTEGER*4 GDS__%-32.32s\n PARAMETER (GDS__%-32.32s = %d)\n",
@ -606,7 +706,7 @@ CONST\n\
*p && *p != ' ' && p < S.GDS_SYMBOL + sizeof(S.GDS_SYMBOL) - 1; *p && *p != ' ' && p < S.GDS_SYMBOL + sizeof(S.GDS_SYMBOL) - 1;
p++); p++);
*p = 0; *p = 0;
ib_fprintf(code_text, "\"%s\", %d,\n", S.GDS_SYMBOL, new_code); ib_fprintf(code_text, "{\"%s\", %d},\n", S.GDS_SYMBOL, new_code);
++code; ++code;
END_FOR; END_FOR;
@ -653,27 +753,37 @@ CONST\n\
} }
static void move_if_not_identical( FILENAME * original, FILENAME * new_file) static void move_if_not_identical( char* original, char* new_file)
{ {
UCHAR buffer[500];
sprintf(buffer, "cmp -s %s %s", new_file, original);
char origName[1000];
if ( genDirectory != NULL) {
sprintf(origName,"%s/%s", genDirectory, original);
}
else {
sprintf(origName,"./%s", original);
}
char buffer[1000];
sprintf(buffer, "cmp -s %s %s", new_file, origName);
/* If the new file is identical to the original, then don't update /* If the new file is identical to the original, then don't update
the original */ the original */
if (system(buffer) == 0) { if (system(buffer) == 0) {
ib_fprintf(ib_stderr, "No need to update %s\n", original); ib_fprintf(ib_stderr, "No need to update %s\n", origName);
unlink(new_file); unlink(new_file);
} }
else { else {
/* Original file is missing or different */ /* Original file is missing or different */
sprintf(buffer, "mv -f %s %s", new_file, original); sprintf(buffer, "mv -f %s %s", new_file, origName);
if (system(buffer) != 0) { if (system(buffer) != 0) {
ib_fprintf(ib_stderr, "Error moving %s to %s!\n", ib_fprintf(ib_stderr, "Error moving %s to %s!\n",
new_file, original); new_file, origName);
exit(FINI_ERROR); exit(FINI_ERROR);
} }
else else
ib_fprintf(ib_stderr, "Updated %s\n", original); ib_fprintf(ib_stderr, "Updated %s\n", origName);
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,712 +0,0 @@
/*
* 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/
*
* 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.
*
* Copyright (C) 2000 Inprise Corporation
* All Rights Reserved.
* Contributor(s): ______________________________________.
*/
/*
*
* File generated by codes.e - do not edit!
*
*/
"arith_except", 335544321,
"bad_dbkey", 335544322,
"bad_db_format", 335544323,
"bad_db_handle", 335544324,
"bad_dpb_content", 335544325,
"bad_dpb_form", 335544326,
"bad_req_handle", 335544327,
"bad_segstr_handle", 335544328,
"bad_segstr_id", 335544329,
"bad_tpb_content", 335544330,
"bad_tpb_form", 335544331,
"bad_trans_handle", 335544332,
"bug_check", 335544333,
"convert_error", 335544334,
"db_corrupt", 335544335,
"deadlock", 335544336,
"excess_trans", 335544337,
"from_no_match", 335544338,
"infinap", 335544339,
"infona", 335544340,
"infunk", 335544341,
"integ_fail", 335544342,
"invalid_blr", 335544343,
"io_error", 335544344,
"lock_conflict", 335544345,
"metadata_corrupt", 335544346,
"not_valid", 335544347,
"no_cur_rec", 335544348,
"no_dup", 335544349,
"no_finish", 335544350,
"no_meta_update", 335544351,
"no_priv", 335544352,
"no_recon", 335544353,
"no_record", 335544354,
"no_segstr_close", 335544355,
"obsolete_metadata", 335544356,
"open_trans", 335544357,
"port_len", 335544358,
"read_only_field", 335544359,
"read_only_rel", 335544360,
"read_only_trans", 335544361,
"read_only_view", 335544362,
"req_no_trans", 335544363,
"req_sync", 335544364,
"req_wrong_db", 335544365,
"segment", 335544366,
"segstr_eof", 335544367,
"segstr_no_op", 335544368,
"segstr_no_read", 335544369,
"segstr_no_trans", 335544370,
"segstr_no_write", 335544371,
"segstr_wrong_db", 335544372,
"sys_request", 335544373,
"stream_eof", 335544374,
"unavailable", 335544375,
"unres_rel", 335544376,
"uns_ext", 335544377,
"wish_list", 335544378,
"wrong_ods", 335544379,
"wronumarg", 335544380,
"imp_exc", 335544381,
"random", 335544382,
"fatal_conflict", 335544383,
"badblk", 335544384,
"invpoolcl", 335544385,
"nopoolids", 335544386,
"relbadblk", 335544387,
"blktoobig", 335544388,
"bufexh", 335544389,
"syntaxerr", 335544390,
"bufinuse", 335544391,
"bdbincon", 335544392,
"reqinuse", 335544393,
"badodsver", 335544394,
"relnotdef", 335544395,
"fldnotdef", 335544396,
"dirtypage", 335544397,
"waifortra", 335544398,
"doubleloc", 335544399,
"nodnotfnd", 335544400,
"dupnodfnd", 335544401,
"locnotmar", 335544402,
"badpagtyp", 335544403,
"corrupt", 335544404,
"badpage", 335544405,
"badindex", 335544406,
"dbbnotzer", 335544407,
"tranotzer", 335544408,
"trareqmis", 335544409,
"badhndcnt", 335544410,
"wrotpbver", 335544411,
"wroblrver", 335544412,
"wrodpbver", 335544413,
"blobnotsup", 335544414,
"badrelation", 335544415,
"nodetach", 335544416,
"notremote", 335544417,
"trainlim", 335544418,
"notinlim", 335544419,
"traoutsta", 335544420,
"connect_reject", 335544421,
"dbfile", 335544422,
"orphan", 335544423,
"no_lock_mgr", 335544424,
"ctxinuse", 335544425,
"ctxnotdef", 335544426,
"datnotsup", 335544427,
"badmsgnum", 335544428,
"badparnum", 335544429,
"virmemexh", 335544430,
"blocking_signal", 335544431,
"lockmanerr", 335544432,
"journerr", 335544433,
"keytoobig", 335544434,
"nullsegkey", 335544435,
"sqlerr", 335544436,
"wrodynver", 335544437,
"funnotdef", 335544438,
"funmismat", 335544439,
"bad_msg_vec", 335544440,
"bad_detach", 335544441,
"noargacc_read", 335544442,
"noargacc_write", 335544443,
"read_only", 335544444,
"ext_err", 335544445,
"non_updatable", 335544446,
"no_rollback", 335544447,
"bad_sec_info", 335544448,
"invalid_sec_info", 335544449,
"misc_interpreted", 335544450,
"update_conflict", 335544451,
"unlicensed", 335544452,
"obj_in_use", 335544453,
"nofilter", 335544454,
"shadow_accessed", 335544455,
"invalid_sdl", 335544456,
"out_of_bounds", 335544457,
"invalid_dimension", 335544458,
"rec_in_limbo", 335544459,
"shadow_missing", 335544460,
"cant_validate", 335544461,
"cant_start_journal", 335544462,
"gennotdef", 335544463,
"cant_start_logging", 335544464,
"bad_segstr_type", 335544465,
"foreign_key", 335544466,
"high_minor", 335544467,
"tra_state", 335544468,
"trans_invalid", 335544469,
"buf_invalid", 335544470,
"indexnotdefined", 335544471,
"login", 335544472,
"invalid_bookmark", 335544473,
"bad_lock_level", 335544474,
"relation_lock", 335544475,
"record_lock", 335544476,
"max_idx", 335544477,
"jrn_enable", 335544478,
"old_failure", 335544479,
"old_in_progress", 335544480,
"old_no_space", 335544481,
"no_wal_no_jrn", 335544482,
"num_old_files", 335544483,
"wal_file_open", 335544484,
"bad_stmt_handle", 335544485,
"wal_failure", 335544486,
"walw_err", 335544487,
"logh_small", 335544488,
"logh_inv_version", 335544489,
"logh_open_flag", 335544490,
"logh_open_flag2", 335544491,
"logh_diff_dbname", 335544492,
"logf_unexpected_eof", 335544493,
"logr_incomplete", 335544494,
"logr_header_small", 335544495,
"logb_small", 335544496,
"wal_illegal_attach", 335544497,
"wal_invalid_wpb", 335544498,
"wal_err_rollover", 335544499,
"no_wal", 335544500,
"drop_wal", 335544501,
"stream_not_defined", 335544502,
"wal_subsys_error", 335544503,
"wal_subsys_corrupt", 335544504,
"no_archive", 335544505,
"shutinprog", 335544506,
"range_in_use", 335544507,
"range_not_found", 335544508,
"charset_not_found", 335544509,
"lock_timeout", 335544510,
"prcnotdef", 335544511,
"prcmismat", 335544512,
"wal_bugcheck", 335544513,
"wal_cant_expand", 335544514,
"codnotdef", 335544515,
"xcpnotdef", 335544516,
"except", 335544517,
"cache_restart", 335544518,
"bad_lock_handle", 335544519,
"jrn_present", 335544520,
"wal_err_rollover2", 335544521,
"wal_err_logwrite", 335544522,
"wal_err_jrn_comm", 335544523,
"wal_err_expansion", 335544524,
"wal_err_setup", 335544525,
"wal_err_ww_sync", 335544526,
"wal_err_ww_start", 335544527,
"shutdown", 335544528,
"existing_priv_mod", 335544529,
"primary_key_ref", 335544530,
"primary_key_notnull", 335544531,
"ref_cnstrnt_notfound", 335544532,
"foreign_key_notfound", 335544533,
"ref_cnstrnt_update", 335544534,
"check_cnstrnt_update", 335544535,
"check_cnstrnt_del", 335544536,
"integ_index_seg_del", 335544537,
"integ_index_seg_mod", 335544538,
"integ_index_del", 335544539,
"integ_index_mod", 335544540,
"check_trig_del", 335544541,
"check_trig_update", 335544542,
"cnstrnt_fld_del", 335544543,
"cnstrnt_fld_rename", 335544544,
"rel_cnstrnt_update", 335544545,
"constaint_on_view", 335544546,
"invld_cnstrnt_type", 335544547,
"primary_key_exists", 335544548,
"systrig_update", 335544549,
"not_rel_owner", 335544550,
"grant_obj_notfound", 335544551,
"grant_fld_notfound", 335544552,
"grant_nopriv", 335544553,
"nonsql_security_rel", 335544554,
"nonsql_security_fld", 335544555,
"wal_cache_err", 335544556,
"shutfail", 335544557,
"check_constraint", 335544558,
"bad_svc_handle", 335544559,
"shutwarn", 335544560,
"wrospbver", 335544561,
"bad_spb_form", 335544562,
"svcnotdef", 335544563,
"no_jrn", 335544564,
"transliteration_failed", 335544565,
"start_cm_for_wal", 335544566,
"wal_ovflow_log_required", 335544567,
"text_subtype", 335544568,
"dsql_error", 335544569,
"dsql_command_err", 335544570,
"dsql_constant_err", 335544571,
"dsql_cursor_err", 335544572,
"dsql_datatype_err", 335544573,
"dsql_decl_err", 335544574,
"dsql_cursor_update_err", 335544575,
"dsql_cursor_open_err", 335544576,
"dsql_cursor_close_err", 335544577,
"dsql_field_err", 335544578,
"dsql_internal_err", 335544579,
"dsql_relation_err", 335544580,
"dsql_procedure_err", 335544581,
"dsql_request_err", 335544582,
"dsql_sqlda_err", 335544583,
"dsql_var_count_err", 335544584,
"dsql_stmt_handle", 335544585,
"dsql_function_err", 335544586,
"dsql_blob_err", 335544587,
"collation_not_found", 335544588,
"collation_not_for_charset", 335544589,
"dsql_dup_option", 335544590,
"dsql_tran_err", 335544591,
"dsql_invalid_array", 335544592,
"dsql_max_arr_dim_exceeded", 335544593,
"dsql_arr_range_error", 335544594,
"dsql_trigger_err", 335544595,
"dsql_subselect_err", 335544596,
"dsql_crdb_prepare_err", 335544597,
"specify_field_err", 335544598,
"num_field_err", 335544599,
"col_name_err", 335544600,
"where_err", 335544601,
"table_view_err", 335544602,
"distinct_err", 335544603,
"key_field_count_err", 335544604,
"subquery_err", 335544605,
"expression_eval_err", 335544606,
"node_err", 335544607,
"command_end_err", 335544608,
"index_name", 335544609,
"exception_name", 335544610,
"field_name", 335544611,
"token_err", 335544612,
"union_err", 335544613,
"dsql_construct_err", 335544614,
"field_aggregate_err", 335544615,
"field_ref_err", 335544616,
"order_by_err", 335544617,
"return_mode_err", 335544618,
"extern_func_err", 335544619,
"alias_conflict_err", 335544620,
"procedure_conflict_error", 335544621,
"relation_conflict_err", 335544622,
"dsql_domain_err", 335544623,
"idx_seg_err", 335544624,
"node_name_err", 335544625,
"table_name", 335544626,
"proc_name", 335544627,
"idx_create_err", 335544628,
"wal_shadow_err", 335544629,
"dependency", 335544630,
"idx_key_err", 335544631,
"dsql_file_length_err", 335544632,
"dsql_shadow_number_err", 335544633,
"dsql_token_unk_err", 335544634,
"dsql_no_relation_alias", 335544635,
"indexname", 335544636,
"no_stream_plan", 335544637,
"stream_twice", 335544638,
"stream_not_found", 335544639,
"collation_requires_text", 335544640,
"dsql_domain_not_found", 335544641,
"index_unused", 335544642,
"dsql_self_join", 335544643,
"stream_bof", 335544644,
"stream_crack", 335544645,
"db_or_file_exists", 335544646,
"invalid_operator", 335544647,
"conn_lost", 335544648,
"bad_checksum", 335544649,
"page_type_err", 335544650,
"ext_readonly_err", 335544651,
"sing_select_err", 335544652,
"psw_attach", 335544653,
"psw_start_trans", 335544654,
"invalid_direction", 335544655,
"dsql_var_conflict", 335544656,
"dsql_no_blob_array", 335544657,
"dsql_base_table", 335544658,
"duplicate_base_table", 335544659,
"view_alias", 335544660,
"index_root_page_full", 335544661,
"dsql_blob_type_unknown", 335544662,
"req_max_clones_exceeded", 335544663,
"dsql_duplicate_spec", 335544664,
"unique_key_violation", 335544665,
"srvr_version_too_old", 335544666,
"drdb_completed_with_errs", 335544667,
"dsql_procedure_use_err", 335544668,
"dsql_count_mismatch", 335544669,
"blob_idx_err", 335544670,
"array_idx_err", 335544671,
"key_field_err", 335544672,
"no_delete", 335544673,
"del_last_field", 335544674,
"sort_err", 335544675,
"sort_mem_err", 335544676,
"version_err", 335544677,
"inval_key_posn", 335544678,
"no_segments_err", 335544679,
"crrp_data_err", 335544680,
"rec_size_err", 335544681,
"dsql_field_ref", 335544682,
"req_depth_exceeded", 335544683,
"no_field_access", 335544684,
"no_dbkey", 335544685,
"jrn_format_err", 335544686,
"jrn_file_full", 335544687,
"dsql_open_cursor_request", 335544688,
"ib_error", 335544689,
"cache_redef", 335544690,
"cache_too_small", 335544691,
"log_redef", 335544692,
"log_too_small", 335544693,
"partition_too_small", 335544694,
"partition_not_supp", 335544695,
"log_length_spec", 335544696,
"precision_err", 335544697,
"scale_nogt", 335544698,
"expec_short", 335544699,
"expec_long", 335544700,
"expec_ushort", 335544701,
"like_escape_invalid", 335544702,
"svcnoexe", 335544703,
"net_lookup_err", 335544704,
"service_unknown", 335544705,
"host_unknown", 335544706,
"grant_nopriv_on_base", 335544707,
"dyn_fld_ambiguous", 335544708,
"dsql_agg_ref_err", 335544709,
"complex_view", 335544710,
"unprepared_stmt", 335544711,
"expec_positive", 335544712,
"dsql_sqlda_value_err", 335544713,
"invalid_array_id", 335544714,
"extfile_uns_op", 335544715,
"svc_in_use", 335544716,
"err_stack_limit", 335544717,
"invalid_key", 335544718,
"net_init_error", 335544719,
"loadlib_failure", 335544720,
"network_error", 335544721,
"net_connect_err", 335544722,
"net_connect_listen_err", 335544723,
"net_event_connect_err", 335544724,
"net_event_listen_err", 335544725,
"net_read_err", 335544726,
"net_write_err", 335544727,
"integ_index_deactivate", 335544728,
"integ_deactivate_primary", 335544729,
"cse_not_supported", 335544730,
"tra_must_sweep", 335544731,
"unsupported_network_drive", 335544732,
"io_create_err", 335544733,
"io_open_err", 335544734,
"io_close_err", 335544735,
"io_read_err", 335544736,
"io_write_err", 335544737,
"io_delete_err", 335544738,
"io_access_err", 335544739,
"udf_exception", 335544740,
"lost_db_connection", 335544741,
"no_write_user_priv", 335544742,
"token_too_long", 335544743,
"max_att_exceeded", 335544744,
"login_same_as_role_name", 335544745,
"reftable_requires_pk", 335544746,
"usrname_too_long", 335544747,
"password_too_long", 335544748,
"usrname_required", 335544749,
"password_required", 335544750,
"bad_protocol", 335544751,
"dup_usrname_found", 335544752,
"usrname_not_found", 335544753,
"error_adding_sec_record", 335544754,
"error_modifying_sec_record", 335544755,
"error_deleting_sec_record", 335544756,
"error_updating_sec_db", 335544757,
"sort_rec_size_err", 335544758,
"bad_default_value", 335544759,
"invalid_clause", 335544760,
"too_many_handles", 335544761,
"optimizer_blk_exc", 335544762,
"invalid_string_constant", 335544763,
"transitional_date", 335544764,
"read_only_database", 335544765,
"must_be_dialect_2_and_up", 335544766,
"blob_filter_exception", 335544767,
"exception_access_violation", 335544768,
"exception_datatype_missalignmen", 335544769,
"exception_array_bounds_exceeded", 335544770,
"exception_float_denormal_operan", 335544771,
"exception_float_divide_by_zero", 335544772,
"exception_float_inexact_result", 335544773,
"exception_float_invalid_operand", 335544774,
"exception_float_overflow", 335544775,
"exception_float_stack_check", 335544776,
"exception_float_underflow", 335544777,
"exception_integer_divide_by_zer", 335544778,
"exception_integer_overflow", 335544779,
"exception_unknown", 335544780,
"exception_stack_overflow", 335544781,
"exception_sigsegv", 335544782,
"exception_sigill", 335544783,
"exception_sigbus", 335544784,
"exception_sigfpe", 335544785,
"ext_file_delete", 335544786,
"ext_file_modify", 335544787,
"adm_task_denied", 335544788,
"extract_input_mismatch", 335544789,
"insufficient_svc_privileges", 335544790,
"file_in_use", 335544791,
"service_att_err", 335544792,
"ddl_not_allowed_by_db_sql_dial", 335544793,
"cancelled", 335544794,
"unexp_spb_form", 335544795,
"sql_dialect_datatype_unsupport", 335544796,
"svcnouser", 335544797,
"depend_on_uncommitted_rel", 335544798,
"svc_name_missing", 335544799,
"too_many_contexts", 335544800,
"datype_notsup", 335544801,
"dialect_reset_warning", 335544802,
"dialect_not_changed", 335544803,
"database_create_failed", 335544804,
"inv_dialect_specified", 335544805,
"valid_db_dialects", 335544806,
"sqlwarn", 335544807,
"dtype_renamed", 335544808,
"extern_func_dir_error", 335544809,
"date_range_exceeded", 335544810,
"inv_client_dialect_specified", 335544811,
"valid_client_dialects", 335544812,
"optimizer_between_err", 335544813,
"service_not_supported", 335544814,
"gfix_db_name", 335740929,
"gfix_invalid_sw", 335740930,
"gfix_incmp_sw", 335740932,
"gfix_replay_req", 335740933,
"gfix_pgbuf_req", 335740934,
"gfix_val_req", 335740935,
"gfix_pval_req", 335740936,
"gfix_trn_req", 335740937,
"gfix_full_req", 335740940,
"gfix_usrname_req", 335740941,
"gfix_pass_req", 335740942,
"gfix_subs_name", 335740943,
"gfix_wal_req", 335740944,
"gfix_sec_req", 335740945,
"gfix_nval_req", 335740946,
"gfix_type_shut", 335740947,
"gfix_retry", 335740948,
"gfix_retry_db", 335740951,
"gfix_exceed_max", 335740991,
"gfix_corrupt_pool", 335740992,
"gfix_mem_exhausted", 335740993,
"gfix_bad_pool", 335740994,
"gfix_trn_not_valid", 335740995,
"gfix_unexp_eoi", 335741012,
"gfix_recon_fail", 335741018,
"gfix_trn_unknown", 335741036,
"gfix_mode_req", 335741038,
"gfix_opt_SQL_dialect", 335741039,
"dsql_dbkey_from_non_table", 336003074,
"dsql_transitional_numeric", 336003075,
"dsql_dialect_warning_expr", 336003076,
"sql_db_dialect_dtype_unsupport", 336003077,
"isc_sql_dialect_conflict_num", 336003079,
"dsql_warning_number_ambiguous", 336003080,
"dsql_warning_number_ambiguous1", 336003081,
"dsql_warn_precision_ambiguous", 336003082,
"dsql_warn_precision_ambiguous1", 336003083,
"dsql_warn_precision_ambiguous2", 336003084,
"dyn_role_does_not_exist", 336068796,
"dyn_no_grant_admin_opt", 336068797,
"dyn_user_not_role_member", 336068798,
"dyn_delete_role_failed", 336068799,
"dyn_grant_role_to_user", 336068800,
"dyn_inv_sql_role_name", 336068801,
"dyn_dup_sql_role", 336068802,
"dyn_kywd_spec_for_role", 336068803,
"dyn_roles_not_supported", 336068804,
"dyn_domain_name_exists", 336068812,
"dyn_field_name_exists", 336068813,
"dyn_dependency_exists", 336068814,
"dyn_dtype_invalid", 336068815,
"dyn_char_fld_too_small", 336068816,
"dyn_invalid_dtype_conversion", 336068817,
"dyn_dtype_conv_invalid", 336068818,
"gbak_unknown_switch", 336330753,
"gbak_page_size_missing", 336330754,
"gbak_page_size_toobig", 336330755,
"gbak_redir_ouput_missing", 336330756,
"gbak_switches_conflict", 336330757,
"gbak_unknown_device", 336330758,
"gbak_no_protection", 336330759,
"gbak_page_size_not_allowed", 336330760,
"gbak_multi_source_dest", 336330761,
"gbak_filename_missing", 336330762,
"gbak_dup_inout_names", 336330763,
"gbak_inv_page_size", 336330764,
"gbak_db_specified", 336330765,
"gbak_db_exists", 336330766,
"gbak_unk_device", 336330767,
"gbak_blob_info_failed", 336330772,
"gbak_unk_blob_item", 336330773,
"gbak_get_seg_failed", 336330774,
"gbak_close_blob_failed", 336330775,
"gbak_open_blob_failed", 336330776,
"gbak_put_blr_gen_id_failed", 336330777,
"gbak_unk_type", 336330778,
"gbak_comp_req_failed", 336330779,
"gbak_start_req_failed", 336330780,
"gbak_rec_failed", 336330781,
"gbak_rel_req_failed", 336330782,
"gbak_db_info_failed", 336330783,
"gbak_no_db_desc", 336330784,
"gbak_db_create_failed", 336330785,
"gbak_decomp_len_error", 336330786,
"gbak_tbl_missing", 336330787,
"gbak_blob_col_missing", 336330788,
"gbak_create_blob_failed", 336330789,
"gbak_put_seg_failed", 336330790,
"gbak_rec_len_exp", 336330791,
"gbak_inv_rec_len", 336330792,
"gbak_exp_data_type", 336330793,
"gbak_gen_id_failed", 336330794,
"gbak_unk_rec_type", 336330795,
"gbak_inv_bkup_ver", 336330796,
"gbak_missing_bkup_desc", 336330797,
"gbak_string_trunc", 336330798,
"gbak_cant_rest_record", 336330799,
"gbak_send_failed", 336330800,
"gbak_no_tbl_name", 336330801,
"gbak_unexp_eof", 336330802,
"gbak_db_format_too_old", 336330803,
"gbak_inv_array_dim", 336330804,
"gbak_xdr_len_expected", 336330807,
"gbak_open_bkup_error", 336330817,
"gbak_open_error", 336330818,
"gbak_missing_block_fac", 336330934,
"gbak_inv_block_fac", 336330935,
"gbak_block_fac_specified", 336330936,
"gbak_missing_username", 336330940,
"gbak_missing_password", 336330941,
"gbak_missing_skipped_bytes", 336330952,
"gbak_inv_skipped_bytes", 336330953,
"gbak_err_restore_charset", 336330965,
"gbak_err_restore_collation", 336330967,
"gbak_read_error", 336330972,
"gbak_write_error", 336330973,
"gbak_db_in_use", 336330985,
"gbak_sysmemex", 336330990,
"gbak_restore_role_failed", 336331002,
"gbak_role_op_missing", 336331005,
"gbak_page_buffers_missing", 336331010,
"gbak_page_buffers_wrong_param", 336331011,
"gbak_page_buffers_restore", 336331012,
"gbak_inv_size", 336331014,
"gbak_file_outof_sequence", 336331015,
"gbak_join_file_missing", 336331016,
"gbak_stdin_not_supptd", 336331017,
"gbak_stdout_not_supptd", 336331018,
"gbak_bkup_corrupt", 336331019,
"gbak_unk_db_file_spec", 336331020,
"gbak_hdr_write_failed", 336331021,
"gbak_disk_space_ex", 336331022,
"gbak_size_lt_min", 336331023,
"gbak_svc_name_missing", 336331025,
"gbak_not_ownr", 336331026,
"gbak_mode_req", 336331031,
"gsec_cant_open_db", 336723983,
"gsec_switches_error", 336723984,
"gsec_no_op_spec", 336723985,
"gsec_no_usr_name", 336723986,
"gsec_err_add", 336723987,
"gsec_err_modify", 336723988,
"gsec_err_find_mod", 336723989,
"gsec_err_rec_not_found", 336723990,
"gsec_err_delete", 336723991,
"gsec_err_find_del", 336723992,
"gsec_err_find_disp", 336723996,
"gsec_inv_param", 336723997,
"gsec_op_specified", 336723998,
"gsec_pw_specified", 336723999,
"gsec_uid_specified", 336724000,
"gsec_gid_specified", 336724001,
"gsec_proj_specified", 336724002,
"gsec_org_specified", 336724003,
"gsec_fname_specified", 336724004,
"gsec_mname_specified", 336724005,
"gsec_lname_specified", 336724006,
"gsec_inv_switch", 336724008,
"gsec_amb_switch", 336724009,
"gsec_no_op_specified", 336724010,
"gsec_params_not_allowed", 336724011,
"gsec_incompat_switch", 336724012,
"gsec_inv_username", 336724044,
"gsec_inv_pw_length", 336724045,
"gsec_db_specified", 336724046,
"gsec_db_admin_specified", 336724047,
"gsec_db_admin_pw_specified", 336724048,
"gsec_sql_role_specified", 336724049,
"license_no_file", 336789504,
"license_op_specified", 336789523,
"license_op_missing", 336789524,
"license_inv_switch", 336789525,
"license_inv_switch_combo", 336789526,
"license_inv_op_combo", 336789527,
"license_amb_switch", 336789528,
"license_inv_parameter", 336789529,
"license_param_specified", 336789530,
"license_param_req", 336789531,
"license_syntx_error", 336789532,
"license_dup_id", 336789534,
"license_inv_id_key", 336789535,
"license_err_remove", 336789536,
"license_err_update", 336789537,
"license_err_convert", 336789538,
"license_err_unk", 336789539,
"license_svc_err_add", 336789540,
"license_svc_err_remove", 336789541,
"license_eval_exists", 336789563,
"gstat_unknown_switch", 336920577,
"gstat_retry", 336920578,
"gstat_wrong_ods", 336920579,
"gstat_unexpected_eof", 336920580,
"gstat_open_err", 336920605,
"gstat_read_err", 336920606, "gstat_sysmemex", 336920607,

View File

@ -27,18 +27,29 @@
* readonly databases. * readonly databases.
*/ */
/* /*
$Id: common.h,v 1.4 2001-07-12 06:32:03 bellardo Exp $ $Id: common.h,v 1.5 2001-07-29 17:42:21 skywalker Exp $
*/ */
#ifndef JRD_COMMON_H #ifndef JRD_COMMON_H
#define JRD_COMMON_H #define JRD_COMMON_H
#include "objs/jrd/autoconfig.h" #ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifndef INCLUDE_FB_MACROS_H #ifndef INCLUDE_FB_MACROS_H
#include "../include/fb_macros.h" #include "../include/fb_macros.h"
#endif #endif
#ifndef INCLUDE_FB_TYPES_H
#include "../include/fb_types.h"
#endif
/* /*
do not use links in source code to maintain platform neutraility do not use links in source code to maintain platform neutraility
*/ */
@ -57,9 +68,6 @@ $Id: common.h,v 1.4 2001-07-12 06:32:03 bellardo Exp $
#define CANCEL_OPERATION #define CANCEL_OPERATION
#endif #endif
#ifndef GDS_FAR
#define GDS_FAR
#endif
/* Linux for Intel platforms*/ /* Linux for Intel platforms*/
@ -93,7 +101,6 @@ $Id: common.h,v 1.4 2001-07-12 06:32:03 bellardo Exp $
#define MOVE_FASTER(from,to,length) memcpy (to, from, (int) (length)) #define MOVE_FASTER(from,to,length) memcpy (to, from, (int) (length))
#define MOVE_CLEAR(to,length) memset (to, 0, (int) (length)) #define MOVE_CLEAR(to,length) memset (to, 0, (int) (length))
#define VOLATILE volatile
#endif /* LINUX */ #endif /* LINUX */
/* Darwin Platforms */ /* Darwin Platforms */
@ -122,10 +129,15 @@ $Id: common.h,v 1.4 2001-07-12 06:32:03 bellardo Exp $
#define MOVE_FASTER(from,to,length) memcpy (to, from, (int) (length)) #define MOVE_FASTER(from,to,length) memcpy (to, from, (int) (length))
#define MOVE_CLEAR(to,length) memset (to, 0, (int) (length)) #define MOVE_CLEAR(to,length) memset (to, 0, (int) (length))
#if 0 /* sys/param included up top, wait till John says if need #define. MOD 16-07-2001 */
#ifdef DARWIN
#define _PPC_PARAM_H_ #define _PPC_PARAM_H_
#endif
#ifndef MAXPATHLEN #ifndef MAXPATHLEN
#include <sys/param.h> #include <sys/param.h>
#endif #endif
#endif
#endif /* Darwin Platforms */ #endif /* Darwin Platforms */
@ -237,8 +249,6 @@ $Id: common.h,v 1.4 2001-07-12 06:32:03 bellardo Exp $
#define SETPGRP setpgrp () #define SETPGRP setpgrp ()
#define SIGACTION_SUPPORTED #define SIGACTION_SUPPORTED
#define NO_FLOCK #define NO_FLOCK
#define CONST const
#define VOLATILE volatile
#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)
/********* Reason for introducing MEMMOVE macro. /********* Reason for introducing MEMMOVE macro.
@ -426,7 +436,6 @@ $Id: common.h,v 1.4 2001-07-12 06:32:03 bellardo Exp $
#define NO_NFS #define NO_NFS
#undef LINKS_EXIST #undef LINKS_EXIST
#define IEEE /* IEEE floating point arith. */ #define IEEE /* IEEE floating point arith. */
#define CONST const
#define IMPLEMENTATION 47 #define IMPLEMENTATION 47
#define MEMMOVE(from,to,length) memmove (to, from, (int) (length)) #define MEMMOVE(from,to,length) memmove (to, from, (int) (length))
@ -574,8 +583,6 @@ typedef unsigned int64 UATOM;
#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)
#define STRICMP(s1, s2) stricmp(s1, s2) #define STRICMP(s1, s2) stricmp(s1, s2)
#define CONST const
#define VOLATILE volatile
#define SYS_ARG isc_arg_win32 #define SYS_ARG isc_arg_win32
typedef __int64 SINT64; typedef __int64 SINT64;
@ -731,8 +738,6 @@ typedef unsigned char BOOLEAN;
#define DOUBLE_ALIGN 8 #define DOUBLE_ALIGN 8
#else #else
#define IMPLEMENTATION 58 #define IMPLEMENTATION 58
#define CONST const
#define VOLATILE volatile
#define I386 1 #define I386 1
#define VAX 1 #define VAX 1
#endif /* DG_X86 */ #endif /* DG_X86 */
@ -776,14 +781,8 @@ typedef unsigned char BOOLEAN;
#define MOVE_FAST(from,to,length) memcpy (to, from, (int) (length)) #define MOVE_FAST(from,to,length) memcpy (to, from, (int) (length))
#define MOVE_FASTER(from,to,length) memcpy (to, from, (int) (length)) #define MOVE_FASTER(from,to,length) memcpy (to, from, (int) (length))
#define MOVE_CLEAR(to,length) memset (to, 0, (int) (length)) #define MOVE_CLEAR(to,length) memset (to, 0, (int) (length))
#define LONG_DEFINED
typedef int SLONG;
typedef unsigned int ULONG;
#define SQUAD_DEFINED
typedef long SQUAD;
typedef unsigned long UQUAD;
#define NATIVE_QUAD
#define ATOM_DEFINED #define ATOM_DEFINED
typedef long SATOM; /* 64 bit */ typedef long SATOM; /* 64 bit */
typedef unsigned long UATOM; typedef unsigned long UATOM;
@ -1082,17 +1081,6 @@ typedef unsigned long DWORD;
#define THREAD_ROUTINE #define THREAD_ROUTINE
#endif #endif
#ifndef CONST
/* To handle platforms which don't support ANSI keyword "const" */
#define CONST /* nothing */
#endif
#ifndef VOLATILE
/* To handle platforms which don't support ANSI keyword "volatile" */
#define VOLATILE /* nothing */
#endif
/* alignment macros */ /* alignment macros */
@ -1150,27 +1138,6 @@ typedef unsigned long DWORD;
/* data type definitions */ /* data type definitions */
/* Basic data types */
#if 1
/* TMN: TODO It seems SCHAR is used just about *everywhere* where a plain
* "char" is really intended. This currently forces us to this bad definition.
*/
typedef char SCHAR;
#else
typedef signed char SCHAR;
#endif
typedef unsigned char UCHAR;
typedef short SSHORT;
typedef unsigned short USHORT;
#ifndef LONG_DEFINED /* 32 bit */
typedef long SLONG;
typedef unsigned long ULONG;
#else
#undef LONG_DEFINED
#endif
#ifndef INT64_DEFINED /* 64 bit */ #ifndef INT64_DEFINED /* 64 bit */
typedef long long int SINT64; typedef long long int SINT64;
@ -1179,12 +1146,6 @@ typedef unsigned long long int UINT64;
#undef INT64_DEFINED #undef INT64_DEFINED
#endif #endif
#ifndef SQUAD_DEFINED /* 64 bit */
typedef struct {
SLONG high;
ULONG low;
} SQUAD;
#endif
#ifndef ATOM_DEFINED /* 32 or 64 bit */ #ifndef ATOM_DEFINED /* 32 or 64 bit */
typedef long SATOM; typedef long SATOM;
@ -1214,20 +1175,6 @@ typedef struct
#define GDS_TIME ISC_TIME #define GDS_TIME ISC_TIME
#define GDS_TIMESTAMP ISC_TIMESTAMP #define GDS_TIMESTAMP ISC_TIMESTAMP
typedef char TEXT; /* To be expunged over time */
typedef unsigned char STEXT; /* Signed text - very rare */
typedef unsigned char UTEXT; /* Unsigned text - common */
typedef unsigned char BYTE; /* Unsigned byte - common */
typedef char SBYTE; /* Signed byte - rare usage */
typedef long STATUS;
typedef long IPTR;
typedef unsigned long U_IPTR;
typedef void (GDS_FAR *FPTR_VOID) ();
typedef void (GDS_FAR *FPTR_VOID_PTR) (void *);
typedef int (GDS_FAR *FPTR_INT) ();
typedef int (GDS_FAR *FPTR_INT_VOID_PTR) (void *);
typedef ULONG RCRD_OFFSET;
typedef USHORT FLD_LENGTH;
#ifndef ENUM #ifndef ENUM
#define ENUM enum #define ENUM enum

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
@ -34,7 +35,7 @@
#include "../jrd/req.h" #include "../jrd/req.h"
#include "../jrd/val.h" #include "../jrd/val.h"
#include "../jrd/quad.h" #include "../jrd/quad.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/intl.h" #include "../jrd/intl.h"
#include "../jrd/gdsassert.h" #include "../jrd/gdsassert.h"
#include "../jrd/cvt_proto.h" #include "../jrd/cvt_proto.h"
@ -425,7 +426,7 @@ double PASCAL_ROUTINE CVT_get_double(DSC * desc, FPTR_VOID err)
if (exp >= SHORT_LIMIT) if (exp >= SHORT_LIMIT)
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
} }
else if (*p == '-' && !digit_seen && !sign) else if (*p == '-' && !digit_seen && !sign)
sign = -1; sign = -1;
@ -448,7 +449,7 @@ double PASCAL_ROUTINE CVT_get_double(DSC * desc, FPTR_VOID err)
the user know... */ the user know... */
if (ABSOLUT(scale) > DBL_MAX_10_EXP) if (ABSOLUT(scale) > DBL_MAX_10_EXP)
reinterpret_cast<pfn_cvt_private_cludge>(err)(gds__arith_except, 0); reinterpret_cast<pfn_cvt_private_cludge>(err)(gds_arith_except, 0);
/* /*
Repeated division is a good way to mung the least significant bits Repeated division is a good way to mung the least significant bits
@ -475,7 +476,7 @@ double PASCAL_ROUTINE CVT_get_double(DSC * desc, FPTR_VOID err)
break; break;
default: default:
reinterpret_cast < pfn_cvt_private_cludge > (err) (gds__badblk, 0); /* internal error */ reinterpret_cast < pfn_cvt_private_cludge > (err) (gds_badblk, 0); /* internal error */
break; break;
} }
@ -489,7 +490,7 @@ double PASCAL_ROUTINE CVT_get_double(DSC * desc, FPTR_VOID err)
the user know... */ the user know... */
if (ABSOLUT(scale) > DBL_MAX_10_EXP) if (ABSOLUT(scale) > DBL_MAX_10_EXP)
reinterpret_cast < pfn_cvt_private_cludge > (err) (gds__arith_except, reinterpret_cast < pfn_cvt_private_cludge > (err) (gds_arith_except,
0); 0);
if (scale > 0) if (scale > 0)
@ -564,13 +565,13 @@ SLONG CVT_get_long(DSC * desc, SSHORT scale, FPTR_VOID err)
do { do {
if ((val64 > INT64_LIMIT) || (val64 < -INT64_LIMIT)) if ((val64 > INT64_LIMIT) || (val64 < -INT64_LIMIT))
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
val64 *= 10; val64 *= 10;
} while (++scale); } while (++scale);
if ((val64 > LONG_MAX_int64) || (val64 < LONG_MIN_int64)) if ((val64 > LONG_MAX_int64) || (val64 < LONG_MIN_int64))
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
return (SLONG) val64; return (SLONG) val64;
case dtype_quad: case dtype_quad:
@ -578,7 +579,7 @@ SLONG CVT_get_long(DSC * desc, SSHORT scale, FPTR_VOID err)
high = ((SLONG *) p)[HIGH_WORD]; high = ((SLONG *) p)[HIGH_WORD];
if ((value >= 0 && !high) || (value < 0 && high == -1)) if ((value >= 0 && !high) || (value < 0 && high == -1))
break; break;
reinterpret_cast < pfn_cvt_private_cludge > (err) (gds__arith_except, reinterpret_cast < pfn_cvt_private_cludge > (err) (gds_arith_except,
0); 0);
break; break;
@ -617,13 +618,13 @@ SLONG CVT_get_long(DSC * desc, SSHORT scale, FPTR_VOID err)
if (d > (double) LONG_MIN_real - 1.) if (d > (double) LONG_MIN_real - 1.)
return LONG_MIN; return LONG_MIN;
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
} }
if (d > (double) LONG_MAX_real) { if (d > (double) LONG_MAX_real) {
if (d < (double) LONG_MAX_real + 1.) if (d < (double) LONG_MAX_real + 1.)
return LONG_MAX_int; return LONG_MAX_int;
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
} }
return (SLONG) d; return (SLONG) d;
@ -645,7 +646,7 @@ SLONG CVT_get_long(DSC * desc, SSHORT scale, FPTR_VOID err)
break; break;
default: default:
reinterpret_cast < pfn_cvt_private_cludge > (err) (gds__badblk, 0); /* internal error */ reinterpret_cast < pfn_cvt_private_cludge > (err) (gds_badblk, 0); /* internal error */
break; break;
} }
@ -679,7 +680,7 @@ SLONG CVT_get_long(DSC * desc, SSHORT scale, FPTR_VOID err)
do { do {
if (value > LONG_LIMIT || value < -LONG_LIMIT) if (value > LONG_LIMIT || value < -LONG_LIMIT)
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
value *= 10; value *= 10;
} while (++scale); } while (++scale);
@ -888,7 +889,7 @@ SQUAD CVT_get_quad(DSC * desc, SSHORT scale, FPTR_VOID err)
else if (d < (double) QUAD_MAX_real + 1.) else if (d < (double) QUAD_MAX_real + 1.)
return QUAD_MAX_int; return QUAD_MAX_int;
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
} }
return QUAD_FROM_DOUBLE(d, err); return QUAD_FROM_DOUBLE(d, err);
@ -910,7 +911,7 @@ SQUAD CVT_get_quad(DSC * desc, SSHORT scale, FPTR_VOID err)
break; break;
default: default:
reinterpret_cast < pfn_cvt_private_cludge > (err) (gds__badblk, 0); /* internal error */ reinterpret_cast < pfn_cvt_private_cludge > (err) (gds_badblk, 0); /* internal error */
break; break;
} }
@ -920,7 +921,7 @@ SQUAD CVT_get_quad(DSC * desc, SSHORT scale, FPTR_VOID err)
return value; return value;
#ifndef NATIVE_QUAD #ifndef NATIVE_QUAD
reinterpret_cast < pfn_cvt_private_cludge > (err) (gds__badblk, 0); /* internal error */ reinterpret_cast < pfn_cvt_private_cludge > (err) (gds_badblk, 0); /* internal error */
#else #else
if (scale > 0) { if (scale > 0) {
if (desc->dsc_dtype == dtype_short || if (desc->dsc_dtype == dtype_short ||
@ -950,7 +951,7 @@ SQUAD CVT_get_quad(DSC * desc, SSHORT scale, FPTR_VOID err)
else else
do { do {
if (value > QUAD_LIMIT || value < -QUAD_LIMIT) if (value > QUAD_LIMIT || value < -QUAD_LIMIT)
(*err) (gds__arith_except, 0); (*err) (gds_arith_except, 0);
value *= 10; value *= 10;
} while (++scale); } while (++scale);
#endif #endif
@ -1043,7 +1044,7 @@ SINT64 CVT_get_int64(DSC * desc, SSHORT scale, FPTR_VOID err)
if (d < (double) QUAD_MIN_real || (double) QUAD_MAX_real < d) if (d < (double) QUAD_MIN_real || (double) QUAD_MAX_real < d)
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
return (SINT64) d; return (SINT64) d;
@ -1065,7 +1066,7 @@ SINT64 CVT_get_int64(DSC * desc, SSHORT scale, FPTR_VOID err)
break; break;
default: default:
reinterpret_cast < pfn_cvt_private_cludge > (err) (gds__badblk, 0); /* internal error */ reinterpret_cast < pfn_cvt_private_cludge > (err) (gds_badblk, 0); /* internal error */
break; break;
} }
@ -1100,7 +1101,7 @@ SINT64 CVT_get_int64(DSC * desc, SSHORT scale, FPTR_VOID err)
do { do {
if (value > INT64_LIMIT || value < -INT64_LIMIT) if (value > INT64_LIMIT || value < -INT64_LIMIT)
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
value *= 10; value *= 10;
} while (++scale); } while (++scale);
@ -1597,7 +1598,7 @@ void DLL_EXPORT CVT_move(DSC * from, DSC * to, FPTR_VOID err)
#endif #endif
#endif #endif
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
#ifndef REQUESTER #ifndef REQUESTER
#ifndef SUPERCLIENT #ifndef SUPERCLIENT
} }
@ -1666,7 +1667,7 @@ void DLL_EXPORT CVT_move(DSC * from, DSC * to, FPTR_VOID err)
do do
if (*q++ != ASCII_SPACE) if (*q++ != ASCII_SPACE)
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
while (--l); while (--l);
} }
return; return;
@ -1711,7 +1712,7 @@ void DLL_EXPORT CVT_move(DSC * from, DSC * to, FPTR_VOID err)
if (to->dsc_dtype != from->dsc_dtype) if (to->dsc_dtype != from->dsc_dtype)
reinterpret_cast < pfn_cvt_private_cludge2 > (err) (gds_wish_list, reinterpret_cast < pfn_cvt_private_cludge2 > (err) (gds_wish_list,
gds_arg_gds, gds_arg_gds,
gds__blobnotsup, gds_blobnotsup,
gds_arg_string, gds_arg_string,
"move", 0); "move", 0);
@ -1731,7 +1732,7 @@ void DLL_EXPORT CVT_move(DSC * from, DSC * to, FPTR_VOID err)
*(SSHORT *) p = (SSHORT) l; *(SSHORT *) p = (SSHORT) l;
if (*(SSHORT *) p != l) if (*(SSHORT *) p != l)
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
return; return;
case dtype_long: case dtype_long:
@ -1757,7 +1758,7 @@ void DLL_EXPORT CVT_move(DSC * from, DSC * to, FPTR_VOID err)
d_value = CVT_get_double(from, err); d_value = CVT_get_double(from, err);
if (ABSOLUT(d_value) > FLOAT_MAX) if (ABSOLUT(d_value) > FLOAT_MAX)
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
*(float *) p = (float) d_value; *(float *) p = (float) d_value;
} }
return; return;
@ -1777,11 +1778,11 @@ void DLL_EXPORT CVT_move(DSC * from, DSC * to, FPTR_VOID err)
if (from->dsc_dtype == dtype_array || from->dsc_dtype == dtype_blob) if (from->dsc_dtype == dtype_array || from->dsc_dtype == dtype_blob)
reinterpret_cast < pfn_cvt_private_cludge2 > (err) (gds_wish_list, reinterpret_cast < pfn_cvt_private_cludge2 > (err) (gds_wish_list,
gds_arg_gds, gds_arg_gds,
gds__blobnotsup, gds_blobnotsup,
gds_arg_string, gds_arg_string,
"move", 0); "move", 0);
reinterpret_cast < pfn_cvt_private_cludge > (err) (gds__badblk, 0); /* internal error */ reinterpret_cast < pfn_cvt_private_cludge > (err) (gds_badblk, 0); /* internal error */
} }
@ -1815,7 +1816,7 @@ static void conversion_error(DSC * desc, FPTR_VOID err)
#endif #endif
} }
reinterpret_cast < pfn_cvt_private_cludge2 > (err) (gds__convert_error, reinterpret_cast < pfn_cvt_private_cludge2 > (err) (gds_convert_error,
gds_arg_string, p, 0); gds_arg_string, p, 0);
} }
@ -1867,7 +1868,7 @@ version4 = (tdbb->tdbb_request->req_flags & req_blr_version4) ? TRUE : FALSE;
break; break;
default: default:
assert(FALSE); assert(FALSE);
reinterpret_cast < pfn_cvt_private_cludge > (err) (gds__badblk, 0); /* internal error */ reinterpret_cast < pfn_cvt_private_cludge > (err) (gds_badblk, 0); /* internal error */
break; break;
} }
@ -1967,7 +1968,7 @@ static SSHORT decompose(
supported by the platform as a native datatype. */ supported by the platform as a native datatype. */
if (dtype == dtype_quad) if (dtype == dtype_quad)
reinterpret_cast < pfn_cvt_private_cludge > (err) (gds__badblk, 0); /* internal error */ reinterpret_cast < pfn_cvt_private_cludge > (err) (gds_badblk, 0); /* internal error */
#endif #endif
MOVE_CLEAR(&errd, sizeof(errd)); MOVE_CLEAR(&errd, sizeof(errd));
@ -1998,11 +1999,11 @@ static SSHORT decompose(
/* possibility of an overflow */ /* possibility of an overflow */
if (value > limit_by_10) if (value > limit_by_10)
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
else if (((*p > '8') && (sign == -1)) else if (((*p > '8') && (sign == -1))
|| ((*p > '7') && (sign != -1))) || ((*p > '7') && (sign != -1)))
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
} }
value = value * 10 + *p - '0'; value = value * 10 + *p - '0';
@ -2048,7 +2049,7 @@ static SSHORT decompose(
if (exp >= SHORT_LIMIT) if (exp >= SHORT_LIMIT)
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
} }
else if (*p == '-' && !digit_seen && !sign) else if (*p == '-' && !digit_seen && !sign)
sign = -1; sign = -1;
@ -2178,7 +2179,7 @@ static void float_to_text(DSC * from, DSC * to, FPTR_VOID err)
".", report an overflow exception. */ ".", report an overflow exception. */
if (precision < 2) if (precision < 2)
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
chars_printed = sprintf(temp, "%- #*.*g", width, precision, d); chars_printed = sprintf(temp, "%- #*.*g", width, precision, d);
@ -2191,7 +2192,7 @@ static void float_to_text(DSC * from, DSC * to, FPTR_VOID err)
precision -= (chars_printed - width); precision -= (chars_printed - width);
if (precision < 2) if (precision < 2)
reinterpret_cast < pfn_cvt_private_cludge > reinterpret_cast < pfn_cvt_private_cludge >
(err) (gds__arith_except, 0); (err) (gds_arith_except, 0);
chars_printed = chars_printed =
sprintf(temp, "%- #*.*g", width, precision, d); sprintf(temp, "%- #*.*g", width, precision, d);
} }
@ -2236,7 +2237,7 @@ static void integer_to_text(DSC * from, DSC * to, FPTR_VOID err)
supported by the platform as a native datatype. */ supported by the platform as a native datatype. */
if (from->dsc_dtype == dtype_quad) if (from->dsc_dtype == dtype_quad)
reinterpret_cast < pfn_cvt_private_cludge > (err) (gds__badblk, 0); /* internal error */ reinterpret_cast < pfn_cvt_private_cludge > (err) (gds_badblk, 0); /* internal error */
#endif #endif
pad = decimal = neg = 0; pad = decimal = neg = 0;

View File

@ -22,11 +22,12 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/val.h" #include "../jrd/val.h"
#include "../jrd/quad.h" #include "../jrd/quad.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/intl.h" #include "../jrd/intl.h"
#include "../jrd/gdsassert.h" #include "../jrd/gdsassert.h"
#include "../jrd/all_proto.h" #include "../jrd/all_proto.h"
@ -465,7 +466,7 @@ SSHORT CVT2_compare(DSC * arg1, DSC * arg2, FPTR_VOID err)
case dtype_array: case dtype_array:
reinterpret_cast < void (*) (...) > (*err) (gds_wish_list, reinterpret_cast < void (*) (...) > (*err) (gds_wish_list,
gds_arg_gds, gds_arg_gds,
gds__blobnotsup, gds_blobnotsup,
gds_arg_string, "compare", gds_arg_string, "compare",
0); 0);
break; break;

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
#include <signal.h> #include <signal.h>

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/ibase.h" #include "../jrd/ibase.h"
#include "../jrd/everything.h" #include "../jrd/everything.h"
@ -32,7 +33,6 @@
#define FLD(struct, string, field) string, (SCHAR*) OFFSET (struct, field), (SCHAR*) sizeof (((struct) 0)->field) #define FLD(struct, string, field) string, (SCHAR*) OFFSET (struct, field), (SCHAR*) sizeof (((struct) 0)->field)
#endif #endif
extern "C" { extern "C" {
@ -312,24 +312,24 @@ static int (*dbg_all) (), (*dbg_block) (), (*dbg_examine) (), (*dbg_eval) (),
#define SYM(struct, name) "name", OFFSET (struct, name), 0, symb_offset, sizeof (((struct) 0)->name), #define SYM(struct, name) "name", OFFSET (struct, name), 0, symb_offset, sizeof (((struct) 0)->name),
struct symb dbt_symbols[] = { struct symb dbt_symbols[] = {
"blk", &dbg_block, symb_printer, sizeof(int), {"blk", &dbg_block, symb_printer, sizeof(int)},
"ev", &dbg_eval, symb_printer, sizeof(int), {"ev", &dbg_eval, symb_printer, sizeof(int)},
"ex", &dbg_examine, symb_printer, sizeof(int), {"ex", &dbg_examine, symb_printer, sizeof(int)},
"dump", &dmp_page, symb_printer, sizeof(SLONG), {"dump", &dmp_page, symb_printer, sizeof(SLONG)},
"pool", &dbg_pool, symb_printer, 0, {"pool", &dbg_pool, symb_printer, 0},
"pretty", &dbg_pretty, symb_printer, 0, {"pretty", &dbg_pretty, symb_printer, 0},
"analyze", &dbg_analyze, symb_printer, 0, {"analyze", &dbg_analyze, symb_printer, 0},
"window", &dbg_window, symb_printer, 0, {"window", &dbg_window, symb_printer, 0},
"rpb", &dbg_rpb, symb_printer, 0, {"rpb", &dbg_rpb, symb_printer, 0},
"check", &dbg_check, symb_printer, 0, {"check", &dbg_check, symb_printer, 0},
"dirty", &dmp_dirty, symb_routine, 0, {"dirty", &dmp_dirty, symb_routine, 0},
"active", &dmp_active, symb_routine, 0, {"active", &dmp_active, symb_routine, 0},
"all", &dbg_all, symb_routine, 0, {"all", &dbg_all, symb_routine, 0},
"open", &dbg_open, symb_routine, 0, {"open", &dbg_open, symb_routine, 0},
"close", &dbg_close, symb_routine, 0, {"close", &dbg_close, symb_routine, 0},
"bdbs", &dbg_bdbs, symb_routine, 0, {"bdbs", &dbg_bdbs, symb_routine, 0},
"verify", &dbg_verify, symb_routine, 0, {"verify", &dbg_verify, symb_routine, 0},
/* /*
"dbb", &dbb, symb_absolute, sizeof (dbb), "dbb", &dbb, symb_absolute, sizeof (dbb),

View File

@ -16,7 +16,8 @@
* All Rights Reserved. * All Rights Reserved.
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "../jrd/codes.h" #include "firebird.h"
#include "gen/codes.h"
#define entry(r) r(status) int *status; {return error (status); }; #define entry(r) r(status) int *status; {return error (status); };

View File

@ -25,12 +25,13 @@
#define LOCAL_SHLIB_DEFS #define LOCAL_SHLIB_DEFS
#endif #endif
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
#include "../jrd/ibsetjmp.h" #include "../jrd/ibsetjmp.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include <stdarg.h> #include <stdarg.h>
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/val.h" #include "../jrd/val.h"
#include "../jrd/irq.h" #include "../jrd/irq.h"
@ -91,7 +92,7 @@
#include <unistd.h> #include <unistd.h>
#endif #endif
#include "../jrd/codes.h" #include "gen/codes.h"
/* Pick up system relation ids */ /* Pick up system relation ids */
@ -279,8 +280,8 @@ USHORT DFW_assign_index_type(DFW work, SSHORT field_type, SSHORT ttype)
if (INTL_defined_type(tdbb, status, ttype)) if (INTL_defined_type(tdbb, status, ttype))
return INTL_TEXT_TO_INDEX(ttype); return INTL_TEXT_TO_INDEX(ttype);
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__random, gds_arg_string, gds_arg_gds, gds_random, gds_arg_string,
ERR_cstring(work->dfw_name), status[0], status[1], status[2], ERR_cstring(work->dfw_name), status[0], status[1], status[2],
status[3], status[3],
0); 0);
@ -784,9 +785,9 @@ static BOOLEAN add_file( TDBB tdbb, SSHORT phase, DFW work, TRA transaction)
} }
else else
{ {
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__lock_timeout, gds_arg_gds, gds_lock_timeout,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_cstring(dbb->dbb_file->fil_string), gds_arg_string, ERR_cstring(dbb->dbb_file->fil_string),
0); 0);
return FALSE; return FALSE;
@ -914,8 +915,8 @@ static BOOLEAN add_shadow( TDBB tdbb, SSHORT phase, DFW work, TRA transaction)
case 4: case 4:
if (wal_defined(tdbb)) if (wal_defined(tdbb))
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__wal_shadow_err, 0); gds_arg_gds, gds_wal_shadow_err, 0);
/* Msg309: Write-Ahead Log with Shadowing configuration not allowed */ /* Msg309: Write-Ahead Log with Shadowing configuration not allowed */
check_filename(work->dfw_name, work->dfw_name_length); check_filename(work->dfw_name, work->dfw_name_length);
@ -955,9 +956,9 @@ static BOOLEAN add_shadow( TDBB tdbb, SSHORT phase, DFW work, TRA transaction)
* may be GDML * may be GDML
*/ */
if (!CCH_exclusive(tdbb, LCK_EX, WAIT_PERIOD)) if (!CCH_exclusive(tdbb, LCK_EX, WAIT_PERIOD))
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__lock_timeout, gds_arg_gds, gds_lock_timeout,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, gds_arg_string,
ERR_cstring(dbb->dbb_file->fil_string), ERR_cstring(dbb->dbb_file->fil_string),
0); 0);
@ -969,8 +970,8 @@ static BOOLEAN add_shadow( TDBB tdbb, SSHORT phase, DFW work, TRA transaction)
/* We cannot add a file to a shadow that is still /* We cannot add a file to a shadow that is still
* in the process of being created. * in the process of being created.
*/ */
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, gds_arg_string,
ERR_cstring(dbb->dbb_file->fil_string), ERR_cstring(dbb->dbb_file->fil_string),
0); 0);
@ -1146,32 +1147,32 @@ static void check_dependencies(TDBB tdbb,
switch (dpdo_type) switch (dpdo_type)
{ {
case obj_relation: case obj_relation:
obj_type = gds__table_name; obj_type = gds_table_name;
break; break;
case obj_procedure: case obj_procedure:
obj_type = gds__proc_name; obj_type = gds_proc_name;
break; break;
case obj_exception: case obj_exception:
obj_type = gds__exception_name; obj_type = gds_exception_name;
break; break;
default: default:
assert(FALSE); assert(FALSE);
break; break;
} }
if (field_name) if (field_name)
ERR_post( gds__no_meta_update, ERR_post( gds_no_meta_update,
gds_arg_gds, gds__no_delete, /* Msg353: can not delete */ gds_arg_gds, gds_no_delete, /* Msg353: can not delete */
gds_arg_gds, gds__field_name, gds_arg_gds, gds_field_name,
gds_arg_string, ERR_cstring(field_name), gds_arg_string, ERR_cstring(field_name),
gds_arg_gds, gds__dependency, gds_arg_gds, gds_dependency,
gds_arg_number, (SLONG) dep_counts[i], gds_arg_number, (SLONG) dep_counts[i],
0); /* Msg310: there are %ld dependencies */ 0); /* Msg310: there are %ld dependencies */
else else
ERR_post( gds__no_meta_update, ERR_post( gds_no_meta_update,
gds_arg_gds, gds__no_delete, /* can not delete */ gds_arg_gds, gds_no_delete, /* can not delete */
gds_arg_gds, obj_type, gds_arg_gds, obj_type,
gds_arg_string, ERR_cstring(dpdo_name), gds_arg_string, ERR_cstring(dpdo_name),
gds_arg_gds, gds__dependency, gds_arg_gds, gds_dependency,
gds_arg_number, (SLONG) dep_counts[i], gds_arg_number, (SLONG) dep_counts[i],
0); /* there are %ld dependencies */ 0); /* there are %ld dependencies */
} }
@ -1203,7 +1204,7 @@ static void check_filename( TEXT * name, USHORT l)
valid = FALSE; valid = FALSE;
if (!valid || ISC_check_if_remote(file_name, FALSE)) if (!valid || ISC_check_if_remote(file_name, FALSE))
ERR_post(gds__no_meta_update, gds_arg_gds, gds__node_name_err, 0); ERR_post(gds_no_meta_update, gds_arg_gds, gds_node_name_err, 0);
/* Msg305: A node name is not permitted in a secondary, shadow, or log file name */ /* Msg305: A node name is not permitted in a secondary, shadow, or log file name */
} }
@ -1388,8 +1389,8 @@ static BOOLEAN create_index(TDBB tdbb,
if (!relation) if (!relation)
{ {
EXE_unwind(tdbb, (REQ)request); EXE_unwind(tdbb, (REQ)request);
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__idx_create_err, gds_arg_gds, gds_idx_create_err,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
/* Msg308: can't create index %s */ /* Msg308: can't create index %s */
@ -1424,14 +1425,14 @@ static BOOLEAN create_index(TDBB tdbb,
{ {
EXE_unwind(tdbb, (REQ)request); EXE_unwind(tdbb, (REQ)request);
if (!idx.idx_count) if (!idx.idx_count)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__idx_seg_err, gds_arg_gds, gds_idx_seg_err,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
/* Msg304: segment count of 0 defined for index %s */ /* Msg304: segment count of 0 defined for index %s */
else else
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__idx_key_err, gds_arg_gds, gds_idx_key_err,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
/* Msg311: too many keys defined for index %s */ /* Msg311: too many keys defined for index %s */
@ -1457,29 +1458,29 @@ static BOOLEAN create_index(TDBB tdbb,
{ {
EXE_unwind(tdbb, (REQ)request); EXE_unwind(tdbb, (REQ)request);
if (key_count > idx.idx_count) if (key_count > idx.idx_count)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__idx_key_err, gds_arg_gds, gds_idx_key_err,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
/* Msg311: too many keys defined for index %s */ /* Msg311: too many keys defined for index %s */
else if (SEG.RDB$FIELD_POSITION > idx.idx_count) else if (SEG.RDB$FIELD_POSITION > idx.idx_count)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__inval_key_posn, gds_arg_gds, gds_inval_key_posn,
/* Msg358: invalid key position */ /* Msg358: invalid key position */
gds_arg_gds, gds__field_name, gds_arg_gds, gds_field_name,
gds_arg_string, ERR_cstring(RFR.RDB$FIELD_NAME), gds_arg_string, ERR_cstring(RFR.RDB$FIELD_NAME),
gds_arg_gds, gds__index_name, gds_arg_gds, gds_index_name,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
else if (FLD.RDB$FIELD_TYPE == blr_blob) else if (FLD.RDB$FIELD_TYPE == blr_blob)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__blob_idx_err, gds_arg_gds, gds_blob_idx_err,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
/* Msg350: attempt to index blob column in index %s */ /* Msg350: attempt to index blob column in index %s */
else else
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__array_idx_err, gds_arg_gds, gds_array_idx_err,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
/* Msg351: attempt to index array column in index %s */ /* Msg351: attempt to index array column in index %s */
@ -1509,14 +1510,14 @@ static BOOLEAN create_index(TDBB tdbb,
REQUEST(irq_c_index) = (BLK)request; REQUEST(irq_c_index) = (BLK)request;
if (key_count != idx.idx_count) if (key_count != idx.idx_count)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__key_field_err, gds_arg_gds, gds_key_field_err,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
/* Msg352: too few key columns found for index %s (incorrect column name?) */ /* Msg352: too few key columns found for index %s (incorrect column name?) */
if (!relation) if (!relation)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__idx_create_err, gds_arg_gds, gds_idx_create_err,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
/* Msg308: can't create index %s */ /* Msg308: can't create index %s */
@ -1526,8 +1527,8 @@ static BOOLEAN create_index(TDBB tdbb,
MET_scan_relation(tdbb, relation); MET_scan_relation(tdbb, relation);
if (relation->rel_view_rse) if (relation->rel_view_rse)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__idx_create_err, gds_arg_gds, gds_idx_create_err,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
/* Msg308: can't create index %s */ /* Msg308: can't create index %s */
@ -1548,8 +1549,8 @@ static BOOLEAN create_index(TDBB tdbb,
TRUE)) && TRUE)) &&
!CCH_exclusive(tdbb, LCK_EX, LCK_NO_WAIT)) !CCH_exclusive(tdbb, LCK_EX, LCK_NO_WAIT))
{ {
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, partner_relation->rel_name, gds_arg_string, partner_relation->rel_name,
0); 0);
} }
@ -1614,9 +1615,9 @@ static BOOLEAN create_log( TDBB tdbb, SSHORT phase, DFW work, TRA transaction)
return TRUE; return TRUE;
else else
{ {
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__lock_timeout, gds_arg_gds, gds_lock_timeout,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_cstring(dbb->dbb_file->fil_string), gds_arg_string, ERR_cstring(dbb->dbb_file->fil_string),
0); 0);
return FALSE; return FALSE;
@ -1625,8 +1626,8 @@ static BOOLEAN create_log( TDBB tdbb, SSHORT phase, DFW work, TRA transaction)
handle = NULL; handle = NULL;
if (shadow_defined(tdbb)) if (shadow_defined(tdbb))
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__wal_shadow_err, gds_arg_gds, gds_wal_shadow_err,
0); 0);
/* Msg309: Write-Ahead Log with Shadowing configuration not allowed */ /* Msg309: Write-Ahead Log with Shadowing configuration not allowed */
check_filename(work->dfw_name, work->dfw_name_length); check_filename(work->dfw_name, work->dfw_name_length);
@ -1797,10 +1798,10 @@ static BOOLEAN create_relation(TDBB tdbb,
if (rel_id == X.RDB$RELATION_ID) if (rel_id == X.RDB$RELATION_ID)
{ {
EXE_unwind(tdbb, (REQ)request); EXE_unwind(tdbb, (REQ)request);
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__table_name, gds_arg_gds, gds_table_name,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
gds_arg_gds, gds__imp_exc, gds_arg_gds, gds_imp_exc,
0); 0);
} }
} }
@ -1991,11 +1992,11 @@ static BOOLEAN delete_field(TDBB tdbb,
CMP_release(tdbb, (REQ)handle); CMP_release(tdbb, (REQ)handle);
if (field_count) if (field_count)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__no_delete, /* Msg353: can not delete */ gds_arg_gds, gds_no_delete, /* Msg353: can not delete */
gds_arg_gds, gds__field_name, gds_arg_gds, gds_field_name,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
gds_arg_gds, gds__dependency, gds_arg_gds, gds_dependency,
gds_arg_number, (SLONG) field_count, gds_arg_number, (SLONG) field_count,
0); /* Msg310: there are %ld dependencies */ 0); /* Msg310: there are %ld dependencies */
@ -2113,8 +2114,8 @@ static BOOLEAN delete_index(TDBB tdbb,
if (index->idl_count || if (index->idl_count ||
!LCK_lock_non_blocking(tdbb, index->idl_lock, LCK_EX, wait)) !LCK_lock_non_blocking(tdbb, index->idl_lock, LCK_EX, wait))
{ {
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, "INDEX", gds_arg_string, "INDEX",
0); 0);
} }
@ -2220,9 +2221,9 @@ static BOOLEAN delete_log(TDBB tdbb, SSHORT phase, DFW work, TRA transaction)
return TRUE; return TRUE;
else else
{ {
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__lock_timeout, gds_arg_gds, gds_lock_timeout,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_cstring(dbb->dbb_file->fil_string), gds_arg_string, ERR_cstring(dbb->dbb_file->fil_string),
0); 0);
return FALSE; return FALSE;
@ -2329,8 +2330,8 @@ static BOOLEAN delete_procedure(TDBB tdbb,
LCK_EX, LCK_EX,
wait)) wait))
{ {
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
} }
@ -2365,8 +2366,8 @@ static BOOLEAN delete_procedure(TDBB tdbb,
if (CMP_clone_active(procedure->prc_request)) if (CMP_clone_active(procedure->prc_request))
{ {
procedure->prc_flags = old_flags; procedure->prc_flags = old_flags;
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
} }
@ -2447,11 +2448,11 @@ static BOOLEAN delete_relation(TDBB tdbb,
CMP_release(tdbb, (REQ)request); CMP_release(tdbb, (REQ)request);
if (view_count) if (view_count)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__no_delete, /* Msg353: can not delete */ gds_arg_gds, gds_no_delete, /* Msg353: can not delete */
gds_arg_gds, gds__table_name, gds_arg_gds, gds_table_name,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
gds_arg_gds, gds__dependency, gds_arg_gds, gds_dependency,
gds_arg_number, (SLONG) view_count, gds_arg_number, (SLONG) view_count,
0); /* Msg310: there are %ld dependencies */ 0); /* Msg310: there are %ld dependencies */
check_dependencies(tdbb, work->dfw_name, (TEXT*)NULL_PTR, check_dependencies(tdbb, work->dfw_name, (TEXT*)NULL_PTR,
@ -2486,8 +2487,8 @@ static BOOLEAN delete_relation(TDBB tdbb,
{ {
if (adjusted) if (adjusted)
++relation->rel_use_count; ++relation->rel_use_count;
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
} }
@ -2522,8 +2523,8 @@ static BOOLEAN delete_relation(TDBB tdbb,
} }
if (relation->rel_sweep_count) if (relation->rel_sweep_count)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
@ -2631,11 +2632,11 @@ static BOOLEAN delete_rfr( TDBB tdbb, SSHORT phase, DFW work, TRA transaction)
CMP_release(tdbb, (REQ)handle); CMP_release(tdbb, (REQ)handle);
if (field_count) if (field_count)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__no_delete, /* Msg353: can not delete */ gds_arg_gds, gds_no_delete, /* Msg353: can not delete */
gds_arg_gds, gds__field_name, gds_arg_gds, gds_field_name,
gds_arg_string, ERR_cstring(f), gds_arg_string, ERR_cstring(f),
gds_arg_gds, gds__dependency, gds_arg_gds, gds_dependency,
gds_arg_number, (SLONG) field_count, gds_arg_number, (SLONG) field_count,
0); /* Msg310: there are %ld dependencies */ 0); /* Msg310: there are %ld dependencies */
@ -2677,8 +2678,8 @@ static BOOLEAN delete_rfr( TDBB tdbb, SSHORT phase, DFW work, TRA transaction)
if (!field_count) if (!field_count)
{ {
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__del_last_field, gds_arg_gds, gds_del_last_field,
0); 0);
/* Msg354: last column in a relation cannot be deleted */ /* Msg354: last column in a relation cannot be deleted */
} }
@ -3163,10 +3164,10 @@ static FMT make_format( TDBB tdbb, REL relation, USHORT version, TFB stack)
if (offset > MAX_FORMAT_SIZE) if (offset > MAX_FORMAT_SIZE)
{ {
ALL_release((FRB)format); ALL_release((FRB)format);
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__rec_size_err, gds_arg_gds, gds_rec_size_err,
gds_arg_number, (SLONG) offset, gds_arg_number, (SLONG) offset,
gds_arg_gds, gds__table_name, gds_arg_gds, gds_table_name,
gds_arg_string, ERR_cstring(relation->rel_name), gds_arg_string, ERR_cstring(relation->rel_name),
0); 0);
/* Msg361: new record size of %ld bytes is too big */ /* Msg361: new record size of %ld bytes is too big */
@ -3272,10 +3273,10 @@ static BOOLEAN make_version(TDBB tdbb,
if (REL.RDB$FORMAT == 255) if (REL.RDB$FORMAT == 255)
{ {
EXE_unwind(tdbb, (REQ)request_fmt1); EXE_unwind(tdbb, (REQ)request_fmt1);
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__table_name, gds_arg_gds, gds_table_name,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
gds_arg_gds, gds__version_err, gds_arg_gds, gds_version_err,
0); 0);
/* Msg357: too many versions */ /* Msg357: too many versions */
} }
@ -3427,8 +3428,8 @@ static BOOLEAN make_version(TDBB tdbb,
{ {
EXE_unwind(tdbb, (REQ)request_fmt1); EXE_unwind(tdbb, (REQ)request_fmt1);
EXE_unwind(tdbb, (REQ)request_fmtx); EXE_unwind(tdbb, (REQ)request_fmtx);
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__random, gds_arg_gds, gds_random,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
status[0], status[1], status[2], status[3], status[0], status[1], status[2], status[3],
0); 0);
@ -3729,8 +3730,8 @@ static BOOLEAN modify_procedure(TDBB tdbb,
if (!LCK_convert_non_blocking(tdbb, procedure->prc_existence_lock, if (!LCK_convert_non_blocking(tdbb, procedure->prc_existence_lock,
LCK_EX, wait)) LCK_EX, wait))
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);
@ -3775,10 +3776,10 @@ static BOOLEAN modify_procedure(TDBB tdbb,
USHORT prc_alter_count = procedure->prc_alter_count; USHORT prc_alter_count = procedure->prc_alter_count;
if (prc_alter_count > MAX_PROC_ALTER) if (prc_alter_count > MAX_PROC_ALTER)
{ {
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__proc_name, gds_arg_gds, gds_proc_name,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
gds_arg_gds, gds__version_err, gds_arg_gds, gds_version_err,
0); 0);
/* Msg357: too many versions */ /* Msg357: too many versions */
} }
@ -3804,8 +3805,8 @@ static BOOLEAN modify_procedure(TDBB tdbb,
if (procedure->prc_request) if (procedure->prc_request)
{ {
if (CMP_clone_active(procedure->prc_request)) if (CMP_clone_active(procedure->prc_request))
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds__obj_in_use, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_cstring(work->dfw_name), gds_arg_string, ERR_cstring(work->dfw_name),
0); 0);

View File

@ -49,6 +49,7 @@
* copyright (c) 1986 by Groton Database Systems, Inc. * copyright (c) 1986 by Groton Database Systems, Inc.
*/ */
#include "firebird.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/divorce.h" #include "../jrd/divorce.h"

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <windows.h> #include <windows.h>
#include <signal.h> #include <signal.h>

View File

@ -23,6 +23,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include "../jrd/sort.h" #include "../jrd/sort.h"

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <ctype.h> #include <ctype.h>
#include <string.h> #include <string.h>

View File

@ -29,13 +29,14 @@
* Change: Corrected routine to use new variables from PAG_init. * Change: Corrected routine to use new variables from PAG_init.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/ibsetjmp.h" #include "../jrd/ibsetjmp.h"
#include <string.h> #include <string.h>
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/ods.h" #include "../jrd/ods.h"
#include "../jrd/req.h" #include "../jrd/req.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/sqz.h" #include "../jrd/sqz.h"
#include "../jrd/irq.h" #include "../jrd/irq.h"
#include "../jrd/blb.h" #include "../jrd/blb.h"

View File

@ -23,11 +23,12 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/dsc.h" #include "../jrd/dsc.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/constants.h" #include "../jrd/constants.h"
#include "../jrd/intl.h" #include "../jrd/intl.h"
#include "../jrd/gds_proto.h" #include "../jrd/gds_proto.h"

View File

@ -23,6 +23,7 @@
* case insensitive. * case insensitive.
*/ */
#include "firebird.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -35,7 +36,7 @@
#include "../jrd/scl.h" #include "../jrd/scl.h"
#include "../jrd/drq.h" #include "../jrd/drq.h"
#include "../jrd/flags.h" #include "../jrd/flags.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/lls.h" #include "../jrd/lls.h"
#include "../jrd/all.h" #include "../jrd/all.h"
#include "../jrd/met.h" #include "../jrd/met.h"

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
@ -36,7 +37,7 @@
#include "../jrd/drq.h" #include "../jrd/drq.h"
#include "../jrd/req.h" #include "../jrd/req.h"
#include "../jrd/flags.h" #include "../jrd/flags.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/lls.h" #include "../jrd/lls.h"
#include "../jrd/all.h" #include "../jrd/all.h"
#include "../jrd/met.h" #include "../jrd/met.h"
@ -81,6 +82,7 @@
DATABASE DB = STATIC "yachts.gdb"; DATABASE DB = STATIC "yachts.gdb";
static CONST UCHAR who_blr[] = static CONST UCHAR who_blr[] =
{ {
blr_version5, blr_version5,
@ -4128,7 +4130,7 @@ static BOOLEAN get_who( TDBB tdbb, GBL gbl, SCHAR * name)
if (!request) if (!request)
{ {
request = (BLK) CMP_compile2(tdbb, who_blr, TRUE); request = (BLK) CMP_compile2(tdbb, const_cast<UCHAR*>(who_blr), TRUE);
} }
EXE_start(tdbb, (REQ) request, gbl->gbl_transaction); EXE_start(tdbb, (REQ) request, gbl->gbl_transaction);
EXE_receive(tdbb, (REQ) request, 0, 32, (UCHAR*)name); EXE_receive(tdbb, (REQ) request, 0, 32, (UCHAR*)name);

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -32,7 +33,7 @@
#include "../jrd/scl.h" #include "../jrd/scl.h"
#include "../jrd/drq.h" #include "../jrd/drq.h"
#include "../jrd/flags.h" #include "../jrd/flags.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/lls.h" #include "../jrd/lls.h"
#include "../jrd/all.h" #include "../jrd/all.h"
#include "../jrd/met.h" #include "../jrd/met.h"

View File

@ -23,6 +23,7 @@
* if it has dimensions, rdb$field_dimensions should be updated, too. * if it has dimensions, rdb$field_dimensions should be updated, too.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
@ -34,7 +35,7 @@
#include "../jrd/scl.h" #include "../jrd/scl.h"
#include "../jrd/drq.h" #include "../jrd/drq.h"
#include "../jrd/flags.h" #include "../jrd/flags.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/lls.h" #include "../jrd/lls.h"
#include "../jrd/all.h" #include "../jrd/all.h"
#include "../jrd/met.h" #include "../jrd/met.h"

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -32,7 +33,7 @@
#include "../jrd/scl.h" #include "../jrd/scl.h"
#include "../jrd/drq.h" #include "../jrd/drq.h"
#include "../jrd/flags.h" #include "../jrd/flags.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/lls.h" #include "../jrd/lls.h"
#include "../jrd/all.h" #include "../jrd/all.h"
#include "../jrd/met.h" #include "../jrd/met.h"

View File

@ -1,3 +1,14 @@
#include "firebird.h"
#if defined(HAVE_UNISTD_H) && defined(LINUX)
#define _XOPEN_SOURCE
#include <unistd.h>
#endif
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/enc_proto.h" #include "../jrd/enc_proto.h"

View File

@ -21,9 +21,10 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
database db = "source/jrd/gds_functions.gdb"; database db = "source/jrd/gds_functions.gdb";

View File

@ -21,12 +21,13 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
#include "../jrd/common.h" #include "../jrd/common.h"
#include <stdarg.h> #include <stdarg.h>
#include "../jrd/ibsetjmp.h" #include "../jrd/ibsetjmp.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/iberr.h" #include "../jrd/iberr.h"
#if ( !defined( REQUESTER) && !defined( SUPERCLIENT)) #if ( !defined( REQUESTER) && !defined( SUPERCLIENT))
@ -79,7 +80,7 @@ void DLL_EXPORT ERR_bugcheck(int number)
CCH_shutdown_database(dbb); CCH_shutdown_database(dbb);
internal_error(gds__bug_check, number); internal_error(gds_bug_check, number);
} }
#endif #endif
@ -106,7 +107,7 @@ void DLL_EXPORT ERR_bugcheck_msg(CONST TEXT* msg)
CCH_shutdown_database(dbb); CCH_shutdown_database(dbb);
ERR_post(gds__bug_check, gds_arg_string, ERR_cstring(msg), 0); ERR_post(gds_bug_check, gds_arg_string, ERR_cstring(msg), 0);
} }
#endif #endif
@ -125,7 +126,7 @@ void DLL_EXPORT ERR_corrupt(int number)
* *
**************************************/ **************************************/
internal_error(gds__db_corrupt, number); internal_error(gds_db_corrupt, number);
} }
#endif #endif
@ -187,13 +188,13 @@ void DLL_EXPORT ERR_duplicate_error(IDX_E code,
switch (code) { switch (code) {
case idx_e_keytoobig: case idx_e_keytoobig:
ERR_post(gds__imp_exc, gds_arg_gds, gds__keytoobig, ERR_post(gds_imp_exc, gds_arg_gds, gds_keytoobig,
gds_arg_string, ERR_cstring(index_name), 0); gds_arg_string, ERR_cstring(index_name), 0);
break; break;
case idx_e_nullunique: case idx_e_nullunique:
ERR_post(gds__no_dup, gds_arg_string, ERR_cstring(index_name), ERR_post(gds_no_dup, gds_arg_string, ERR_cstring(index_name),
gds_arg_gds, gds__nullsegkey, 0); gds_arg_gds, gds_nullsegkey, 0);
break; break;
case idx_e_conversion: case idx_e_conversion:
@ -201,18 +202,18 @@ void DLL_EXPORT ERR_duplicate_error(IDX_E code,
break; break;
case idx_e_foreign: case idx_e_foreign:
ERR_post(gds__foreign_key, ERR_post(gds_foreign_key,
gds_arg_string, ERR_cstring(constraint_name), gds_arg_string, ERR_cstring(constraint_name),
gds_arg_string, relation->rel_name, 0); gds_arg_string, relation->rel_name, 0);
break; break;
default: default:
if (constraint[0]) if (constraint[0])
ERR_post(gds__unique_key_violation, ERR_post(gds_unique_key_violation,
gds_arg_string, ERR_cstring(constraint_name), gds_arg_string, ERR_cstring(constraint_name),
gds_arg_string, relation->rel_name, 0); gds_arg_string, relation->rel_name, 0);
else else
ERR_post(gds__no_dup, gds_arg_string, ERR_cstring(index_name), 0); ERR_post(gds_no_dup, gds_arg_string, ERR_cstring(index_name), 0);
} }
} }
#endif #endif
@ -239,7 +240,7 @@ void DLL_EXPORT ERR_error(int number)
if (gds__msg_lookup(0, JRD_BUGCHK, number, sizeof(errmsg), errmsg, NULL) < if (gds__msg_lookup(0, JRD_BUGCHK, number, sizeof(errmsg), errmsg, NULL) <
1) sprintf(errmsg, "error code %d", number); 1) sprintf(errmsg, "error code %d", number);
ERR_post(gds__random, gds_arg_string, ERR_cstring(errmsg), 0); ERR_post(gds_random, gds_arg_string, ERR_cstring(errmsg), 0);
} }
#endif #endif
@ -260,7 +261,7 @@ void DLL_EXPORT ERR_error_msg(CONST TEXT* msg)
**************************************/ **************************************/
DEBUG; DEBUG;
ERR_post(gds__random, gds_arg_string, ERR_cstring(msg), 0); ERR_post(gds_random, gds_arg_string, ERR_cstring(msg), 0);
} }
#endif #endif

View File

@ -21,11 +21,12 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/thd.h" #include "../jrd/thd.h"
#include "../jrd/event.h" #include "../jrd/event.h"
#include "../jrd/gdsassert.h" #include "../jrd/gdsassert.h"
@ -292,7 +293,7 @@ EVH EVENT_init(STATUS * status_vector, USHORT server_flag)
if (!(EVENT_header = (EVH) ISC_map_file(status_vector, if (!(EVENT_header = (EVH) ISC_map_file(status_vector,
event_file, event_file,
reinterpret_cast < void (*)() > reinterpret_cast < void (*)(void *, struct sh_mem*, int) >
(init), 0, EVENT_default_size, (init), 0, EVENT_default_size,
&EVENT_data))) { &EVENT_data))) {
#ifdef SERVER #ifdef SERVER

View File

@ -19,7 +19,7 @@
* *
* All Rights Reserved. * All Rights Reserved.
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
* $Id: evl.cpp,v 1.3 2001-07-12 05:46:05 bellardo Exp $ * $Id: evl.cpp,v 1.4 2001-07-29 17:42:22 skywalker Exp $
*/ */
/* /*
@ -43,6 +43,7 @@
* Change: Test the null flag before trying to expand the value. * Change: Test the null flag before trying to expand the value.
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/val.h" #include "../jrd/val.h"
@ -50,7 +51,7 @@
#include "../jrd/exe.h" #include "../jrd/exe.h"
#include "../jrd/sbm.h" #include "../jrd/sbm.h"
#include "../jrd/blb.h" #include "../jrd/blb.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/scl.h" #include "../jrd/scl.h"
#include "../jrd/lck.h" #include "../jrd/lck.h"
#include "../jrd/lls.h" #include "../jrd/lls.h"
@ -248,7 +249,7 @@ DSC *DLL_EXPORT EVL_assign_to(TDBB tdbb, register NOD node)
EVL_field(0, record, (USHORT) node->nod_arg[e_fld_id], EVL_field(0, record, (USHORT) 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);
return &impure->vlu_desc; return &impure->vlu_desc;
case nod_null: case nod_null:
@ -900,7 +901,7 @@ DSC *DLL_EXPORT EVL_expr(TDBB tdbb, register NOD node)
if (extract_part != blr_extract_hour && if (extract_part != blr_extract_hour &&
extract_part != blr_extract_minute && extract_part != blr_extract_minute &&
extract_part != blr_extract_second) extract_part != blr_extract_second)
ERR_post(gds__expression_eval_err, 0); ERR_post(gds_expression_eval_err, 0);
break; break;
case dtype_sql_date: case dtype_sql_date:
timestamp.timestamp_date = *(GDS_DATE *) value->dsc_address; timestamp.timestamp_date = *(GDS_DATE *) value->dsc_address;
@ -909,14 +910,14 @@ DSC *DLL_EXPORT EVL_expr(TDBB tdbb, register NOD node)
if (extract_part == blr_extract_hour || if (extract_part == blr_extract_hour ||
extract_part == blr_extract_minute || extract_part == blr_extract_minute ||
extract_part == blr_extract_second) extract_part == blr_extract_second)
ERR_post(gds__expression_eval_err, 0); ERR_post(gds_expression_eval_err, 0);
break; break;
case dtype_timestamp: case dtype_timestamp:
timestamp = *((GDS_TIMESTAMP *) value->dsc_address); timestamp = *((GDS_TIMESTAMP *) value->dsc_address);
isc_decode_timestamp(&timestamp, &times); isc_decode_timestamp(&timestamp, &times);
break; break;
default: default:
ERR_post(gds__expression_eval_err, 0); ERR_post(gds_expression_eval_err, 0);
break; break;
} }
impure->vlu_desc.dsc_dtype = dtype_short; impure->vlu_desc.dsc_dtype = dtype_short;
@ -1127,7 +1128,7 @@ BOOLEAN DLL_EXPORT EVL_field(register REL relation,
DEV_BLKCHK(record, type_rec); DEV_BLKCHK(record, type_rec);
if (!record) { if (!record) {
ERR_warning(gds__no_cur_rec, 0); ERR_warning(gds_no_cur_rec, 0);
return FALSE; return FALSE;
} }
@ -1202,7 +1203,7 @@ BOOLEAN DLL_EXPORT EVL_field(register REL relation,
lit * >(temp_field->fld_default_value); lit * >(temp_field->fld_default_value);
if (default_literal->nod_type == nod_null) if (default_literal->nod_type == nod_null)
ERR_post(gds__not_valid, ERR_post(gds_not_valid,
gds_arg_string, temp_field->fld_name, gds_arg_string, temp_field->fld_name,
gds_arg_string, "*** null ***", 0); gds_arg_string, "*** null ***", 0);
@ -2563,7 +2564,7 @@ static DSC *add_datetime(DSC * desc, NOD node, VLU value)
return add_sql_date(desc, node, value); return add_sql_date(desc, node, value);
case DTYPE_CANNOT: case DTYPE_CANNOT:
ERR_post(gds__expression_eval_err, 0); ERR_post(gds_expression_eval_err, 0);
return NULL; return NULL;
}; };
} }
@ -2656,7 +2657,7 @@ static DSC *add_sql_date(DSC * desc, NOD node, VLU value)
if ((times.tm_year + 1900) < MIN_YEAR if ((times.tm_year + 1900) < MIN_YEAR
|| (times.tm_year) + 1900 > || (times.tm_year) + 1900 >
MAX_YEAR) ERR_post(gds__expression_eval_err, gds_arg_gds, MAX_YEAR) ERR_post(gds_expression_eval_err, gds_arg_gds,
isc_date_range_exceeded, 0); isc_date_range_exceeded, 0);
value->vlu_misc.vlu_sql_date = d2; value->vlu_misc.vlu_sql_date = d2;
@ -2812,7 +2813,7 @@ static DSC *add_timestamp(DSC * desc, NOD node, VLU value)
*(GDS_TIME *) desc->dsc_address; *(GDS_TIME *) desc->dsc_address;
goto return_result; goto return_result;
} }
ERR_post(gds__expression_eval_err, 0); ERR_post(gds_expression_eval_err, 0);
} }
else if (desc->dsc_dtype == dtype_sql_date) { else if (desc->dsc_dtype == dtype_sql_date) {
/* TIME + DATE */ /* TIME + DATE */
@ -2824,7 +2825,7 @@ static DSC *add_timestamp(DSC * desc, NOD node, VLU value)
*(GDS_DATE *) desc->dsc_address; *(GDS_DATE *) desc->dsc_address;
goto return_result; goto return_result;
} }
ERR_post(gds__expression_eval_err, 0); ERR_post(gds_expression_eval_err, 0);
} }
/* For historical reasons (behavior prior to V6), /* For historical reasons (behavior prior to V6),
@ -2857,7 +2858,7 @@ static DSC *add_timestamp(DSC * desc, NOD node, VLU value)
if (!((value->vlu_desc.dsc_dtype == dtype_timestamp) || if (!((value->vlu_desc.dsc_dtype == dtype_timestamp) ||
DTYPE_IS_TEXT(value->vlu_desc.dsc_dtype))) DTYPE_IS_TEXT(value->vlu_desc.dsc_dtype)))
ERR_post(gds__expression_eval_err, 0); ERR_post(gds_expression_eval_err, 0);
d1 = get_timestamp_to_isc_ticks(&value->vlu_desc); d1 = get_timestamp_to_isc_ticks(&value->vlu_desc);
d2 = get_timestamp_to_isc_ticks(desc); d2 = get_timestamp_to_isc_ticks(desc);
@ -2931,7 +2932,7 @@ static DSC *add_timestamp(DSC * desc, NOD node, VLU value)
which are errors */ which are errors */
if (op1_is_timestamp == op2_is_timestamp) if (op1_is_timestamp == op2_is_timestamp)
ERR_post(gds__expression_eval_err, 0); ERR_post(gds_expression_eval_err, 0);
if (op1_is_timestamp) { if (op1_is_timestamp) {
d1 = get_timestamp_to_isc_ticks(&value->vlu_desc); d1 = get_timestamp_to_isc_ticks(&value->vlu_desc);
@ -2972,7 +2973,7 @@ static DSC *add_timestamp(DSC * desc, NOD node, VLU value)
if ((times.tm_year + 1900) < MIN_YEAR if ((times.tm_year + 1900) < MIN_YEAR
|| (times.tm_year) + 1900 > || (times.tm_year) + 1900 >
MAX_YEAR) ERR_post(gds__expression_eval_err, gds_arg_gds, MAX_YEAR) ERR_post(gds_expression_eval_err, gds_arg_gds,
isc_date_range_exceeded, 0); isc_date_range_exceeded, 0);
@ -3052,7 +3053,7 @@ static DSC *binary_value(TDBB tdbb, NOD node, VLU impure)
case nod_divide: /* dialect-1 semantics */ case nod_divide: /* dialect-1 semantics */
divisor = MOV_get_double(desc2); divisor = MOV_get_double(desc2);
if (divisor == 0) if (divisor == 0)
ERR_post(gds__arith_except, 0); ERR_post(gds_arith_except, 0);
impure->vlu_misc.vlu_double = impure->vlu_misc.vlu_double =
DOUBLE_DIVIDE(MOV_get_double(desc1), divisor); DOUBLE_DIVIDE(MOV_get_double(desc1), divisor);
impure->vlu_desc.dsc_dtype = DEFAULT_DOUBLE; impure->vlu_desc.dsc_dtype = DEFAULT_DOUBLE;
@ -3547,7 +3548,7 @@ static DSC *eval_statistical(TDBB tdbb, NOD node, VLU impure)
if (node->nod_arg[e_stat_default]) if (node->nod_arg[e_stat_default])
desc = EVL_expr(tdbb, node->nod_arg[e_stat_default]); desc = EVL_expr(tdbb, node->nod_arg[e_stat_default]);
else else
ERR_post(gds__from_no_match, 0); ERR_post(gds_from_no_match, 0);
} }
flag = request->req_flags; flag = request->req_flags;
break; break;
@ -3854,7 +3855,7 @@ static DSC *lock_record(TDBB tdbb, NOD node, VLU impure)
desc = EVL_expr(tdbb, node->nod_arg[e_lockrec_level]); desc = EVL_expr(tdbb, node->nod_arg[e_lockrec_level]);
lock_level = (USHORT) MOV_get_long(desc, 0); lock_level = (USHORT) MOV_get_long(desc, 0);
if (lock_level > LCK_EX) if (lock_level > LCK_EX)
ERR_post(gds__bad_lock_level, gds_arg_number, (SLONG) lock_level, 0); ERR_post(gds_bad_lock_level, gds_arg_number, (SLONG) lock_level, 0);
/* perform the actual lock (or unlock) */ /* perform the actual lock (or unlock) */
@ -3863,7 +3864,7 @@ static DSC *lock_record(TDBB tdbb, NOD node, VLU impure)
if (!lock_level) if (!lock_level)
RLCK_unlock_record(0, rpb); RLCK_unlock_record(0, rpb);
else if (!(lock = RLCK_lock_record(rpb, lock_level, 0, 0))) else if (!(lock = RLCK_lock_record(rpb, lock_level, 0, 0)))
ERR_warning(gds__record_lock, 0); ERR_warning(gds_record_lock, 0);
/* return the lock handle (actually the pointer to the lock block) */ /* return the lock handle (actually the pointer to the lock block) */
@ -3928,7 +3929,7 @@ static DSC *lock_relation(TDBB tdbb, NOD node, VLU impure)
desc = EVL_expr(tdbb, node->nod_arg[e_lockrel_level]); desc = EVL_expr(tdbb, node->nod_arg[e_lockrel_level]);
lock_level = (USHORT) MOV_get_long(desc, 0); lock_level = (USHORT) MOV_get_long(desc, 0);
if (lock_level > LCK_EX) if (lock_level > LCK_EX)
ERR_post(gds__bad_lock_level, gds_arg_number, (SLONG) lock_level, 0); ERR_post(gds_bad_lock_level, gds_arg_number, (SLONG) lock_level, 0);
/* perform the actual lock (or unlock) */ /* perform the actual lock (or unlock) */
@ -4231,7 +4232,7 @@ static DSC *divide2(DSC * desc, VLU value, NOD node)
if (node->nod_flags & nod_double) { if (node->nod_flags & nod_double) {
d2 = MOV_get_double(desc); d2 = MOV_get_double(desc);
if (d2 == 0.0) if (d2 == 0.0)
ERR_post(gds__arith_except, 0); ERR_post(gds_arith_except, 0);
d1 = MOV_get_double(&value->vlu_desc); d1 = MOV_get_double(&value->vlu_desc);
value->vlu_misc.vlu_double = DOUBLE_DIVIDE(d1, d2); value->vlu_misc.vlu_double = DOUBLE_DIVIDE(d1, d2);
value->vlu_desc.dsc_dtype = DEFAULT_DOUBLE; value->vlu_desc.dsc_dtype = DEFAULT_DOUBLE;
@ -4280,7 +4281,7 @@ static DSC *divide2(DSC * desc, VLU value, NOD node)
*/ */
i2 = MOV_get_int64(desc, desc->dsc_scale); i2 = MOV_get_int64(desc, desc->dsc_scale);
if (i2 == 0) if (i2 == 0)
ERR_post(gds__arith_except, 0); ERR_post(gds_arith_except, 0);
i1 = MOV_get_int64(&value->vlu_desc, value->vlu_desc.dsc_scale); i1 = MOV_get_int64(&value->vlu_desc, value->vlu_desc.dsc_scale);
@ -4319,7 +4320,7 @@ static DSC *divide2(DSC * desc, VLU value, NOD node)
addl_scale++; addl_scale++;
} }
if (addl_scale < 0) if (addl_scale < 0)
ERR_post(gds__arith_except, 0); ERR_post(gds_arith_except, 0);
return &value->vlu_desc; return &value->vlu_desc;
} }
@ -4844,7 +4845,7 @@ static SSHORT string_function(
ttype, &q1, (VARY *) temp3, ttype, &q1, (VARY *) temp3,
TEMP_SIZE(temp3)); TEMP_SIZE(temp3));
if (!l3) if (!l3)
ERR_post(gds__like_escape_invalid, 0); ERR_post(gds_like_escape_invalid, 0);
/* Grab the first character from the string */ /* Grab the first character from the string */
consumed = consumed =
reinterpret_cast < USHORT(*)(...) > reinterpret_cast < USHORT(*)(...) >
@ -4852,7 +4853,7 @@ static SSHORT string_function(
/* If characters left, or null byte character, return error */ /* If characters left, or null byte character, return error */
if (consumed <= 0 || consumed != l3 || (escape == 0)) if (consumed <= 0 || consumed != l3 || (escape == 0))
ERR_post(gds__like_escape_invalid, 0); ERR_post(gds_like_escape_invalid, 0);
#ifdef STACK_REDUCTION #ifdef STACK_REDUCTION
ALL_release(temp_str); ALL_release(temp_str);

View File

@ -107,7 +107,7 @@ USHORT LIKENAME(TDBB tdbb, TEXTTYPE obj, LIKETYPE * p1, SSHORT l1_bytes, /* byte
escape = TRUE; escape = TRUE;
} }
if (!escape) if (!escape)
ERR_post(gds__like_escape_invalid, 0); ERR_post(gds_like_escape_invalid, 0);
} }
if (!escape && (c == (LIKETYPE) SQL_MATCH_ANY)) { if (!escape && (c == (LIKETYPE) SQL_MATCH_ANY)) {
while ((l2 > 0) && (*p2 == (LIKETYPE) SQL_MATCH_ANY)) { while ((l2 > 0) && (*p2 == (LIKETYPE) SQL_MATCH_ANY)) {

View File

@ -21,9 +21,10 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
/* /*
$Id: exe.cpp,v 1.2 2001-07-12 05:46:05 bellardo Exp $ $Id: exe.cpp,v 1.3 2001-07-29 17:42:22 skywalker Exp $
*/ */
#include "firebird.h"
#include <time.h> #include <time.h>
#include "../jrd/common.h" #include "../jrd/common.h"
@ -34,7 +35,7 @@ $Id: exe.cpp,v 1.2 2001-07-12 05:46:05 bellardo Exp $
#include "../jrd/val.h" #include "../jrd/val.h"
#include "../jrd/exe.h" #include "../jrd/exe.h"
#include "../jrd/tra.h" #include "../jrd/tra.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/ods.h" #include "../jrd/ods.h"
#include "../jrd/btr.h" #include "../jrd/btr.h"
#include "../jrd/rse.h" #include "../jrd/rse.h"
@ -461,7 +462,7 @@ REQ EXE_find_request(TDBB tdbb, REQ request, BOOLEAN validate)
if (count > MAX_CLONES) { if (count > MAX_CLONES) {
THD_MUTEX_UNLOCK(dbb->dbb_mutexes + DBB_MUTX_clone); THD_MUTEX_UNLOCK(dbb->dbb_mutexes + DBB_MUTX_clone);
ERR_post(gds__req_max_clones_exceeded, 0); ERR_post(gds_req_max_clones_exceeded, 0);
} }
if (!clone) if (!clone)
clone = CMP_clone_request(tdbb, request, n, validate); clone = CMP_clone_request(tdbb, request, n, validate);
@ -500,11 +501,11 @@ void EXE_mark_crack(TDBB tdbb, RSB rsb, USHORT flag)
RSE_MARK_CRACK(tdbb, rsb, flag); RSE_MARK_CRACK(tdbb, rsb, flag);
if (flag == irsb_eof) if (flag == irsb_eof)
ERR_warning(gds__stream_eof, 0); ERR_warning(gds_stream_eof, 0);
else if (flag == irsb_bof) else if (flag == irsb_bof)
ERR_warning(gds__stream_bof, 0); ERR_warning(gds_stream_bof, 0);
else if (flag & irsb_crack) else if (flag & irsb_crack)
ERR_warning(gds__stream_crack, 0); ERR_warning(gds_stream_crack, 0);
} }
#endif #endif
@ -594,7 +595,7 @@ void EXE_receive(TDBB tdbb,
ERR_post(gds_req_sync, 0); ERR_post(gds_req_sync, 0);
if (length != format->fmt_length) if (length != format->fmt_length)
ERR_post(gds__port_len, ERR_post(gds_port_len,
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);
@ -742,7 +743,7 @@ void EXE_send(TDBB tdbb,
ERR_post(gds_req_sync, 0); ERR_post(gds_req_sync, 0);
if (length != format->fmt_length) if (length != format->fmt_length)
ERR_post(gds__port_len, ERR_post(gds_port_len,
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);
@ -818,10 +819,10 @@ void EXE_start(TDBB tdbb, REQ request, TRA transaction)
BLKCHK(transaction, type_tra); BLKCHK(transaction, type_tra);
if (request->req_flags & req_active) if (request->req_flags & req_active)
ERR_post(gds_req_sync, gds_arg_gds, gds__reqinuse, 0); ERR_post(gds_req_sync, gds_arg_gds, gds_reqinuse, 0);
if (transaction->tra_flags & TRA_prepared) if (transaction->tra_flags & TRA_prepared)
ERR_post(gds__req_no_trans, 0); ERR_post(gds_req_no_trans, 0);
/* Post resources to transaction block. In particular, the interest locks /* Post resources to transaction block. In particular, the interest locks
on relations/indices are copied to the transaction, which is very on relations/indices are copied to the transaction, which is very
@ -1037,7 +1038,7 @@ static NOD erase(TDBB tdbb, NOD node, SSHORT which_trig)
reinterpret_cast < reinterpret_cast <
blk * blk *
>(tdbb->tdbb_default)))) >(tdbb->tdbb_default))))
ERR_post(gds__deadlock, gds_arg_gds, gds__update_conflict, 0); ERR_post(gds_deadlock, gds_arg_gds, gds_update_conflict, 0);
VIO_data(tdbb, rpb, VIO_data(tdbb, rpb,
reinterpret_cast < blk * >(tdbb->tdbb_request->req_pool)); reinterpret_cast < blk * >(tdbb->tdbb_request->req_pool));
@ -1048,7 +1049,7 @@ static NOD erase(TDBB tdbb, NOD node, SSHORT which_trig)
if ((transaction->tra_flags & TRA_read_committed) && if ((transaction->tra_flags & TRA_read_committed) &&
(tid_fetch != rpb->rpb_transaction)) (tid_fetch != rpb->rpb_transaction))
ERR_post(gds__deadlock, gds_arg_gds, gds__update_conflict, 0); ERR_post(gds_deadlock, gds_arg_gds, gds_update_conflict, 0);
rpb->rpb_stream_flags &= ~RPB_s_refetch; rpb->rpb_stream_flags &= ~RPB_s_refetch;
} }
@ -1425,7 +1426,7 @@ static NOD find(TDBB tdbb, register NOD node)
[e_find_operator]), 0); [e_find_operator]), 0);
if (operator != blr_eql && operator != blr_leq && operator != blr_lss if (operator != blr_eql && operator != blr_leq && operator != blr_lss
&& operator != blr_geq && operator != blr_gtr) && operator != blr_geq && operator != blr_gtr)
ERR_post(gds__invalid_operator, 0); ERR_post(gds_invalid_operator, 0);
direction = (USHORT) MOV_get_long(EVL_expr(tdbb, direction = (USHORT) MOV_get_long(EVL_expr(tdbb,
node->nod_arg node->nod_arg
@ -1433,7 +1434,7 @@ static NOD find(TDBB tdbb, register NOD node)
if (direction != blr_backward && direction != blr_forward if (direction != blr_backward && direction != blr_forward
&& direction != blr_backward_starting && direction != blr_backward_starting
&& direction != && direction !=
blr_forward_starting) ERR_post(gds__invalid_direction, 0); blr_forward_starting) ERR_post(gds_invalid_direction, 0);
/* try to find the record; the position is defined to be on a crack /* try to find the record; the position is defined to be on a crack
regardless of whether we are at BOF or EOF; also be sure to perpetuate regardless of whether we are at BOF or EOF; also be sure to perpetuate
@ -1542,7 +1543,7 @@ static LCK implicit_record_lock(TRA transaction, RPB * rpb)
return NULL; return NULL;
if (!(lock = RLCK_lock_record_implicit(transaction, rpb, LCK_SW, 0, 0))) if (!(lock = RLCK_lock_record_implicit(transaction, rpb, LCK_SW, 0, 0)))
ERR_post(gds__record_lock, 0); ERR_post(gds_record_lock, 0);
return lock; return lock;
} }
@ -1605,7 +1606,7 @@ static NOD looper(TDBB tdbb, REQ request, NOD in_node)
} }
if (!(transaction = request->req_transaction)) if (!(transaction = request->req_transaction))
ERR_post(gds__req_no_trans, 0); ERR_post(gds_req_no_trans, 0);
SET_TDBB(tdbb); SET_TDBB(tdbb);
dbb = tdbb->tdbb_database; dbb = tdbb->tdbb_database;
@ -2429,7 +2430,7 @@ static NOD modify(TDBB tdbb, register NOD node, SSHORT which_trig)
transaction, transaction,
reinterpret_cast < BLK > reinterpret_cast < BLK >
(tdbb->tdbb_default)))) (tdbb->tdbb_default))))
ERR_post(gds__deadlock, gds_arg_gds, gds__update_conflict, 0); ERR_post(gds_deadlock, gds_arg_gds, gds_update_conflict, 0);
VIO_data(tdbb, org_rpb, VIO_data(tdbb, org_rpb,
reinterpret_cast < BLK > (tdbb->tdbb_request->req_pool)); reinterpret_cast < BLK > (tdbb->tdbb_request->req_pool));
@ -2440,7 +2441,7 @@ static NOD modify(TDBB tdbb, register NOD node, SSHORT which_trig)
if ((transaction->tra_flags & TRA_read_committed) && if ((transaction->tra_flags & TRA_read_committed) &&
(tid_fetch != org_rpb->rpb_transaction)) (tid_fetch != org_rpb->rpb_transaction))
ERR_post(gds__deadlock, gds_arg_gds, gds__update_conflict, 0); ERR_post(gds_deadlock, gds_arg_gds, gds_update_conflict, 0);
org_rpb->rpb_stream_flags &= ~RPB_s_refetch; org_rpb->rpb_stream_flags &= ~RPB_s_refetch;
} }
@ -3201,11 +3202,11 @@ static void set_error(TDBB tdbb, XCP condition)
switch (condition->xcp_rpt[0].xcp_type) { switch (condition->xcp_rpt[0].xcp_type) {
case xcp_sql_code: case xcp_sql_code:
ERR_post(gds__sqlerr, ERR_post(gds_sqlerr,
gds_arg_number, (SLONG) condition->xcp_rpt[0].xcp_code, 0); gds_arg_number, (SLONG) condition->xcp_rpt[0].xcp_code, 0);
case xcp_gds_code: case xcp_gds_code:
if (condition->xcp_rpt[0].xcp_code == gds__check_constraint) { if (condition->xcp_rpt[0].xcp_code == gds_check_constraint) {
MET_lookup_cnstrt_for_trigger(tdbb, name, relation_name, MET_lookup_cnstrt_for_trigger(tdbb, name, relation_name,
request->req_trg_name); request->req_trg_name);
// CONST CAST // CONST CAST
@ -3228,12 +3229,12 @@ static void set_error(TDBB tdbb, XCP condition)
else else
s = NULL; s = NULL;
if (s) if (s)
ERR_post(gds__except, ERR_post(gds_except,
gds_arg_number, (SLONG) condition->xcp_rpt[0].xcp_code, gds_arg_number, (SLONG) condition->xcp_rpt[0].xcp_code,
gds_arg_gds, gds__random, gds_arg_string, ERR_cstring(s), gds_arg_gds, gds_random, gds_arg_string, ERR_cstring(s),
0); 0);
else else
ERR_post(gds__except, gds_arg_number, ERR_post(gds_except, gds_arg_number,
(SLONG) condition->xcp_rpt[0].xcp_code, 0); (SLONG) condition->xcp_rpt[0].xcp_code, 0);
} }
} }
@ -3273,7 +3274,7 @@ static NOD set_index(TDBB tdbb, register NOD node)
id = MOV_get_long(EVL_expr(tdbb, node->nod_arg[e_index_index]), 0); id = MOV_get_long(EVL_expr(tdbb, node->nod_arg[e_index_index]), 0);
if (id && BTR_lookup(tdbb, relation, id - 1, &idx)) if (id && BTR_lookup(tdbb, relation, id - 1, &idx))
ERR_post(gds__indexnotdefined, gds_arg_string, relation->rel_name, ERR_post(gds_indexnotdefined, gds_arg_string, relation->rel_name,
gds_arg_number, (SLONG) id, 0); gds_arg_number, (SLONG) id, 0);
/* generate a new rsb in place of the old */ /* generate a new rsb in place of the old */
@ -3572,7 +3573,7 @@ static BOOLEAN test_error(TDBB tdbb, XCP conditions)
break; break;
case xcp_xcp_code: case xcp_xcp_code:
if ((status_vector[1] == gds__except) && if ((status_vector[1] == gds_except) &&
(status_vector[3] == conditions->xcp_rpt[i].xcp_code)) { (status_vector[3] == conditions->xcp_rpt[i].xcp_code)) {
status_vector[0] = 0; status_vector[0] = 0;
status_vector[1] = 0; status_vector[1] = 0;
@ -3621,16 +3622,16 @@ static void trigger_failure(TDBB tdbb, REQ trigger)
if (trigger->req_flags & req_sys_trigger) { if (trigger->req_flags & req_sys_trigger) {
code = PAR_symbol_to_gdscode(msg); code = PAR_symbol_to_gdscode(msg);
if (code) if (code)
ERR_post(gds__integ_fail, ERR_post(gds_integ_fail,
gds_arg_number, (SLONG) trigger->req_label, gds_arg_number, (SLONG) trigger->req_label,
gds_arg_gds, code, 0); gds_arg_gds, code, 0);
} }
ERR_post(gds__integ_fail, ERR_post(gds_integ_fail,
gds_arg_number, (SLONG) trigger->req_label, gds_arg_number, (SLONG) trigger->req_label,
gds_arg_gds, gds__random, gds_arg_string, msg, 0); gds_arg_gds, gds_random, gds_arg_string, msg, 0);
} }
else else
ERR_post(gds__integ_fail, gds_arg_number, ERR_post(gds_integ_fail, gds_arg_number,
(SLONG) trigger->req_label, 0); (SLONG) trigger->req_label, 0);
} }
else else
@ -3714,7 +3715,7 @@ static void validate(TDBB tdbb, NOD list)
name = "*** unknown ***"; name = "*** unknown ***";
} }
ERR_post(gds__not_valid, gds_arg_string, name, ERR_post(gds_not_valid, gds_arg_string, name,
gds_arg_string, value, 0); gds_arg_string, value, 0);
} }
} }

View File

@ -24,6 +24,7 @@
* readonly databases. * readonly databases.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <errno.h> #include <errno.h>
#include <string.h> #include <string.h>
@ -34,7 +35,7 @@
#include "../jrd/rse.h" #include "../jrd/rse.h"
#include "../jrd/ext.h" #include "../jrd/ext.h"
#include "../jrd/tra.h" #include "../jrd/tra.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/all_proto.h" #include "../jrd/all_proto.h"
#include "../jrd/err_proto.h" #include "../jrd/err_proto.h"
#include "../jrd/ext_proto.h" #include "../jrd/ext_proto.h"
@ -455,7 +456,7 @@ void EXT_store(RPB * rpb, int *transaction)
gds_arg_string, "insert", gds_arg_string, "insert",
gds_arg_string, file->ext_filename, gds_arg_string, file->ext_filename,
isc_arg_gds, isc_io_write_err, isc_arg_gds, isc_io_write_err,
gds_arg_gds, gds__ext_readonly_err, 0); gds_arg_gds, gds_ext_readonly_err, 0);
} }
field_ptr = (FLD *) relation->rel_fields->vec_object; field_ptr = (FLD *) relation->rel_fields->vec_object;
@ -555,4 +556,4 @@ void EXT_trans_start(TRA transaction)
} }
} // extern "C" } // extern "C"

View File

@ -21,13 +21,14 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/req.h" #include "../jrd/req.h"
#include "../jrd/val.h" #include "../jrd/val.h"
#include "../jrd/exe.h" #include "../jrd/exe.h"
#include "../jrd/rse.h" #include "../jrd/rse.h"
#include "../jrd/ext.h" #include "../jrd/ext.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/tra.h" #include "../jrd/tra.h"
#include "../jrd/ods.h" #include "../jrd/ods.h"
#include "../jrd/btr.h" #include "../jrd/btr.h"

View File

@ -124,7 +124,7 @@
#ifdef UNIX #ifdef UNIX
#define WORKFILE "/tmp/" #define WORKFILE "/tmp/"
#ifdef LINUX #ifdef LINUX
#define ISC_PREFIX "/opt/interbase/" #define ISC_PREFIX "/usr/local/interbase/"
#else #else
#ifdef DARWIN #ifdef DARWIN
#define ISC_PREFIX "/all/files/are/in/framework/resources" #define ISC_PREFIX "/all/files/are/in/framework/resources"
@ -157,7 +157,8 @@
#ifdef WIN_NT #ifdef WIN_NT
#define WORKFILE "c:\\temp\\" #define WORKFILE "c:\\temp\\"
#define ISC_PREFIX "c:\\Program Files\\Borland\\InterBase/" #define ISC_PREFIX "c:\\Program Files\\Firebird\\FBServer/"
#define ISC_PREFIX_SUBPATH "\\Firebird\\FBServer/"
#define MSG_FILE "interbase.msg" #define MSG_FILE "interbase.msg"
#define MSG_FILE_LANG "intl/%.8s.msg" #define MSG_FILE_LANG "intl/%.8s.msg"
#define LOCALE_MAX 6 #define LOCALE_MAX 6

View File

@ -21,10 +21,11 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/acl.h" #include "../jrd/acl.h"
#include "../jrd/val.h" #include "../jrd/val.h"
#include "../jrd/met.h" #include "../jrd/met.h"

View File

@ -21,9 +21,15 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
/* /*
$Id: flu.cpp,v 1.3 2001-07-12 05:46:05 bellardo Exp $ $Id: flu.cpp,v 1.4 2001-07-29 17:42:22 skywalker Exp $
*/ */
#include "firebird.h"
#include <string>
using namespace std;
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/flu.h" #include "../jrd/flu.h"
#include "../jrd/gdsassert.h" #include "../jrd/gdsassert.h"
@ -741,13 +747,19 @@ FPTR_INT ISC_lookup_entrypoint(TEXT* module,
/* call search_for_module with the supplied name, /* call search_for_module with the supplied name,
and if unsuccessful, then with <name>.so . */ and if unsuccessful, then with <name>.so . */
mod = search_for_module(absolute_module, name); mod = search_for_module(absolute_module, name);
if (!mod)
{ if (!mod) {
strcat(absolute_module, ".so"); strcat(absolute_module, ".so");
mod = search_for_module(absolute_module, name); mod = search_for_module(absolute_module, name);
} }
if (!mod)
{ if (!mod) { // Start looking for "libxxxx.so" module names
string moduleName = "lib";
moduleName += (const char*) absolute_module;
mod = search_for_module((TEXT*) moduleName.c_str(), name);
}
if (!mod) {
return NULL; return NULL;
} }
@ -761,7 +773,7 @@ FPTR_INT ISC_lookup_entrypoint(TEXT* module,
++mod->mod_use_count; ++mod->mod_use_count;
return dlsym(mod->mod_handle, name); return (FPTR_INT) dlsym(mod->mod_handle, name);
#endif /* NON_DL_COMPATIBLE */ #endif /* NON_DL_COMPATIBLE */
} }

View File

@ -21,16 +21,17 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
/* /*
$Id: fun.epp,v 1.1 2001-07-12 06:32:03 bellardo Exp $ $Id: fun.epp,v 1.2 2001-07-29 17:42:22 skywalker Exp $
*/ */
#include "firebird.h"
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/val.h" #include "../jrd/val.h"
#include "../jrd/exe.h" #include "../jrd/exe.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/req.h" #include "../jrd/req.h"
#include "../jrd/lls.h" #include "../jrd/lls.h"
#include "../jrd/blb.h" #include "../jrd/blb.h"

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
#include "../jrd/jrd.h" /* For MAX_PATH_LENGTH Bug #126614 */ #include "../jrd/jrd.h" /* For MAX_PATH_LENGTH Bug #126614 */

View File

@ -30,6 +30,7 @@
#define ISC_TIME_SECONDS_PRECISION 10000L #define ISC_TIME_SECONDS_PRECISION 10000L
#define ISC_TIME_SECONDS_PRECISION_SCALE -4 #define ISC_TIME_SECONDS_PRECISION_SCALE -4
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -123,9 +124,10 @@ static CONST TEXT gdslogid[] = "";
#endif #endif
#endif #endif
#include "../jrd/sql_code.h" #include "gen/sql_code.h"
#include "../jrd/thd.h" #include "../jrd/thd.h"
#include "../jrd/codes.h" #include "../jrd/gdsold.h"
//#include "../jrd/gen/codes.h" // is already included in gdsold.h
#include "../jrd/blr.h" #include "../jrd/blr.h"
#include "../jrd/msg.h" #include "../jrd/msg.h"
#include "../jrd/fil.h" #include "../jrd/fil.h"
@ -186,7 +188,7 @@ static char *ib_prefix_msg = 0;
static CONST SCHAR *FAR_VARIABLE CONST messages[] = { static CONST SCHAR *FAR_VARIABLE CONST messages[] = {
#include "../jrd/msgs.h" #include "gen/msgs.h"
0 /* Null entry to terminate list */ 0 /* Null entry to terminate list */
}; };
@ -639,7 +641,7 @@ static const struct
#pragma FB_COMPILER_MESSAGE("Fix this!") #pragma FB_COMPILER_MESSAGE("Fix this!")
#include "../jrd/blp.h" #include "../jrd/blp.h"
0, 0 {0, 0}
}; };
@ -656,23 +658,6 @@ static const struct
#endif #endif
/* This is duplicated from gds.h */
#define blr_gds_code 0
#define blr_sql_code 1
#define blr_exception 2
#define blr_trigger_code 3
#define blr_default_code 4
#define gds__bpb_version1 1
#define gds__bpb_source_type 1
#define gds__bpb_target_type 2
#define gds__bpb_type 3
#define gds__bpb_source_interp 4
#define gds__bpb_target_interp 5
#define gds__bpb_type_segmented 0
#define gds__bpb_type_stream 1
#ifdef SUPERSERVER #ifdef SUPERSERVER
extern SLONG allr_delta_alloc; extern SLONG allr_delta_alloc;
@ -2425,11 +2410,11 @@ void API_ROUTINE gds__prefix(TEXT * string, TEXT * root)
/* TMN: 2 Aug 2000 - No registry entry found. */ /* TMN: 2 Aug 2000 - No registry entry found. */
/* Try to get "Program Files" from env var. */ /* Try to get "Program Files" from env var. */
/* If that fails, fallback to the hardcoded path. */ /* If that fails, fallback to the hardcoded path. */
ib_prefix = getenv("ProgramFiles"); ib_prefix = getenv("ProgramFiles");
if (ib_prefix) { if (ib_prefix) {
strcpy(ib_prefix_val, ib_prefix); strcpy(ib_prefix_val, ib_prefix);
strcat(ib_prefix_val, "\\Borland\\Interbase\\"); strcat(ib_prefix_val, ISC_PREFIX_SUBPATH);
} }
else { else {
/* ISC_PREFIX currently defaults to */ /* ISC_PREFIX currently defaults to */
@ -2797,31 +2782,31 @@ USHORT API_ROUTINE gds__parse_bpb2(USHORT bpb_length,
p = bpb; p = bpb;
end = p + bpb_length; end = p + bpb_length;
if (*p++ != gds__bpb_version1) if (*p++ != gds_bpb_version1)
return type; return type;
while (p < end) { while (p < end) {
op = *p++; op = *p++;
length = *p++; length = *p++;
switch (op) { switch (op) {
case gds__bpb_source_type: case gds_bpb_source_type:
*source = (USHORT) gds__vax_integer(p, length); *source = (USHORT) gds__vax_integer(p, length);
break; break;
case gds__bpb_target_type: case gds_bpb_target_type:
*target = (USHORT) gds__vax_integer(p, length); *target = (USHORT) gds__vax_integer(p, length);
break; break;
case gds__bpb_type: case gds_bpb_type:
type = (USHORT) gds__vax_integer(p, length); type = (USHORT) gds__vax_integer(p, length);
break; break;
case gds__bpb_source_interp: case gds_bpb_source_interp:
if (source_interp) if (source_interp)
*source_interp = (USHORT) gds__vax_integer(p, length); *source_interp = (USHORT) gds__vax_integer(p, length);
break; break;
case gds__bpb_target_interp: case gds_bpb_target_interp:
if (target_interp) if (target_interp)
*target_interp = (USHORT) gds__vax_integer(p, length); *target_interp = (USHORT) gds__vax_integer(p, length);
break; break;
@ -3070,7 +3055,7 @@ SLONG API_ROUTINE gds__sqlcode(STATUS * status_vector)
if (*s == gds_arg_gds) if (*s == gds_arg_gds)
{ {
s++; s++;
if (*s == gds__sqlerr) if (*s == gds_sqlerr)
{ {
return *(s + 2); return *(s + 2);
} }

38
src/jrd/gds.h Normal file
View File

@ -0,0 +1,38 @@
#ifndef INCLUDE_gds
#define INCLUDE_gds
/*
* Module: gds.h
*
* This file comes in two forms this one which is used in the
* build tree and does a #include of all components and the
* generated one used for external compilation which contains
* a concatination of all the following files.
*
* The content of this file was generated by the Firebird project
* and is a concatination of several header source files, that may
* also explain the unusual #ifdef structures within this file.
*
*
*/
#include "../jrd/ibase.h"
#include "../jrd/gdsold.h"
#if 0
/* The public version of this file also contains the following header files
these are not included explicitly here as they are included in the two
above files. They have been placed here as a reminder of what is in
the public version of this file.
*/
#include "fb_types.h"
#include "../jrd/blr.h"
#include "gen/iberror.h"
#include "gen/codes.h"
#endif
#endif /* INCLUDE_gds */

View File

@ -25,27 +25,16 @@
#ifndef _JRD_GDSOLD_H_ #ifndef _JRD_GDSOLD_H_
#define _JRD_GDSOLD_H_ #define _JRD_GDSOLD_H_
#include "fb_types.h"
#define gds_version3 #define gds_version3
#define GDS_TRUE 1
#define GDS_FALSE 0
#if !(defined __cplusplus)
#define GDS__TRUE GDS_TRUE
#define GDS__FALSE GDS_FALSE
#endif
#if (defined __osf__ && defined __alpha)
#define GDS_LONG int
#define GDS_ULONG unsigned int
#else
#define GDS_LONG long
#define GDS_ULONG unsigned long
#endif
#define GDS_STATUS long
#ifndef GDS_VAL /* duplicate definition in gds_proto.h */
#define GDS_VAL(val) val #define GDS_VAL(val) val
#define GDS_REF(val) &val #define GDS_REF(val) &val
#endif
#define GDS_TYPE GDS_STATUS #define GDS_TYPE GDS_STATUS
#define CANCEL_disable 1 #define CANCEL_disable 1
@ -57,9 +46,9 @@
/******************************************************************/ /******************************************************************/
#ifndef GDS_FAR #ifndef GDS_FAR
#define GDS_FAR ISC_FAR #define GDS_FAR
#endif #endif
#define GDS_EXPORT ISC_EXPORT
typedef void GDS_FAR *gds_db_handle; typedef void GDS_FAR *gds_db_handle;
typedef void GDS_FAR *gds_req_handle; typedef void GDS_FAR *gds_req_handle;
@ -323,7 +312,7 @@ GDS_STATUS GDS_EXPORT gds__event_wait(GDS_STATUS GDS_FAR *,
char GDS_FAR *, char GDS_FAR *,
char GDS_FAR *); char GDS_FAR *);
void GDS_EXPORT gds__event_counts(unsigned GDS_LONG GDS_FAR *, void GDS_EXPORT gds__event_counts(ULONG GDS_FAR *,
short, short,
char GDS_FAR *, char GDS_FAR *,
char GDS_FAR *); char GDS_FAR *);
@ -1284,431 +1273,13 @@ const char gds_info_sql_stmt_select_for_upd = 12;
/* Error codes */ /* Error codes */
/***************/ /***************/
#ifndef __cplusplus /* c definitions */
#define gds_facility 20 #include "gen/codes.h"
#define gds_err_base 335544320L
#define gds_err_factor 1
#define gds_arg_end 0
#define gds_arg_gds 1
#define gds_arg_string 2
#define gds_arg_cstring 3
#define gds_arg_number 4
#define gds_arg_interpreted 5
#define gds_arg_vms 6
#define gds_arg_unix 7
#define gds_arg_domain 8
#define gds_arg_dos 9
#define gds_arg_mpexl 10
#define gds_arg_mpexl_ipc 11
#define gds_arg_next_mach 15
#define gds_arg_netware 16
#define gds_arg_win32 17
#define gds_arg_warning 18
#else /* c++ definitions */ #include "gen/iberror.h"
const GDS_LONG gds_facility = 20;
const GDS_LONG gds_err_base = 335544320L;
const GDS_LONG gds_err_factor = 1;
const GDS_LONG gds_arg_end = 0;
const GDS_LONG gds_arg_gds = 1;
const GDS_LONG gds_arg_string = 2;
const GDS_LONG gds_arg_cstring = 3;
const GDS_LONG gds_arg_number = 4;
const GDS_LONG gds_arg_interpreted = 5;
const GDS_LONG gds_arg_vms = 6;
const GDS_LONG gds_arg_unix = 7;
const GDS_LONG gds_arg_domain = 8;
const GDS_LONG gds_arg_dos = 9;
const GDS_LONG gds_arg_mpexl = 10;
const GDS_LONG gds_arg_mpexl_ipc = 11;
const GDS_LONG gds_arg_next_mach = 15;
const GDS_LONG gds_arg_netware = 16;
const GDS_LONG gds_arg_win32 = 17;
const GDS_LONG gds_arg_warning = 18;
#endif // #undef GDS_LONG
#ifndef __cplusplus /* c definitions */
#include "../jrd/codes.h"
#else /* c++ definitions */
const GDS_LONG gds_arith_except = 335544321L;
const GDS_LONG gds_bad_dbkey = 335544322L;
const GDS_LONG gds_bad_db_format = 335544323L;
const GDS_LONG gds_bad_db_handle = 335544324L;
const GDS_LONG gds_bad_dpb_content = 335544325L;
const GDS_LONG gds_bad_dpb_form = 335544326L;
const GDS_LONG gds_bad_req_handle = 335544327L;
const GDS_LONG gds_bad_segstr_handle = 335544328L;
const GDS_LONG gds_bad_segstr_id = 335544329L;
const GDS_LONG gds_bad_tpb_content = 335544330L;
const GDS_LONG gds_bad_tpb_form = 335544331L;
const GDS_LONG gds_bad_trans_handle = 335544332L;
const GDS_LONG gds_bug_check = 335544333L;
const GDS_LONG gds_convert_error = 335544334L;
const GDS_LONG gds_db_corrupt = 335544335L;
const GDS_LONG gds_deadlock = 335544336L;
const GDS_LONG gds_excess_trans = 335544337L;
const GDS_LONG gds_from_no_match = 335544338L;
const GDS_LONG gds_infinap = 335544339L;
const GDS_LONG gds_infona = 335544340L;
const GDS_LONG gds_infunk = 335544341L;
const GDS_LONG gds_integ_fail = 335544342L;
const GDS_LONG gds_invalid_blr = 335544343L;
const GDS_LONG gds_io_error = 335544344L;
const GDS_LONG gds_lock_conflict = 335544345L;
const GDS_LONG gds_metadata_corrupt = 335544346L;
const GDS_LONG gds_not_valid = 335544347L;
const GDS_LONG gds_no_cur_rec = 335544348L;
const GDS_LONG gds_no_dup = 335544349L;
const GDS_LONG gds_no_finish = 335544350L;
const GDS_LONG gds_no_meta_update = 335544351L;
const GDS_LONG gds_no_priv = 335544352L;
const GDS_LONG gds_no_recon = 335544353L;
const GDS_LONG gds_no_record = 335544354L;
const GDS_LONG gds_no_segstr_close = 335544355L;
const GDS_LONG gds_obsolete_metadata = 335544356L;
const GDS_LONG gds_open_trans = 335544357L;
const GDS_LONG gds_port_len = 335544358L;
const GDS_LONG gds_read_only_field = 335544359L;
const GDS_LONG gds_read_only_rel = 335544360L;
const GDS_LONG gds_read_only_trans = 335544361L;
const GDS_LONG gds_read_only_view = 335544362L;
const GDS_LONG gds_req_no_trans = 335544363L;
const GDS_LONG gds_req_sync = 335544364L;
const GDS_LONG gds_req_wrong_db = 335544365L;
const GDS_LONG gds_segment = 335544366L;
const GDS_LONG gds_segstr_eof = 335544367L;
const GDS_LONG gds_segstr_no_op = 335544368L;
const GDS_LONG gds_segstr_no_read = 335544369L;
const GDS_LONG gds_segstr_no_trans = 335544370L;
const GDS_LONG gds_segstr_no_write = 335544371L;
const GDS_LONG gds_segstr_wrong_db = 335544372L;
const GDS_LONG gds_sys_request = 335544373L;
const GDS_LONG gds_stream_eof = 335544374L;
const GDS_LONG gds_unavailable = 335544375L;
const GDS_LONG gds_unres_rel = 335544376L;
const GDS_LONG gds_uns_ext = 335544377L;
const GDS_LONG gds_wish_list = 335544378L;
const GDS_LONG gds_wrong_ods = 335544379L;
const GDS_LONG gds_wronumarg = 335544380L;
const GDS_LONG gds_imp_exc = 335544381L;
const GDS_LONG gds_random = 335544382L;
const GDS_LONG gds_fatal_conflict = 335544383L;
const GDS_LONG gds_badblk = 335544384L;
const GDS_LONG gds_invpoolcl = 335544385L;
const GDS_LONG gds_nopoolids = 335544386L;
const GDS_LONG gds_relbadblk = 335544387L;
const GDS_LONG gds_blktoobig = 335544388L;
const GDS_LONG gds_bufexh = 335544389L;
const GDS_LONG gds_syntaxerr = 335544390L;
const GDS_LONG gds_bufinuse = 335544391L;
const GDS_LONG gds_bdbincon = 335544392L;
const GDS_LONG gds_reqinuse = 335544393L;
const GDS_LONG gds_badodsver = 335544394L;
const GDS_LONG gds_relnotdef = 335544395L;
const GDS_LONG gds_fldnotdef = 335544396L;
const GDS_LONG gds_dirtypage = 335544397L;
const GDS_LONG gds_waifortra = 335544398L;
const GDS_LONG gds_doubleloc = 335544399L;
const GDS_LONG gds_nodnotfnd = 335544400L;
const GDS_LONG gds_dupnodfnd = 335544401L;
const GDS_LONG gds_locnotmar = 335544402L;
const GDS_LONG gds_badpagtyp = 335544403L;
const GDS_LONG gds_corrupt = 335544404L;
const GDS_LONG gds_badpage = 335544405L;
const GDS_LONG gds_badindex = 335544406L;
const GDS_LONG gds_dbbnotzer = 335544407L;
const GDS_LONG gds_tranotzer = 335544408L;
const GDS_LONG gds_trareqmis = 335544409L;
const GDS_LONG gds_badhndcnt = 335544410L;
const GDS_LONG gds_wrotpbver = 335544411L;
const GDS_LONG gds_wroblrver = 335544412L;
const GDS_LONG gds_wrodpbver = 335544413L;
const GDS_LONG gds_blobnotsup = 335544414L;
const GDS_LONG gds_badrelation = 335544415L;
const GDS_LONG gds_nodetach = 335544416L;
const GDS_LONG gds_notremote = 335544417L;
const GDS_LONG gds_trainlim = 335544418L;
const GDS_LONG gds_notinlim = 335544419L;
const GDS_LONG gds_traoutsta = 335544420L;
const GDS_LONG gds_connect_reject = 335544421L;
const GDS_LONG gds_dbfile = 335544422L;
const GDS_LONG gds_orphan = 335544423L;
const GDS_LONG gds_no_lock_mgr = 335544424L;
const GDS_LONG gds_ctxinuse = 335544425L;
const GDS_LONG gds_ctxnotdef = 335544426L;
const GDS_LONG gds_datnotsup = 335544427L;
const GDS_LONG gds_badmsgnum = 335544428L;
const GDS_LONG gds_badparnum = 335544429L;
const GDS_LONG gds_virmemexh = 335544430L;
const GDS_LONG gds_blocking_signal = 335544431L;
const GDS_LONG gds_lockmanerr = 335544432L;
const GDS_LONG gds_journerr = 335544433L;
const GDS_LONG gds_keytoobig = 335544434L;
const GDS_LONG gds_nullsegkey = 335544435L;
const GDS_LONG gds_sqlerr = 335544436L;
const GDS_LONG gds_wrodynver = 335544437L;
const GDS_LONG gds_funnotdef = 335544438L;
const GDS_LONG gds_funmismat = 335544439L;
const GDS_LONG gds_bad_msg_vec = 335544440L;
const GDS_LONG gds_bad_detach = 335544441L;
const GDS_LONG gds_noargacc_read = 335544442L;
const GDS_LONG gds_noargacc_write = 335544443L;
const GDS_LONG gds_read_only = 335544444L;
const GDS_LONG gds_ext_err = 335544445L;
const GDS_LONG gds_non_updatable = 335544446L;
const GDS_LONG gds_no_rollback = 335544447L;
const GDS_LONG gds_bad_sec_info = 335544448L;
const GDS_LONG gds_invalid_sec_info = 335544449L;
const GDS_LONG gds_misc_interpreted = 335544450L;
const GDS_LONG gds_update_conflict = 335544451L;
const GDS_LONG gds_unlicensed = 335544452L;
const GDS_LONG gds_obj_in_use = 335544453L;
const GDS_LONG gds_nofilter = 335544454L;
const GDS_LONG gds_shadow_accessed = 335544455L;
const GDS_LONG gds_invalid_sdl = 335544456L;
const GDS_LONG gds_out_of_bounds = 335544457L;
const GDS_LONG gds_invalid_dimension = 335544458L;
const GDS_LONG gds_rec_in_limbo = 335544459L;
const GDS_LONG gds_shadow_missing = 335544460L;
const GDS_LONG gds_cant_validate = 335544461L;
const GDS_LONG gds_cant_start_journal = 335544462L;
const GDS_LONG gds_gennotdef = 335544463L;
const GDS_LONG gds_cant_start_logging = 335544464L;
const GDS_LONG gds_bad_segstr_type = 335544465L;
const GDS_LONG gds_foreign_key = 335544466L;
const GDS_LONG gds_high_minor = 335544467L;
const GDS_LONG gds_tra_state = 335544468L;
const GDS_LONG gds_trans_invalid = 335544469L;
const GDS_LONG gds_buf_invalid = 335544470L;
const GDS_LONG gds_indexnotdefined = 335544471L;
const GDS_LONG gds_login = 335544472L;
const GDS_LONG gds_invalid_bookmark = 335544473L;
const GDS_LONG gds_bad_lock_level = 335544474L;
const GDS_LONG gds_relation_lock = 335544475L;
const GDS_LONG gds_record_lock = 335544476L;
const GDS_LONG gds_max_idx = 335544477L;
const GDS_LONG gds_jrn_enable = 335544478L;
const GDS_LONG gds_old_failure = 335544479L;
const GDS_LONG gds_old_in_progress = 335544480L;
const GDS_LONG gds_old_no_space = 335544481L;
const GDS_LONG gds_no_wal_no_jrn = 335544482L;
const GDS_LONG gds_num_old_files = 335544483L;
const GDS_LONG gds_wal_file_open = 335544484L;
const GDS_LONG gds_bad_stmt_handle = 335544485L;
const GDS_LONG gds_wal_failure = 335544486L;
const GDS_LONG gds_walw_err = 335544487L;
const GDS_LONG gds_logh_small = 335544488L;
const GDS_LONG gds_logh_inv_version = 335544489L;
const GDS_LONG gds_logh_open_flag = 335544490L;
const GDS_LONG gds_logh_open_flag2 = 335544491L;
const GDS_LONG gds_logh_diff_dbname = 335544492L;
const GDS_LONG gds_logf_unexpected_eof = 335544493L;
const GDS_LONG gds_logr_incomplete = 335544494L;
const GDS_LONG gds_logr_header_small = 335544495L;
const GDS_LONG gds_logb_small = 335544496L;
const GDS_LONG gds_wal_illegal_attach = 335544497L;
const GDS_LONG gds_wal_invalid_wpb = 335544498L;
const GDS_LONG gds_wal_err_rollover = 335544499L;
const GDS_LONG gds_no_wal = 335544500L;
const GDS_LONG gds_drop_wal = 335544501L;
const GDS_LONG gds_stream_not_defined = 335544502L;
const GDS_LONG gds_wal_subsys_error = 335544503L;
const GDS_LONG gds_wal_subsys_corrupt = 335544504L;
const GDS_LONG gds_no_archive = 335544505L;
const GDS_LONG gds_shutinprog = 335544506L;
const GDS_LONG gds_range_in_use = 335544507L;
const GDS_LONG gds_range_not_found = 335544508L;
const GDS_LONG gds_charset_not_found = 335544509L;
const GDS_LONG gds_lock_timeout = 335544510L;
const GDS_LONG gds_prcnotdef = 335544511L;
const GDS_LONG gds_prcmismat = 335544512L;
const GDS_LONG gds_wal_bugcheck = 335544513L;
const GDS_LONG gds_wal_cant_expand = 335544514L;
const GDS_LONG gds_codnotdef = 335544515L;
const GDS_LONG gds_xcpnotdef = 335544516L;
const GDS_LONG gds_except = 335544517L;
const GDS_LONG gds_cache_restart = 335544518L;
const GDS_LONG gds_bad_lock_handle = 335544519L;
const GDS_LONG gds_jrn_present = 335544520L;
const GDS_LONG gds_wal_err_rollover2 = 335544521L;
const GDS_LONG gds_wal_err_logwrite = 335544522L;
const GDS_LONG gds_wal_err_jrn_comm = 335544523L;
const GDS_LONG gds_wal_err_expansion = 335544524L;
const GDS_LONG gds_wal_err_setup = 335544525L;
const GDS_LONG gds_wal_err_ww_sync = 335544526L;
const GDS_LONG gds_wal_err_ww_start = 335544527L;
const GDS_LONG gds_shutdown = 335544528L;
const GDS_LONG gds_existing_priv_mod = 335544529L;
const GDS_LONG gds_primary_key_ref = 335544530L;
const GDS_LONG gds_primary_key_notnull = 335544531L;
const GDS_LONG gds_ref_cnstrnt_notfound = 335544532L;
const GDS_LONG gds_foreign_key_notfound = 335544533L;
const GDS_LONG gds_ref_cnstrnt_update = 335544534L;
const GDS_LONG gds_check_cnstrnt_update = 335544535L;
const GDS_LONG gds_check_cnstrnt_del = 335544536L;
const GDS_LONG gds_integ_index_seg_del = 335544537L;
const GDS_LONG gds_integ_index_seg_mod = 335544538L;
const GDS_LONG gds_integ_index_del = 335544539L;
const GDS_LONG gds_integ_index_mod = 335544540L;
const GDS_LONG gds_check_trig_del = 335544541L;
const GDS_LONG gds_check_trig_update = 335544542L;
const GDS_LONG gds_cnstrnt_fld_del = 335544543L;
const GDS_LONG gds_cnstrnt_fld_rename = 335544544L;
const GDS_LONG gds_rel_cnstrnt_update = 335544545L;
const GDS_LONG gds_constaint_on_view = 335544546L;
const GDS_LONG gds_invld_cnstrnt_type = 335544547L;
const GDS_LONG gds_primary_key_exists = 335544548L;
const GDS_LONG gds_systrig_update = 335544549L;
const GDS_LONG gds_not_rel_owner = 335544550L;
const GDS_LONG gds_grant_obj_notfound = 335544551L;
const GDS_LONG gds_grant_fld_notfound = 335544552L;
const GDS_LONG gds_grant_nopriv = 335544553L;
const GDS_LONG gds_nonsql_security_rel = 335544554L;
const GDS_LONG gds_nonsql_security_fld = 335544555L;
const GDS_LONG gds_wal_cache_err = 335544556L;
const GDS_LONG gds_shutfail = 335544557L;
const GDS_LONG gds_check_constraint = 335544558L;
const GDS_LONG gds_bad_svc_handle = 335544559L;
const GDS_LONG gds_shutwarn = 335544560L;
const GDS_LONG gds_wrospbver = 335544561L;
const GDS_LONG gds_bad_spb_form = 335544562L;
const GDS_LONG gds_svcnotdef = 335544563L;
const GDS_LONG gds_no_jrn = 335544564L;
const GDS_LONG gds_transliteration_failed = 335544565L;
const GDS_LONG gds_start_cm_for_wal = 335544566L;
const GDS_LONG gds_wal_ovflow_log_required = 335544567L;
const GDS_LONG gds_text_subtype = 335544568L;
const GDS_LONG gds_dsql_error = 335544569L;
const GDS_LONG gds_dsql_command_err = 335544570L;
const GDS_LONG gds_dsql_constant_err = 335544571L;
const GDS_LONG gds_dsql_cursor_err = 335544572L;
const GDS_LONG gds_dsql_datatype_err = 335544573L;
const GDS_LONG gds_dsql_decl_err = 335544574L;
const GDS_LONG gds_dsql_cursor_update_err = 335544575L;
const GDS_LONG gds_dsql_cursor_open_err = 335544576L;
const GDS_LONG gds_dsql_cursor_close_err = 335544577L;
const GDS_LONG gds_dsql_field_err = 335544578L;
const GDS_LONG gds_dsql_internal_err = 335544579L;
const GDS_LONG gds_dsql_relation_err = 335544580L;
const GDS_LONG gds_dsql_procedure_err = 335544581L;
const GDS_LONG gds_dsql_request_err = 335544582L;
const GDS_LONG gds_dsql_sqlda_err = 335544583L;
const GDS_LONG gds_dsql_var_count_err = 335544584L;
const GDS_LONG gds_dsql_stmt_handle = 335544585L;
const GDS_LONG gds_dsql_function_err = 335544586L;
const GDS_LONG gds_dsql_blob_err = 335544587L;
const GDS_LONG gds_collation_not_found = 335544588L;
const GDS_LONG gds_collation_not_for_charset = 335544589L;
const GDS_LONG gds_dsql_dup_option = 335544590L;
const GDS_LONG gds_dsql_tran_err = 335544591L;
const GDS_LONG gds_dsql_invalid_array = 335544592L;
const GDS_LONG gds_dsql_max_arr_dim_exceeded = 335544593L;
const GDS_LONG gds_dsql_arr_range_error = 335544594L;
const GDS_LONG gds_dsql_trigger_err = 335544595L;
const GDS_LONG gds_dsql_subselect_err = 335544596L;
const GDS_LONG gds_dsql_crdb_prepare_err = 335544597L;
const GDS_LONG gds_specify_field_err = 335544598L;
const GDS_LONG gds_num_field_err = 335544599L;
const GDS_LONG gds_col_name_err = 335544600L;
const GDS_LONG gds_where_err = 335544601L;
const GDS_LONG gds_table_view_err = 335544602L;
const GDS_LONG gds_distinct_err = 335544603L;
const GDS_LONG gds_key_field_count_err = 335544604L;
const GDS_LONG gds_subquery_err = 335544605L;
const GDS_LONG gds_expression_eval_err = 335544606L;
const GDS_LONG gds_node_err = 335544607L;
const GDS_LONG gds_command_end_err = 335544608L;
const GDS_LONG gds_index_name = 335544609L;
const GDS_LONG gds_exception_name = 335544610L;
const GDS_LONG gds_field_name = 335544611L;
const GDS_LONG gds_token_err = 335544612L;
const GDS_LONG gds_union_err = 335544613L;
const GDS_LONG gds_dsql_construct_err = 335544614L;
const GDS_LONG gds_field_aggregate_err = 335544615L;
const GDS_LONG gds_field_ref_err = 335544616L;
const GDS_LONG gds_order_by_err = 335544617L;
const GDS_LONG gds_return_mode_err = 335544618L;
const GDS_LONG gds_extern_func_err = 335544619L;
const GDS_LONG gds_alias_conflict_err = 335544620L;
const GDS_LONG gds_procedure_conflict_error = 335544621L;
const GDS_LONG gds_relation_conflict_err = 335544622L;
const GDS_LONG gds_dsql_domain_err = 335544623L;
const GDS_LONG gds_idx_seg_err = 335544624L;
const GDS_LONG gds_node_name_err = 335544625L;
const GDS_LONG gds_table_name = 335544626L;
const GDS_LONG gds_proc_name = 335544627L;
const GDS_LONG gds_idx_create_err = 335544628L;
const GDS_LONG gds_wal_shadow_err = 335544629L;
const GDS_LONG gds_dependency = 335544630L;
const GDS_LONG gds_idx_key_err = 335544631L;
const GDS_LONG gds_dsql_file_length_err = 335544632L;
const GDS_LONG gds_dsql_shadow_number_err = 335544633L;
const GDS_LONG gds_dsql_token_unk_err = 335544634L;
const GDS_LONG gds_dsql_no_relation_alias = 335544635L;
const GDS_LONG gds_indexname = 335544636L;
const GDS_LONG gds_no_stream_plan = 335544637L;
const GDS_LONG gds_stream_twice = 335544638L;
const GDS_LONG gds_stream_not_found = 335544639L;
const GDS_LONG gds_collation_requires_text = 335544640L;
const GDS_LONG gds_dsql_domain_not_found = 335544641L;
const GDS_LONG gds_index_unused = 335544642L;
const GDS_LONG gds_dsql_self_join = 335544643L;
const GDS_LONG gds_stream_bof = 335544644L;
const GDS_LONG gds_stream_crack = 335544645L;
const GDS_LONG gds_db_or_file_exists = 335544646L;
const GDS_LONG gds_invalid_operator = 335544647L;
const GDS_LONG gds_conn_lost = 335544648L;
const GDS_LONG gds_bad_checksum = 335544649L;
const GDS_LONG gds_page_type_err = 335544650L;
const GDS_LONG gds_ext_readonly_err = 335544651L;
const GDS_LONG gds_sing_select_err = 335544652L;
const GDS_LONG gds_psw_attach = 335544653L;
const GDS_LONG gds_psw_start_trans = 335544654L;
const GDS_LONG gds_invalid_direction = 335544655L;
const GDS_LONG gds_dsql_var_conflict = 335544656L;
const GDS_LONG gds_dsql_no_blob_array = 335544657L;
const GDS_LONG gds_dsql_base_table = 335544658L;
const GDS_LONG gds_duplicate_base_table = 335544659L;
const GDS_LONG gds_view_alias = 335544660L;
const GDS_LONG gds_index_root_page_full = 335544661L;
const GDS_LONG gds_dsql_blob_type_unknown = 335544662L;
const GDS_LONG gds_req_max_clones_exceeded = 335544663L;
const GDS_LONG gds_dsql_duplicate_spec = 335544664L;
const GDS_LONG gds_unique_key_violation = 335544665L;
const GDS_LONG gds_srvr_version_too_old = 335544666L;
const GDS_LONG gds_drdb_completed_with_errs = 335544667L;
const GDS_LONG gds_dsql_procedure_use_err = 335544668L;
const GDS_LONG gds_dsql_count_mismatch = 335544669L;
const GDS_LONG gds_blob_idx_err = 335544670L;
const GDS_LONG gds_array_idx_err = 335544671L;
const GDS_LONG gds_key_field_err = 335544672L;
const GDS_LONG gds_no_delete = 335544673L;
const GDS_LONG gds_del_last_field = 335544674L;
const GDS_LONG gds_sort_err = 335544675L;
const GDS_LONG gds_sort_mem_err = 335544676L;
const GDS_LONG gds_version_err = 335544677L;
const GDS_LONG gds_inval_key_posn = 335544678L;
const GDS_LONG gds_no_segments_err = 335544679L;
const GDS_LONG gds_crrp_data_err = 335544680L;
const GDS_LONG gds_rec_size_err = 335544681L;
const GDS_LONG gds_dsql_field_ref = 335544682L;
const GDS_LONG gds_req_depth_exceeded = 335544683L;
const GDS_LONG gds_no_field_access = 335544684L;
const GDS_LONG gds_no_dbkey = 335544685L;
const GDS_LONG gds_jrn_format_err = 335544686L;
const GDS_LONG gds_jrn_file_full = 335544687L;
const GDS_LONG gds_dsql_open_cursor_request = 335544688L;
const GDS_LONG gds_err_max = 368L;
#endif
#undef GDS_LONG

View File

@ -17,6 +17,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <stdlib.h> #include <stdlib.h>
@ -58,7 +59,7 @@ YYSTYPE yylval, yyval;
# line 159 "grammar.y" # line 159 "grammar.y"
#include "../jrd/jlx.cpp" #include "../jrd/jlx.c"
int yyexca[] = { int yyexca[] = {
-1, 1, -1, 1,
0, -1, 0, -1,

View File

@ -21,9 +21,10 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/scl.h" #include "../jrd/scl.h"
#include "../jrd/acl.h" #include "../jrd/acl.h"

View File

@ -87,9 +87,10 @@
*/ */
/* /*
$Id: ib_stdio.cpp,v 1.1.1.1 2001-05-23 13:26:18 tamlin Exp $ $Id: ib_stdio.cpp,v 1.2 2001-07-29 17:42:22 skywalker Exp $
*/ */
#include "firebird.h"
#include "source/jrd/common.h" #include "source/jrd/common.h"
#ifdef NEED_IB_STDIO #ifdef NEED_IB_STDIO
#include "ib_stdio.h" #include "ib_stdio.h"

View File

@ -22,15 +22,14 @@
* FSG 16.03.2001 * FSG 16.03.2001
*/ */
/* /*
$Id: ibase.h,v 1.2 2001-07-12 05:46:05 bellardo Exp $ $Id: ibase.h,v 1.3 2001-07-29 17:42:22 skywalker Exp $
*/ */
#ifndef JRD_IBASE_H #ifndef JRD_IBASE_H
#define JRD_IBASE_H #define JRD_IBASE_H
#ifndef INCLUDE_FB_TYPES_H
#include "../include/fb_types.h" #include "fb_types.h"
#endif
#define isc_version4 #define isc_version4
@ -63,30 +62,18 @@ $Id: ibase.h,v 1.2 2001-07-12 05:46:05 bellardo Exp $
/* Define type, export and other stuff based on c/c++ and Windows */ /* Define type, export and other stuff based on c/c++ and Windows */
/******************************************************************/ /******************************************************************/
#define ISC_EXPORT GDS_EXPORT
#define ISC_FAR
#if (defined(_MSC_VER) && defined(_WIN32)) || \ #if (defined(_MSC_VER) && defined(_WIN32)) || \
(defined(__BORLANDC__) && (defined(__WIN32__) || defined(__OS2__))) (defined(__BORLANDC__) && (defined(__WIN32__) || defined(__OS2__)))
# define ISC_FAR # define ISC_FAR
# define ISC_EXPORT __stdcall
# define ISC_EXPORT_VARARG __cdecl # define ISC_EXPORT_VARARG __cdecl
typedef __int64 ISC_INT64; typedef __int64 ISC_INT64;
typedef unsigned __int64 ISC_UINT64; typedef unsigned __int64 ISC_UINT64;
# define ISC_INT64_DEFINED # define ISC_INT64_DEFINED
#else /* Not Windows/NT */ #else /* Not Windows*/
# if (defined(__IBMC__) && defined(__OS2__)) # define ISC_EXPORT_VARARG
# define ISC_FAR
# define ISC_EXPORT _System
# define ISC_EXPORT_VARARG ISC_EXPORT
# else /* not IBM C Set++ for OS/2 */
# if ( defined( _Windows) || defined( _WINDOWS))
# define ISC_FAR __far
# define ISC_EXPORT ISC_FAR __cdecl __loadds __export
# define ISC_EXPORT_VARARG ISC_EXPORT
# else /* Not Windows/NT, OS/2 or Windows */
# define ISC_FAR
# define ISC_EXPORT
# define ISC_EXPORT_VARARG
# endif /* Windows and Not Windows/NT or OS/2 */
# endif /* IBM C Set++ for OS/2 */
#endif /* Windows/NT */ #endif /* Windows/NT */
/*******************************************************************/ /*******************************************************************/
@ -122,47 +109,12 @@ typedef struct
/* Blob id structure */ /* Blob id structure */
/*******************************************************************/ /*******************************************************************/
#if !(defined __cplusplus) #if !(defined __cplusplus)
typedef GDS_QUAD GDS__QUAD; typedef GDS_QUAD GDS__QUAD;
#endif /* !(defined __cplusplus) */ #endif /* !(defined __cplusplus) */
#if 1 typedef struct GDS_QUAD_t ISC_QUAD;
/* TMN: What *is* really the right definition of these structs?! */
/* Is e.g a GDS_QUAD to be signed or unsigned?! */
#if !defined(ISC_QUAD) && !defined(DEFINED_GDS_QUAD)
#define DEFINED_GDS_QUAD
typedef struct {
unsigned long uquad_high;
unsigned long uquad_low;
} ISC_UQUAD;
typedef struct {
signed long squad_high;
unsigned long squad_low;
} ISC_SQUAD;
#define GDS_QUAD ISC_UQUAD
#define GDS__QUAD ISC_UQUAD
#define gds_quad_high uquad_high
#define gds_quad_low uquad_low
#define ISC_QUAD ISC_UQUAD
#define isc_quad_high uquad_high
#define isc_quad_low uquad_low
#endif /* ISC_QUAD */
#else /* 1 */
#define isc_quad_high gds_quad_high
#define isc_quad_low gds_quad_low
#endif /* 1 */
typedef struct typedef struct
{ {
@ -1941,31 +1893,6 @@ ISC_STATUS ISC_EXPORT isc_suspend_window(ISC_STATUS ISC_FAR*,
#endif #endif
/***************/
/* Error codes */
/***************/
#define isc_facility 20
#define isc_err_base 335544320L
#define isc_err_factor 1
#define isc_arg_end 0
#define isc_arg_gds 1
#define isc_arg_string 2
#define isc_arg_cstring 3
#define isc_arg_number 4
#define isc_arg_interpreted 5
#define isc_arg_vms 6
#define isc_arg_unix 7
#define isc_arg_domain 8
#define isc_arg_dos 9
#define isc_arg_mpexl 10
#define isc_arg_mpexl_ipc 11
#define isc_arg_next_mach 15
#define isc_arg_netware 16
#define isc_arg_win32 17
#define isc_arg_warning 18
#include <iberror.h>
/**********************************************/ /**********************************************/
/* Dynamic Data Definition Language operators */ /* Dynamic Data Definition Language operators */
@ -2382,4 +2309,7 @@ ISC_STATUS ISC_EXPORT isc_suspend_window(ISC_STATUS ISC_FAR*,
#define isc_dpb_SQL_dialect 63 #define isc_dpb_SQL_dialect 63
#define isc_dpb_set_db_SQL_dialect 65 #define isc_dpb_set_db_SQL_dialect 65
#include "gen/iberror.h"
#endif /* JRD_IBASE_H */ #endif /* JRD_IBASE_H */

View File

@ -21,12 +21,13 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/ibsetjmp.h" #include "../jrd/ibsetjmp.h"
#include <string.h> #include <string.h>
#include "../jrd/common.h" #include "../jrd/common.h"
#include <stdarg.h> #include <stdarg.h>
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/iberr.h" #include "../jrd/iberr.h"
#include "../jrd/gds_proto.h" #include "../jrd/gds_proto.h"
#include "../jrd/iberr_proto.h" #include "../jrd/iberr_proto.h"
@ -104,7 +105,7 @@ void IBERR_bugcheck(
len = strlen(errmsg); len = strlen(errmsg);
sprintf(errmsg + len, " (%d)", number); sprintf(errmsg + len, " (%d)", number);
post_error(status_vector, dbname, longjmp_addr, gds__bug_check, post_error(status_vector, dbname, longjmp_addr, gds_bug_check,
gds_arg_string, errmsg, 0); gds_arg_string, errmsg, 0);
} }
@ -131,7 +132,7 @@ void IBERR_error(
&flags) < 1) &flags) < 1)
sprintf(errmsg, "error code %d", number); sprintf(errmsg, "error code %d", number);
post_error(status_vector, dbname, longjmp_addr, gds__random, post_error(status_vector, dbname, longjmp_addr, gds_random,
gds_arg_string, errmsg, 0); gds_arg_string, errmsg, 0);
} }
@ -154,8 +155,8 @@ static void post_error(
STUFF_STATUS(status_vector, status); STUFF_STATUS(status_vector, status);
if (status_vector[1] == gds__db_corrupt || if (status_vector[1] == gds_db_corrupt ||
status_vector[1] == gds__bug_check) status_vector[1] == gds_bug_check)
gds__log_status(dbname, status_vector); gds__log_status(dbname, status_vector);
if (longjmp_addr) if (longjmp_addr)

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <windows.h> #include <windows.h>
HINSTANCE hIBDLLInstance; HINSTANCE hIBDLLInstance;

View File

@ -18,7 +18,7 @@
*/ */
@ -50,328 +50,266 @@
*/ */
#define f_pag_page 0
#define f_pag_id 1
#define f_pag_seq 2
#define f_pag_type 3
#define f_dat_desc 0
#define f_dat_id 1
#define f_dat_class 2
#define f_dat_charset 3
#define f_fld_name 0
#define f_fld_qname 1
#define f_fld_v_blr 2
#define f_fld_v_source 3
#define f_fld_computed 4
#define f_fld_csource 5
#define f_fld_default 6
#define f_fld_dsource 7
#define f_fld_length 8
#define f_fld_scale 9
#define f_fld_type 10
#define f_fld_sub_type 11
#define f_fld_missing 12
#define f_fld_msource 13
#define f_fld_desc 14
#define f_fld_sys_flag 15
#define f_fld_qheader 16
#define f_fld_seg_len 17
#define f_fld_estring 18
#define f_fld_ext_length 19
#define f_fld_ext_scale 20
#define f_fld_ext_type 21
#define f_fld_dimensions 22
#define f_fld_null_flag 23
#define f_fld_char_length 24
#define f_fld_coll_id 25
#define f_fld_charset_id 26
#define f_fld_precision 27
#define f_seg_name 0
#define f_seg_field 1
#define f_seg_position 2
#define f_idx_name 0
#define f_idx_relation 1
#define f_idx_id 2
#define f_idx_flag 3
#define f_idx_desc 4
#define f_idx_count 5
#define f_idx_inactive 6
#define f_idx_type 7
#define f_idx_foreign 8
#define f_idx_sys_flag 9
#define f_idx_exp_blr 10
#define f_idx_exp_source 11
#define f_idx_statistics 12
#define f_rfr_fname 0
#define f_rfr_rname 1
#define f_rfr_sname 2
#define f_rfr_qname 3
#define f_rfr_base 4
#define f_rfr_estring 5
#define f_rfr_position 6
#define f_rfr_qheader 7
#define f_rfr_flag 8
#define f_rfr_id 9
#define f_pag_page 0 #define f_rfr_context 10
#define f_pag_id 1 #define f_rfr_desc 11
#define f_pag_seq 2 #define f_rfr_default 12
#define f_pag_type 3 #define f_rfr_sys_flag 13
#define f_dat_desc 0 #define f_rfr_class 14
#define f_dat_id 1 #define f_rfr_complex 15
#define f_dat_class 2 #define f_rfr_null_flag 16
#define f_dat_charset 3 #define f_rfr_dsource 17
#define f_fld_name 0 #define f_rfr_coll_id 18
#define f_fld_qname 1 #define f_rel_blr 0
#define f_fld_v_blr 2 #define f_rel_source 1
#define f_fld_v_source 3 #define f_rel_desc 2
#define f_fld_computed 4 #define f_rel_id 3
#define f_fld_csource 5 #define f_rel_sys_flag 4
#define f_fld_default 6 #define f_rel_key_len 5
#define f_fld_dsource 7 #define f_rel_format 6
#define f_fld_length 8 #define f_rel_field_id 7
#define f_fld_scale 9 #define f_rel_name 8
#define f_fld_type 10 #define f_rel_class 9
#define f_fld_sub_type 11 #define f_rel_ext_file 10
#define f_fld_missing 12 #define f_rel_runtime 11
#define f_fld_msource 13 #define f_rel_ext_desc 12
#define f_fld_desc 14 #define f_rel_owner 13
#define f_fld_sys_flag 15 #define f_rel_def_class 14
#define f_fld_qheader 16 #define f_rel_flags 15
#define f_fld_seg_len 17 #define f_vrl_vname 0
#define f_fld_estring 18 #define f_vrl_rname 1
#define f_fld_ext_length 19 #define f_vrl_context 2
#define f_fld_ext_scale 20 #define f_vrl_cname 3
#define f_fld_ext_type 21 #define f_fmt_rid 0
#define f_fld_dimensions 22 #define f_fmt_format 1
#define f_fld_null_flag 23 #define f_fmt_desc 2
#define f_fld_char_length 24 #define f_cls_class 0
#define f_fld_coll_id 25 #define f_cls_acl 1
#define f_fld_charset_id 26 #define f_cls_desc 2
#define f_fld_precision 27 #define f_file_name 0
#define f_seg_name 0 #define f_file_seq 1
#define f_seg_field 1 #define f_file_start 2
#define f_seg_position 2 #define f_file_length 3
#define f_idx_name 0 #define f_file_flags 4
#define f_idx_relation 1 #define f_file_shad_num 5
#define f_idx_id 2 #define f_typ_field 0
#define f_idx_flag 3 #define f_typ_type 1
#define f_idx_desc 4 #define f_typ_name 2
#define f_idx_count 5 #define f_typ_desc 3
#define f_idx_inactive 6 #define f_typ_sys_flag 4
#define f_idx_type 7 #define f_trg_name 0
#define f_idx_foreign 8 #define f_trg_rname 1
#define f_idx_sys_flag 9 #define f_trg_seq 2
#define f_idx_exp_blr 10 #define f_trg_type 3
#define f_idx_exp_source 11 #define f_trg_source 4
#define f_idx_statistics 12 #define f_trg_blr 5
#define f_rfr_fname 0 #define f_trg_desc 6
#define f_rfr_rname 1 #define f_trg_inactive 7
#define f_rfr_sname 2 #define f_trg_sys_flag 8
#define f_rfr_qname 3 #define f_trg_flags 9
#define f_rfr_base 4 #define f_dpd_name 0
#define f_rfr_estring 5 #define f_dpd_o_name 1
#define f_rfr_position 6 #define f_dpd_f_name 2
#define f_rfr_qheader 7 #define f_dpd_type 3
#define f_rfr_flag 8 #define f_dpd_o_type 4
#define f_rfr_id 9 #define f_fun_name 0
#define f_rfr_context 10 #define f_fun_type 1
#define f_rfr_desc 11 #define f_fun_qname 2
#define f_rfr_default 12 #define f_fun_desc 3
#define f_rfr_sys_flag 13 #define f_fun_module 4
#define f_rfr_class 14 #define f_fun_entry 5
#define f_rfr_complex 15 #define f_fun_ret_arg 6
#define f_rfr_null_flag 16 #define f_fun_sys_flag 7
#define f_rfr_dsource 17 #define f_arg_fun_name 0
#define f_rfr_coll_id 18 #define f_arg_pos 1
#define f_rel_blr 0 #define f_arg_mech 2
#define f_rel_source 1 #define f_arg_type 3
#define f_rel_desc 2 #define f_arg_scale 4
#define f_rel_id 3 #define f_arg_length 5
#define f_rel_sys_flag 4 #define f_arg_sub_type 6
#define f_rel_key_len 5 #define f_arg_charset_id 7
#define f_rel_format 6 #define f_arg_precision 8
#define f_rel_field_id 7 #define f_arg_char_length 9
#define f_rel_name 8 #define f_flt_name 0
#define f_rel_class 9 #define f_flt_desc 1
#define f_rel_ext_file 10 #define f_flt_module 2
#define f_rel_runtime 11 #define f_flt_entry 3
#define f_rel_ext_desc 12 #define f_flt_input 4
#define f_rel_owner 13 #define f_flt_output 5
#define f_rel_def_class 14 #define f_flt_sys_flag 6
#define f_rel_flags 15 #define f_msg_trigger 0
#define f_vrl_vname 0 #define f_msg_number 1
#define f_vrl_rname 1 #define f_msg_msg 2
#define f_vrl_context 2 #define f_prv_user 0
#define f_vrl_cname 3 #define f_prv_grantor 1
#define f_fmt_rid 0 #define f_prv_priv 2
#define f_fmt_format 1 #define f_prv_grant 3
#define f_fmt_desc 2 #define f_prv_rname 4
#define f_cls_class 0 #define f_prv_fname 5
#define f_cls_acl 1 #define f_prv_u_type 6
#define f_cls_desc 2 #define f_prv_o_type 7
#define f_file_name 0 #define f_trn_id 0
#define f_file_seq 1 #define f_trn_state 1
#define f_file_start 2 #define f_trn_time 2
#define f_file_length 3 #define f_trn_desc 3
#define f_file_flags 4 #define f_gen_name 0
#define f_file_shad_num 5 #define f_gen_id 1
#define f_typ_field 0 #define f_gen_sys_flag 2
#define f_typ_type 1 #define f_dims_fname 0
#define f_typ_name 2 #define f_dims_dim 1
#define f_typ_desc 3 #define f_dims_lower 2
#define f_typ_sys_flag 4 #define f_dims_upper 3
#define f_trg_name 0 #define f_rcon_cname 0
#define f_trg_rname 1 #define f_rcon_ctype 1
#define f_trg_seq 2 #define f_rcon_rname 2
#define f_trg_type 3 #define f_rcon_dfr 3
#define f_trg_source 4 #define f_rcon_idfr 4
#define f_trg_blr 5 #define f_rcon_iname 5
#define f_trg_desc 6 #define f_refc_cname 0
#define f_trg_inactive 7 #define f_refc_uq 1
#define f_trg_sys_flag 8 #define f_refc_match 2
#define f_trg_flags 9 #define f_refc_upd_rul 3
#define f_dpd_name 0 #define f_refc_del_rul 4
#define f_dpd_o_name 1 #define f_ccon_cname 0
#define f_dpd_f_name 2 #define f_ccon_tname 1
#define f_dpd_type 3 #define f_log_name 0
#define f_dpd_o_type 4 #define f_log_seq 1
#define f_fun_name 0 #define f_log_length 2
#define f_fun_type 1 #define f_log_partitions 3
#define f_fun_qname 2 #define f_log_p_offset 4
#define f_fun_desc 3 #define f_log_flags 5
#define f_fun_module 4 #define f_prc_name 0
#define f_fun_entry 5 #define f_prc_id 1
#define f_fun_ret_arg 6 #define f_prc_inputs 2
#define f_fun_sys_flag 7 #define f_prc_outputs 3
#define f_arg_fun_name 0 #define f_prc_desc 4
#define f_arg_pos 1 #define f_prc_source 5
#define f_arg_mech 2 #define f_prc_blr 6
#define f_arg_type 3 #define f_prc_class 7
#define f_arg_scale 4 #define f_prc_owner 8
#define f_arg_length 5 #define f_prc_runtime 9
#define f_arg_sub_type 6 #define f_prc_sys_flag 10
#define f_arg_charset_id 7 #define f_prm_name 0
#define f_arg_precision 8 #define f_prm_procedure 1
#define f_arg_char_length 9 #define f_prm_number 2
#define f_flt_name 0 #define f_prm_type 3
#define f_flt_desc 1 #define f_prm_sname 4
#define f_flt_module 2 #define f_prm_desc 5
#define f_flt_entry 3 #define f_prm_sys_flag 6
#define f_flt_input 4 #define f_cs_cs_name 0
#define f_flt_output 5 #define f_cs_form_of_use 1
#define f_flt_sys_flag 6 #define f_cs_num_chars 2
#define f_msg_trigger 0 #define f_cs_def_collate 3
#define f_msg_number 1 #define f_cs_id 4
#define f_msg_msg 2 #define f_cs_sys_flag 5
#define f_prv_user 0 #define f_cs_desc 6
#define f_prv_grantor 1 #define f_cs_fun_name 7
#define f_prv_priv 2 #define f_cs_bytes_char 8
#define f_prv_grant 3 #define f_coll_name 0
#define f_prv_rname 4 #define f_coll_id 1
#define f_prv_fname 5 #define f_coll_cs_id 2
#define f_prv_u_type 6 #define f_coll_attr 3
#define f_prv_o_type 7 #define f_coll_sys_flag 4
#define f_trn_id 0 #define f_coll_desc 5
#define f_trn_state 1 #define f_coll_fun_name 6
#define f_trn_time 2 #define f_xcp_name 0
#define f_trn_desc 3 #define f_xcp_number 1
#define f_gen_name 0 #define f_xcp_msg 2
#define f_gen_id 1 #define f_xcp_desc 3
#define f_gen_sys_flag 2 #define f_xcp_sys_flag 4
#define f_dims_fname 0 #define f_rol_name 0
#define f_dims_dim 1 #define f_rol_owner 1
#define f_dims_lower 2
#define f_dims_upper 3
#define f_rcon_cname 0
#define f_rcon_ctype 1
#define f_rcon_rname 2
#define f_rcon_dfr 3
#define f_rcon_idfr 4
#define f_rcon_iname 5
#define f_refc_cname 0
#define f_refc_uq 1
#define f_refc_match 2
#define f_refc_upd_rul 3
#define f_refc_del_rul 4
#define f_ccon_cname 0
#define f_ccon_tname 1
#define f_log_name 0
#define f_log_seq 1
#define f_log_length 2
#define f_log_partitions 3
#define f_log_p_offset 4
#define f_log_flags 5
#define f_prc_name 0
#define f_prc_id 1
#define f_prc_inputs 2
#define f_prc_outputs 3
#define f_prc_desc 4
#define f_prc_source 5
#define f_prc_blr 6
#define f_prc_class 7
#define f_prc_owner 8
#define f_prc_runtime 9
#define f_prc_sys_flag 10
#define f_prm_name 0
#define f_prm_procedure 1
#define f_prm_number 2
#define f_prm_type 3
#define f_prm_sname 4
#define f_prm_desc 5
#define f_prm_sys_flag 6
#define f_cs_cs_name 0
#define f_cs_form_of_use 1
#define f_cs_num_chars 2
#define f_cs_def_collate 3
#define f_cs_id 4
#define f_cs_sys_flag 5
#define f_cs_desc 6
#define f_cs_fun_name 7
#define f_cs_bytes_char 8
#define f_coll_name 0
#define f_coll_id 1
#define f_coll_cs_id 2
#define f_coll_attr 3
#define f_coll_sys_flag 4
#define f_coll_desc 5
#define f_coll_fun_name 6
#define f_xcp_name 0
#define f_xcp_number 1
#define f_xcp_msg 2
#define f_xcp_desc 3
#define f_xcp_sys_flag 4
#define f_rol_name 0
#define f_rol_owner 1

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/val.h" #include "../jrd/val.h"
@ -31,7 +32,7 @@
#include "../jrd/sort.h" #include "../jrd/sort.h"
#include "../jrd/lls.h" #include "../jrd/lls.h"
#include "../jrd/tra.h" #include "../jrd/tra.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/sbm.h" #include "../jrd/sbm.h"
#include "../jrd/exe.h" #include "../jrd/exe.h"
#include "../jrd/scl.h" #include "../jrd/scl.h"
@ -194,7 +195,7 @@ void IDX_create_index(
dbb = tdbb->tdbb_database; dbb = tdbb->tdbb_database;
if (relation->rel_file) if (relation->rel_file)
ERR_post(gds__no_meta_update, gds_arg_gds, gds__extfile_uns_op, ERR_post(gds_no_meta_update, gds_arg_gds, gds_extfile_uns_op,
gds_arg_string, ERR_cstring(relation->rel_name), 0); gds_arg_string, ERR_cstring(relation->rel_name), 0);
BTR_reserve_slot(tdbb, relation, transaction, idx); BTR_reserve_slot(tdbb, relation, transaction, idx);
@ -208,9 +209,9 @@ void IDX_create_index(
key_length = ROUNDUP(BTR_key_length(relation, idx), sizeof(SLONG)); key_length = ROUNDUP(BTR_key_length(relation, idx), sizeof(SLONG));
if (key_length >= MAX_KEY) if (key_length >= MAX_KEY)
ERR_post(gds__no_meta_update, ERR_post(gds_no_meta_update,
gds_arg_gds, gds_arg_gds,
gds__keytoobig, gds_keytoobig,
gds_arg_string, gds_arg_string,
ERR_cstring(reinterpret_cast < char *>(index_name)), 0); ERR_cstring(reinterpret_cast < char *>(index_name)), 0);
#ifdef IGNORE_NULL_IDX_KEY #ifdef IGNORE_NULL_IDX_KEY
@ -334,10 +335,10 @@ void IDX_create_index(
ERR_duplicate_error(result, partner_relation, ERR_duplicate_error(result, partner_relation,
partner_index_id); partner_index_id);
else else
ERR_post(gds__no_dup, gds_arg_string, ERR_post(gds_no_dup, gds_arg_string,
ERR_cstring(reinterpret_cast < ERR_cstring(reinterpret_cast <
char *>(index_name)), gds_arg_gds, char *>(index_name)), gds_arg_gds,
gds__nullsegkey, 0); gds_nullsegkey, 0);
} }
#ifdef IGNORE_NULL_IDX_KEY #ifdef IGNORE_NULL_IDX_KEY
@ -382,7 +383,7 @@ void IDX_create_index(
gc_record->rec_flags &= ~REC_gc_active; gc_record->rec_flags &= ~REC_gc_active;
if (primary.rpb_window.win_flags & WIN_large_scan) if (primary.rpb_window.win_flags & WIN_large_scan)
--relation->rel_scan_count; --relation->rel_scan_count;
ERR_post(gds__no_dup, gds_arg_string, ERR_post(gds_no_dup, gds_arg_string,
ERR_cstring(reinterpret_cast < char *>(index_name)), ERR_cstring(reinterpret_cast < char *>(index_name)),
0); 0);
} }
@ -440,7 +441,7 @@ void IDX_create_index(
if ((idx->idx_flags & idx_unique) && ifl_data.ifl_duplicates) { if ((idx->idx_flags & idx_unique) && ifl_data.ifl_duplicates) {
SORT_fini(sort_handle, tdbb->tdbb_attachment); SORT_fini(sort_handle, tdbb->tdbb_attachment);
ERR_post(gds__no_dup, gds_arg_string, ERR_post(gds_no_dup, gds_arg_string,
ERR_cstring(reinterpret_cast < char *>(index_name)), 0); ERR_cstring(reinterpret_cast < char *>(index_name)), 0);
} }
@ -448,7 +449,7 @@ void IDX_create_index(
if ((idx->idx_flags & idx_unique) && ifl_data.ifl_duplicates) { if ((idx->idx_flags & idx_unique) && ifl_data.ifl_duplicates) {
SORT_fini(sort_handle, tdbb->tdbb_attachment); SORT_fini(sort_handle, tdbb->tdbb_attachment);
ERR_post(gds__no_dup, gds_arg_string, ERR_post(gds_no_dup, gds_arg_string,
ERR_cstring(reinterpret_cast < char *>(index_name)), 0); ERR_cstring(reinterpret_cast < char *>(index_name)), 0);
} }
} }
@ -494,7 +495,7 @@ IDB IDX_create_index_block(TDBB tdbb, REL relation, UCHAR id)
lock->lck_length = sizeof(lock->lck_key.lck_long); lock->lck_length = sizeof(lock->lck_key.lck_long);
lock->lck_type = LCK_expression; lock->lck_type = LCK_expression;
lock->lck_owner_handle = LCK_get_owner_handle(tdbb, lock->lck_type); lock->lck_owner_handle = LCK_get_owner_handle(tdbb, lock->lck_type);
lock->lck_ast = reinterpret_cast < int (*) () > (index_block_flush); lock->lck_ast = reinterpret_cast < lck_ast_t > (index_block_flush);
lock->lck_object = (BLK) index_block; lock->lck_object = (BLK) index_block;
return index_block; return index_block;

View File

@ -24,9 +24,10 @@
* readonly databases. * readonly databases.
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/tra.h" #include "../jrd/tra.h"
#include "../jrd/blb.h" #include "../jrd/blb.h"
#include "../jrd/req.h" #include "../jrd/req.h"
@ -1134,4 +1135,4 @@ static USHORT get_counts(USHORT count_id, UCHAR * buffer, USHORT length)
#endif #endif
} // extern "C" } // extern "C"

View File

@ -21,15 +21,16 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include "../jrd/flags.h" #include "../jrd/flags.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/val.h" #include "../jrd/val.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/ods.h" #include "../jrd/ods.h"
#include "../jrd/btr.h" #include "../jrd/btr.h"
#include "../jrd/ids.h" #include "gen/ids.h"
#include "../jrd/tra.h" #include "../jrd/tra.h"
#include "../jrd/trig.h" #include "../jrd/trig.h"
#include "../jrd/intl.h" #include "../jrd/intl.h"
@ -688,7 +689,9 @@ TRG* INI_lookup_sys_trigger(REL relation,
* *
**************************************/ **************************************/
trigger = (trigger) ? trigger + 1 : triggers; /* function should actually return (const TRIG*) */
const TRG* constTrigger = (trigger) ? trigger + 1 : triggers;
trigger = const_cast<TRG*>(constTrigger);
for (; trigger->trg_relation; trigger++) for (; trigger->trg_relation; trigger++)
{ {

View File

@ -80,12 +80,13 @@
* copyright (c) 1992, 1993 by Borland International * copyright (c) 1992, 1993 by Borland International
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/req.h" #include "../jrd/req.h"
#include "../jrd/val.h" #include "../jrd/val.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/intl.h" #include "../jrd/intl.h"
#include "../jrd/intlobj.h" #include "../jrd/intlobj.h"
#include "../jrd/ods.h" #include "../jrd/ods.h"
@ -410,14 +411,14 @@ CHARSET_ID src_type, BYTE * src_ptr, USHORT src_len, FPTR_VOID err)
if (!len || all_spaces(tdbb, src_type, src_ptr, len, 0)) if (!len || all_spaces(tdbb, src_type, src_ptr, len, 0))
return (dest_ptr - start_dest_ptr); return (dest_ptr - start_dest_ptr);
else else
reinterpret_cast < void (*) (...) > (*err) (gds__arith_except, 0); reinterpret_cast < void (*) (...) > (*err) (gds_arith_except, 0);
} }
else if (src_len == 0) else if (src_len == 0)
return (0); return (0);
else if (src_type == CS_BINARY) else if (src_type == CS_BINARY)
reinterpret_cast < void (*) (...) > (*err) (gds__arith_except, reinterpret_cast < void (*) (...) > (*err) (gds_arith_except,
gds_arg_gds, gds_arg_gds,
gds__transliteration_failed, gds_transliteration_failed,
0); 0);
else else
/* character sets are known to be different */ /* character sets are known to be different */
@ -435,12 +436,12 @@ CHARSET_ID src_type, BYTE * src_ptr, USHORT src_len, FPTR_VOID err)
&& all_spaces(tdbb, src_type, src_ptr, src_len, && all_spaces(tdbb, src_type, src_ptr, src_len,
err_position))) return (len); err_position))) return (len);
else if (err_code == CS_TRUNCATION_ERROR) else if (err_code == CS_TRUNCATION_ERROR)
reinterpret_cast < void (*) (...) > (*err) (gds__arith_except, reinterpret_cast < void (*) (...) > (*err) (gds_arith_except,
0); 0);
else else
reinterpret_cast < void (*) (...) > (*err) (gds__arith_except, reinterpret_cast < void (*) (...) > (*err) (gds_arith_except,
gds_arg_gds, gds_arg_gds,
gds__transliteration_failed, gds_transliteration_failed,
0); 0);
} }
@ -449,9 +450,9 @@ CHARSET_ID src_type, BYTE * src_ptr, USHORT src_len, FPTR_VOID err)
from_cs = INTL_CHARSETTYPE(src_type, (FPTR_VOID) NULL); from_cs = INTL_CHARSETTYPE(src_type, (FPTR_VOID) NULL);
if (from_cs == NULL) if (from_cs == NULL)
reinterpret_cast < void (*) (...) > (*err) (gds__arith_except, reinterpret_cast < void (*) (...) > (*err) (gds_arith_except,
gds_arg_gds, gds_arg_gds,
gds__text_subtype, gds_text_subtype,
gds_arg_number, gds_arg_number,
(SLONG) src_type, 0); (SLONG) src_type, 0);
@ -472,12 +473,12 @@ CHARSET_ID src_type, BYTE * src_ptr, USHORT src_len, FPTR_VOID err)
err_position))) { err_position))) {
gds__free((SLONG *) tmp_buffer); gds__free((SLONG *) tmp_buffer);
if (err_code == CS_TRUNCATION_ERROR) if (err_code == CS_TRUNCATION_ERROR)
reinterpret_cast < void (*) (...) > (*err) (gds__arith_except, reinterpret_cast < void (*) (...) > (*err) (gds_arith_except,
0); 0);
else else
reinterpret_cast < void (*) (...) > (*err) (gds__arith_except, reinterpret_cast < void (*) (...) > (*err) (gds_arith_except,
gds_arg_gds, gds_arg_gds,
gds__transliteration_failed, gds_transliteration_failed,
0); 0);
} }
@ -486,9 +487,9 @@ CHARSET_ID src_type, BYTE * src_ptr, USHORT src_len, FPTR_VOID err)
to_cs = INTL_CHARSETTYPE(dest_type, (FPTR_VOID) NULL); to_cs = INTL_CHARSETTYPE(dest_type, (FPTR_VOID) NULL);
if (to_cs == NULL) { if (to_cs == NULL) {
gds__free((SLONG *) tmp_buffer); gds__free((SLONG *) tmp_buffer);
reinterpret_cast < void (*) (...) > (*err) (gds__arith_except, reinterpret_cast < void (*) (...) > (*err) (gds_arith_except,
gds_arg_gds, gds_arg_gds,
gds__text_subtype, gds_text_subtype,
gds_arg_number, gds_arg_number,
(SLONG) dest_type, 0); (SLONG) dest_type, 0);
} }
@ -505,12 +506,12 @@ CHARSET_ID src_type, BYTE * src_ptr, USHORT src_len, FPTR_VOID err)
all_spaces(tdbb, CS_UNICODE101, tmp_buffer, len, err_position))) { all_spaces(tdbb, CS_UNICODE101, tmp_buffer, len, err_position))) {
gds__free((SLONG *) tmp_buffer); gds__free((SLONG *) tmp_buffer);
if (err_code == CS_TRUNCATION_ERROR) if (err_code == CS_TRUNCATION_ERROR)
reinterpret_cast < void (*) (...) > (*err) (gds__arith_except, reinterpret_cast < void (*) (...) > (*err) (gds_arith_except,
0); 0);
else else
reinterpret_cast < void (*) (...) > (*err) (gds__arith_except, reinterpret_cast < void (*) (...) > (*err) (gds_arith_except,
gds_arg_gds, gds_arg_gds,
gds__transliteration_failed, gds_transliteration_failed,
0); 0);
} }
@ -740,7 +741,7 @@ int DLL_EXPORT INTL_convert_string(DSC * to, DSC * from, FPTR_VOID err)
if (from_fill) if (from_fill)
/* Make sure remaining characters on From string are spaces */ /* Make sure remaining characters on From string are spaces */
if (!all_spaces(tdbb, from_cs, q, from_fill, 0)) if (!all_spaces(tdbb, from_cs, q, from_fill, 0))
reinterpret_cast < void (*) (...) > (*err) (gds__arith_except, 0); reinterpret_cast < void (*) (...) > (*err) (gds_arith_except, 0);
return 0; return 0;
} }
@ -2337,13 +2338,9 @@ static BOOLEAN obj_init(
/* The flu.c uses searchpath which expects a file name not a path */ /* The flu.c uses searchpath which expects a file name not a path */
strcpy(reinterpret_cast < char *>(path), INTL_MODULE1); strcpy(reinterpret_cast < char *>(path), INTL_MODULE1);
INTL_TRACE(("INTL: trying %s %s\n", path, INTL_LOOKUP_ENTRY1)); INTL_TRACE(("INTL: trying %s %s\n", path, INTL_LOOKUP_ENTRY1));
if (lookup_fn = if (lookup_fn = reinterpret_cast <USHORT(*)(USHORT, USHORT(**)(), short, short)>
reinterpret_cast < USHORT(*)(USHORT, USHORT(**)(), short, (ISC_lookup_entrypoint(reinterpret_cast < char *>(path), INTL_LOOKUP_ENTRY1, NULL))) {
short) INTL_TRACE(("INTL: calling lookup %s %s\n", path,
>(ISC_lookup_entrypoint
(reinterpret_cast < char *>(path), INTL_LOOKUP_ENTRY1, NULL))) {
INTL_TRACE(
("INTL: calling lookup %s %s\n", path,
INTL_LOOKUP_ENTRY1)); INTL_LOOKUP_ENTRY1));
if ((*lookup_fn) (objtype, &function, parm1, parm2) != 0) { if ((*lookup_fn) (objtype, &function, parm1, parm2) != 0) {
function = NULL; function = NULL;
@ -2434,11 +2431,11 @@ static BOOLEAN obj_init(
} }
} }
if (err != NULL) if (err != NULL)
reinterpret_cast < void (*) (...) > (*err) (gds__text_subtype, reinterpret_cast < void (*) (...) > (*err) (gds_text_subtype,
gds_arg_number, gds_arg_number,
(SLONG) parm1, 0); (SLONG) parm1, 0);
else if (status) else if (status)
IBERR_build_status(status, gds__text_subtype, gds_arg_number, IBERR_build_status(status, gds_text_subtype, gds_arg_number,
(SLONG) parm1, 0); (SLONG) parm1, 0);
return TRUE; return TRUE;

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/gds_proto.h" #include "../jrd/gds_proto.h"

View File

@ -24,9 +24,10 @@
* Solaris x86 changes - Konstantin Kuznetsov, Neil McCalden * Solaris x86 changes - Konstantin Kuznetsov, Neil McCalden
*/ */
/* /*
$Id: isc.cpp,v 1.2 2001-07-12 05:46:05 bellardo Exp $ $Id: isc.cpp,v 1.3 2001-07-29 17:42:22 skywalker Exp $
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
@ -34,7 +35,7 @@ $Id: isc.cpp,v 1.2 2001-07-12 05:46:05 bellardo Exp $
#include <ctype.h> #include <ctype.h>
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/isc.h" #include "../jrd/isc.h"
#include "../jrd/ibase.h" #include "../jrd/ibase.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
@ -137,7 +138,10 @@ static USHORT ast_count;
#include <lckdef.h> #include <lckdef.h>
#include "../jrd/lnmdef.h" #include "../jrd/lnmdef.h"
#include "../jrd/prv_m_bypass.h" #include "../jrd/prv_m_bypass.h"
#ifdef HAVE_SIGNAL_H
#include <signal.h> #include <signal.h>
#endif
#define LOGICAL_NAME_TABLE "LNM$FILE_DEV" #define LOGICAL_NAME_TABLE "LNM$FILE_DEV"
#define WAKE_LOCK "gds__process_%d" #define WAKE_LOCK "gds__process_%d"
@ -155,6 +159,7 @@ static LKSB wake_lock;
#include <sys/file.h> #include <sys/file.h>
#include <pwd.h> #include <pwd.h>
#include <unistd.h> #include <unistd.h>
#include <signal.h>
#ifndef O_RDWR #ifndef O_RDWR
#include <fcntl.h> #include <fcntl.h>
@ -1468,9 +1473,7 @@ SLONG ISC_get_user_group_id(TEXT * user_group_name)
* --- for UNIX platform --- * --- for UNIX platform ---
* *
**************************************/ **************************************/
#ifndef DARWIN
extern struct group *getgrnam();
#endif
struct group *user_group; struct group *user_group;
SLONG n; SLONG n;

View File

@ -23,8 +23,9 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <pwd.h> #include <pwd.h>

View File

@ -25,11 +25,12 @@
#define LOCAL_SHLIB_DEFS #define LOCAL_SHLIB_DEFS
#endif #endif
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/flu_proto.h" #include "../jrd/flu_proto.h"
#include "../jrd/gds_proto.h" #include "../jrd/gds_proto.h"

View File

@ -22,16 +22,17 @@
* Solaris x86 changes - Konstantin Kuznetsov, Neil McCalden * Solaris x86 changes - Konstantin Kuznetsov, Neil McCalden
*/ */
/* $Id: isc_ipc.cpp,v 1.2 2001-07-12 05:46:05 bellardo Exp $ */ /* $Id: isc_ipc.cpp,v 1.3 2001-07-29 17:42:22 skywalker Exp $ */
#ifdef SHLIB_DEFS #ifdef SHLIB_DEFS
#define LOCAL_SHLIB_DEFS #define LOCAL_SHLIB_DEFS
#endif #endif
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <stdlib.h> #include <stdlib.h>
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/isc.h" #include "../jrd/isc.h"
#include "../jrd/gds_proto.h" #include "../jrd/gds_proto.h"
#include "../jrd/isc_proto.h" #include "../jrd/isc_proto.h"
@ -47,7 +48,7 @@
#endif #endif
#endif #endif
#ifdef DARWIN #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#endif #endif
@ -791,11 +792,13 @@ static void isc_signal2(
vec.sv_handler = SIG_DFL; vec.sv_handler = SIG_DFL;
else else
#endif #endif
vec.sa_handler = (SIG_FPTR) signal_handler; #pragma FB_COMPILER_MESSAGE("Fix! Ugly function pointer casts!")
vec.sa_handler = (void(*)(int)) signal_handler;
// vec.sa_handler = (SIG_FPTR) signal_handler;
memset(&vec.sa_mask, 0, sizeof(vec.sa_mask)); memset(&vec.sa_mask, 0, sizeof(vec.sa_mask));
vec.sa_flags = SA_RESTART; vec.sa_flags = SA_RESTART;
sigaction(signal_number, &vec, &old_vec); sigaction(signal_number, &vec, &old_vec);
ptr = old_vec.sa_handler; ptr = (FPTR_VOID) old_vec.sa_handler;
#endif #endif
#endif #endif
#pragma FB_COMPILER_MESSAGE("Fix! Ugly function pointer casts!") #pragma FB_COMPILER_MESSAGE("Fix! Ugly function pointer casts!")
@ -983,7 +986,7 @@ static void error(STATUS * status_vector, TEXT * string, STATUS status)
**************************************/ **************************************/
*status_vector++ = gds_arg_gds; *status_vector++ = gds_arg_gds;
*status_vector++ = gds__sys_request; *status_vector++ = gds_sys_request;
*status_vector++ = gds_arg_string; *status_vector++ = gds_arg_string;
*status_vector++ = (STATUS) string; *status_vector++ = (STATUS) string;
*status_vector++ = SYS_ARG; *status_vector++ = SYS_ARG;

View File

@ -57,6 +57,9 @@ extern void ISC_wake_init(void);
#if defined(WIN_NT) #if defined(WIN_NT)
#define WIN32_REG_KEY_PATH "SOFTWARE\\Firebird\\DBServer"
#define WIN32_REG_KEY_PATH_CURRENT_VERSION "SOFTWARE\\Firebird\\DBServer\\CurrentVersion"
extern BOOLEAN ISC_is_WinNT(void); extern BOOLEAN ISC_is_WinNT(void);
extern SSHORT ISC_get_registry_var(TEXT *, TEXT *, SSHORT, void **); extern SSHORT ISC_get_registry_var(TEXT *, TEXT *, SSHORT, void **);
extern struct _SECURITY_ATTRIBUTES *ISC_get_security_desc(void); extern struct _SECURITY_ATTRIBUTES *ISC_get_security_desc(void);

View File

@ -29,6 +29,7 @@
#define LOCAL_SHLIB_DEFS #define LOCAL_SHLIB_DEFS
#endif #endif
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -46,7 +47,7 @@
#include "../jrd/time.h" #include "../jrd/time.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/isc.h" #include "../jrd/isc.h"
#include "../jrd/gds_proto.h" #include "../jrd/gds_proto.h"
#include "../jrd/isc_proto.h" #include "../jrd/isc_proto.h"
@ -2473,7 +2474,7 @@ UCHAR *ISC_map_file(STATUS * status_vector,
close(fd); close(fd);
close(fd_init); close(fd_init);
*status_vector++ = gds_arg_gds; *status_vector++ = gds_arg_gds;
*status_vector++ = gds__unavailable; *status_vector++ = gds_unavailable;
*status_vector++ = gds_arg_end; *status_vector++ = gds_arg_end;
return NULL; return NULL;
} }
@ -2868,7 +2869,7 @@ UCHAR *ISC_map_file(STATUS * status_vector,
next_shared_memory -= length; next_shared_memory -= length;
ib_fclose(fp); ib_fclose(fp);
*status_vector++ = gds_arg_gds; *status_vector++ = gds_arg_gds;
*status_vector++ = gds__unavailable; *status_vector++ = gds_unavailable;
*status_vector++ = gds_arg_end; *status_vector++ = gds_arg_end;
return NULL; return NULL;
} }
@ -3212,7 +3213,7 @@ UCHAR *ISC_map_file(STATUS * status_vector,
if (length == 0) { if (length == 0) {
ISC_mutex_unlock(SYNC_MUTEX); ISC_mutex_unlock(SYNC_MUTEX);
status_vector[0] = gds_arg_gds; status_vector[0] = gds_arg_gds;
status_vector[1] = gds__virmemexh; status_vector[1] = gds_virmemexh;
status_vector[2] = gds_arg_end; status_vector[2] = gds_arg_end;
return (NULL); return (NULL);
} }
@ -3223,7 +3224,7 @@ UCHAR *ISC_map_file(STATUS * status_vector,
/* FREE: ?by ISC_remap_file? */ /* FREE: ?by ISC_remap_file? */
if (!address) { /* NOMEM: */ if (!address) { /* NOMEM: */
status_vector[0] = gds_arg_gds; status_vector[0] = gds_arg_gds;
status_vector[1] = gds__virmemexh; status_vector[1] = gds_virmemexh;
status_vector[2] = gds_arg_end; status_vector[2] = gds_arg_end;
ISC_mutex_unlock(SYNC_MUTEX); ISC_mutex_unlock(SYNC_MUTEX);
return (NULL); return (NULL);
@ -3236,7 +3237,7 @@ UCHAR *ISC_map_file(STATUS * status_vector,
if (!semaphores) { /* NOMEM: */ if (!semaphores) { /* NOMEM: */
gds__free(address); gds__free(address);
status_vector[0] = gds_arg_gds; status_vector[0] = gds_arg_gds;
status_vector[1] = gds__virmemexh; status_vector[1] = gds_virmemexh;
status_vector[2] = gds_arg_end; status_vector[2] = gds_arg_end;
ISC_mutex_unlock(SYNC_MUTEX); ISC_mutex_unlock(SYNC_MUTEX);
return (NULL); return (NULL);
@ -3254,7 +3255,7 @@ UCHAR *ISC_map_file(STATUS * status_vector,
if (semaphores) if (semaphores)
gds__free(semaphores); gds__free(semaphores);
status_vector[0] = gds_arg_gds; status_vector[0] = gds_arg_gds;
status_vector[1] = gds__virmemexh; status_vector[1] = gds_virmemexh;
status_vector[2] = gds_arg_end; status_vector[2] = gds_arg_end;
ISC_mutex_unlock(SYNC_MUTEX); ISC_mutex_unlock(SYNC_MUTEX);
return (NULL); return (NULL);
@ -3304,7 +3305,7 @@ UCHAR *ISC_map_file(STATUS * status_vector,
**************************************/ **************************************/
*status_vector++ = gds_arg_gds; *status_vector++ = gds_arg_gds;
*status_vector++ = gds__unavailable; *status_vector++ = gds_unavailable;
*status_vector++ = gds_arg_end; *status_vector++ = gds_arg_end;
return NULL; return NULL;
@ -4134,7 +4135,7 @@ UCHAR *ISC_remap_file(STATUS * status_vector,
address = gds__alloc(new_length); address = gds__alloc(new_length);
if (!address) { /* NOMEM: */ if (!address) { /* NOMEM: */
status_vector[0] = gds_arg_gds; status_vector[0] = gds_arg_gds;
status_vector[1] = gds__virmemexh; status_vector[1] = gds_virmemexh;
status_vector[2] = gds_arg_end; status_vector[2] = gds_arg_end;
ISC_mutex_unlock(SYNC_MUTEX); ISC_mutex_unlock(SYNC_MUTEX);
return (NULL); return (NULL);
@ -4297,7 +4298,7 @@ UCHAR *DLL_EXPORT ISC_remap_file(STATUS * status_vector,
**************************************/ **************************************/
*status_vector++ = gds_arg_gds; *status_vector++ = gds_arg_gds;
*status_vector++ = gds__unavailable; *status_vector++ = gds_unavailable;
*status_vector++ = gds_arg_end; *status_vector++ = gds_arg_end;
return NULL; return NULL;
@ -4403,7 +4404,8 @@ void ISC_set_timer(
internal_handler.sv_flags = SV_INTERRUPT; internal_handler.sv_flags = SV_INTERRUPT;
sigvector(SIGALRM, &internal_handler, (struct sigvec *) client_handler); sigvector(SIGALRM, &internal_handler, (struct sigvec *) client_handler);
#else #else
internal_handler.sa_handler = (SIG_FPTR) SIG_DFL; // internal_handler.sa_handler = (SIG_FPTR) SIG_DFL;
internal_handler.sa_handler = (void(*)(int)) SIG_DFL;
memset(&internal_handler.sa_mask, 0, sizeof(internal_handler.sa_mask)); memset(&internal_handler.sa_mask, 0, sizeof(internal_handler.sa_mask));
internal_handler.sa_flags = SA_RESTART; internal_handler.sa_flags = SA_RESTART;
sigaction(SIGALRM, &internal_handler, sigaction(SIGALRM, &internal_handler,
@ -4702,7 +4704,7 @@ void DLL_EXPORT ISC_unmap_file(
**************************************/ **************************************/
*status_vector++ = gds_arg_gds; *status_vector++ = gds_arg_gds;
*status_vector++ = gds__unavailable; *status_vector++ = gds_unavailable;
*status_vector++ = gds_arg_end; *status_vector++ = gds_arg_end;
} }
#endif #endif
@ -4759,7 +4761,7 @@ static void error(STATUS * status_vector, TEXT * string, STATUS status)
**************************************/ **************************************/
*status_vector++ = gds_arg_gds; *status_vector++ = gds_arg_gds;
*status_vector++ = gds__sys_request; *status_vector++ = gds_sys_request;
*status_vector++ = gds_arg_string; *status_vector++ = gds_arg_string;
*status_vector++ = (STATUS) string; *status_vector++ = (STATUS) string;
*status_vector++ = SYS_ARG; *status_vector++ = SYS_ARG;

View File

@ -25,6 +25,7 @@
#define LOCAL_SHLIB_DEFS #define LOCAL_SHLIB_DEFS
#endif #endif
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -34,7 +35,7 @@
#include "../jrd/time.h" #include "../jrd/time.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/isc.h" #include "../jrd/isc.h"
#include "../jrd/err_proto.h" #include "../jrd/err_proto.h"
#include "../jrd/gds_proto.h" #include "../jrd/gds_proto.h"

View File

@ -24,9 +24,10 @@
* Solaris x86 changes - Konstantin Kuznetsov, Neil McCalden * Solaris x86 changes - Konstantin Kuznetsov, Neil McCalden
*/ */
/* /*
$Id: isc_win32.cpp,v 1.1.1.1 2001-05-23 13:26:20 tamlin Exp $ $Id: isc_win32.cpp,v 1.2 2001-07-29 17:42:22 skywalker Exp $
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include <string.h> #include <string.h>
@ -34,7 +35,7 @@ $Id: isc_win32.cpp,v 1.1.1.1 2001-05-23 13:26:20 tamlin Exp $
#include <errno.h> #include <errno.h>
#include <windows.h> #include <windows.h>
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/isc.h" #include "../jrd/isc.h"
#include "../jrd/ibase.h" #include "../jrd/ibase.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
@ -152,7 +153,7 @@ SSHORT ISC_get_registry_var(TEXT* variable,
if (!user_hkey) if (!user_hkey)
{ {
LPCTSTR szKey = "SOFTWARE\\Borland\\InterBase\\CurrentVersion"; LPCTSTR szKey = WIN32_REG_KEY_PATH_CURRENT_VERSION;
const LONG ret = const LONG ret =
RegOpenKeyEx(HKEY_LOCAL_MACHINE, szKey, 0, KEY_QUERY_VALUE, &hkey); RegOpenKeyEx(HKEY_LOCAL_MACHINE, szKey, 0, KEY_QUERY_VALUE, &hkey);
if (ret != ERROR_SUCCESS) if (ret != ERROR_SUCCESS)

View File

@ -25,10 +25,11 @@
VMS style journaling. At the moment this is limited to VMS style journaling. At the moment this is limited to
VMS and MPE XL. */ VMS and MPE XL. */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/jrn.h" #include "../jrd/jrn.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#ifdef VMS #ifdef VMS
#include <file.h> #include <file.h>

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/common.h" #include "../jrd/common.h"

View File

@ -28,6 +28,7 @@
#define LOCAL_SHLIB_DEFS #define LOCAL_SHLIB_DEFS
#endif #endif
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/ibsetjmp.h" #include "../jrd/ibsetjmp.h"
#include <string.h> #include <string.h>
@ -41,7 +42,7 @@
#include <errno.h> #include <errno.h>
#define JRD_MAIN #define JRD_MAIN
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/irq.h" #include "../jrd/irq.h"
#include "../jrd/isc.h" #include "../jrd/isc.h"
@ -711,7 +712,9 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
ERR_post(gds_no_priv, ERR_post(gds_no_priv,
gds_arg_string, "encryption", gds_arg_string, "encryption",
gds_arg_string, "database", gds_arg_string, "database",
gds_arg_string, ERR_string(file_name, fl), 0); gds_arg_string,
ERR_string(reinterpret_cast< char *>(file_name), fl),
0);
} }
else if (options.dpb_key) else if (options.dpb_key)
dbb->dbb_encrypt_key = dbb->dbb_encrypt_key =
@ -781,14 +784,12 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
PAG_header(file_name, fl); PAG_header(file_name, fl);
INI_init2(); INI_init2();
PAG_init(); PAG_init();
if (options.dpb_set_page_buffers) if (options.dpb_set_page_buffers) {
{
dbb->dbb_page_buffers = options.dpb_page_buffers; dbb->dbb_page_buffers = options.dpb_page_buffers;
} }
CCH_init(tdbb, (ULONG) options.dpb_buffers); CCH_init(tdbb, (ULONG) options.dpb_buffers);
PAG_init2(0); PAG_init2(0);
if (options.dpb_disable_wal) if (options.dpb_disable_wal) {
{
/* Forcibly disable WAL before the next step. /* Forcibly disable WAL before the next step.
We have an exclusive access to the database. */ We have an exclusive access to the database. */
AIL_drop_log_force(); AIL_drop_log_force();
@ -825,14 +826,14 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
if (dbb->dbb_flags & DBB_read_only) if (dbb->dbb_flags & DBB_read_only)
attachment->att_flags |= ATT_no_cleanup; attachment->att_flags |= ATT_no_cleanup;
if (options.dpb_disable_wal) if (options.dpb_disable_wal) {
{
ERR_post(gds_lock_timeout, gds_arg_gds, gds_obj_in_use, ERR_post(gds_lock_timeout, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_string(file_name, fl), 0); gds_arg_string,
ERR_string(reinterpret_cast < char *>(file_name), fl),
0);
} }
if (options.dpb_buffers && !dbb->dbb_page_buffers) if (options.dpb_buffers && !dbb->dbb_page_buffers) {
{
CCH_expand(tdbb, (ULONG) options.dpb_buffers); CCH_expand(tdbb, (ULONG) options.dpb_buffers);
} }
@ -920,7 +921,7 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
cnt = 1; cnt = 1;
BOOLEAN delimited_done = FALSE; BOOLEAN delimited_done = FALSE;
TEXT end_quote = *p1; TEXT end_quote = *p1;
*p1++; p1++;
/* /*
** remove the delimited quotes and escape quote ** remove the delimited quotes and escape quote
** from ROLE name ** from ROLE name
@ -935,7 +936,7 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
if (*p1 && *p1 == end_quote if (*p1 && *p1 == end_quote
&& cnt < BUFFER_LENGTH128 - 1) && cnt < BUFFER_LENGTH128 - 1)
{ {
*p1++; /* skip the escape quote here */ p1++; /* skip the escape quote here */
} }
else else
{ {
@ -1019,7 +1020,9 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
ERR_post(gds_no_priv, ERR_post(gds_no_priv,
gds_arg_string, "shutdown or online", gds_arg_string, "shutdown or online",
gds_arg_string, "database", gds_arg_string, "database",
gds_arg_string, ERR_string(file_name, fl), 0); gds_arg_string,
ERR_string(reinterpret_cast < char *>(file_name), fl),
0);
} }
JRD_SS_MUTEX_LOCK; JRD_SS_MUTEX_LOCK;
V4_JRD_MUTEX_LOCK(dbb->dbb_mutexes + DBB_MUTX_init_fini); V4_JRD_MUTEX_LOCK(dbb->dbb_mutexes + DBB_MUTX_init_fini);
@ -1038,7 +1041,8 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
JRD_SS_MUTEX_LOCK; JRD_SS_MUTEX_LOCK;
V4_JRD_MUTEX_LOCK(dbb->dbb_mutexes + DBB_MUTX_init_fini); V4_JRD_MUTEX_LOCK(dbb->dbb_mutexes + DBB_MUTX_init_fini);
if (attachment->att_flags & ATT_shutdown) if (attachment->att_flags & ATT_shutdown)
ERR_post(gds_shutdown, gds_arg_string, ERR_string(file_name, fl), ERR_post(gds_shutdown, gds_arg_string,
ERR_string(reinterpret_cast < char *>(file_name), fl),
0); 0);
} }
#endif #endif
@ -1046,12 +1050,15 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
/* If database is shutdown then kick 'em out. */ /* If database is shutdown then kick 'em out. */
if (dbb->dbb_ast_flags & (DBB_shut_attach | DBB_shut_tran)) if (dbb->dbb_ast_flags & (DBB_shut_attach | DBB_shut_tran))
ERR_post(gds_shutinprog, gds_arg_string, ERR_string(file_name, fl), ERR_post(gds_shutinprog, gds_arg_string,
ERR_string(reinterpret_cast < char *>(file_name), fl),
0); 0);
if (dbb->dbb_ast_flags & DBB_shutdown && if (dbb->dbb_ast_flags & DBB_shutdown &&
!(attachment->att_user->usr_flags & (USR_locksmith | USR_owner))) !(attachment->att_user->usr_flags & (USR_locksmith | USR_owner)))
ERR_post(gds_shutdown, gds_arg_string, ERR_string(file_name, fl), 0); ERR_post(gds_shutdown, gds_arg_string,
ERR_string(reinterpret_cast < char *>(file_name), fl),
0);
if (options.dpb_disable) if (options.dpb_disable)
AIL_disable(); AIL_disable();
@ -1101,25 +1108,22 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
AIL_enable(journal_name, (USHORT) strlen(journal_name), AIL_enable(journal_name, (USHORT) strlen(journal_name),
data, d_len, (SSHORT) strlen(archive_name)); data, d_len, (SSHORT) strlen(archive_name));
} }
else else {
{
ERR_post(gds_bad_dpb_content, ERR_post(gds_bad_dpb_content,
gds_arg_gds, gds_cant_start_journal, gds_arg_gds, gds_cant_start_journal,
0); 0);
} }
if (options.dpb_wal_action) if (options.dpb_wal_action) {
{
/* Make sure WAL enabled before taking any WAL action. */ /* Make sure WAL enabled before taking any WAL action. */
if (!dbb->dbb_wal) if (!dbb->dbb_wal) {
{
ERR_post(gds_no_wal, 0); ERR_post(gds_no_wal, 0);
} }
if (!CCH_exclusive(tdbb, LCK_EX, WAIT_PERIOD)) if (!CCH_exclusive(tdbb, LCK_EX, WAIT_PERIOD)) {
{
ERR_post(gds_lock_timeout, gds_arg_gds, gds_obj_in_use, ERR_post(gds_lock_timeout, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_string(file_name, fl), 0); gds_arg_string,
ERR_string(reinterpret_cast < char *>(file_name), fl), 0);
} }
/* journal has to be disabled before dropping WAL */ /* journal has to be disabled before dropping WAL */
@ -1127,8 +1131,7 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
if (PAG_get_clump( HEADER_PAGE, if (PAG_get_clump( HEADER_PAGE,
HDR_journal_server, HDR_journal_server,
&jd_len, &jd_len,
reinterpret_cast<UCHAR*>(journal_dir))) reinterpret_cast<UCHAR*>(journal_dir))) {
{
AIL_disable(); AIL_disable();
} }
} }
@ -1143,13 +1146,11 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
if (((attachment->att_flags & ATT_gbak_attachment) || if (((attachment->att_flags & ATT_gbak_attachment) ||
(attachment->att_flags & ATT_gfix_attachment) || (attachment->att_flags & ATT_gfix_attachment) ||
(attachment->att_flags & ATT_gstat_attachment)) && (attachment->att_flags & ATT_gstat_attachment)) &&
!(attachment->att_user->usr_flags & (USR_locksmith | USR_owner))) !(attachment->att_user->usr_flags & (USR_locksmith | USR_owner))) {
{
ERR_post(isc_adm_task_denied, 0); ERR_post(isc_adm_task_denied, 0);
} }
if (options.dpb_online_dump) if (options.dpb_online_dump) {
{
CCH_release_exclusive(tdbb); CCH_release_exclusive(tdbb);
OLD_dump(expanded_filename, length_expanded, OLD_dump(expanded_filename, length_expanded,
@ -1162,55 +1163,49 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
} }
#ifdef REPLAY_OSRI_API_CALLS_SUBSYSTEM #ifdef REPLAY_OSRI_API_CALLS_SUBSYSTEM
if (options.dpb_log) if (options.dpb_log) {
{ if (first) {
if (first)
{
if (!CCH_exclusive(tdbb, LCK_EX, WAIT_PERIOD)) if (!CCH_exclusive(tdbb, LCK_EX, WAIT_PERIOD))
ERR_post(gds_lock_timeout, gds_arg_gds, gds_obj_in_use, ERR_post(gds_lock_timeout, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_string(file_name, fl), 0); gds_arg_string,
ERR_string(reinterpret_cast < char *>(file_name), fl),
0);
LOG_enable(options.dpb_log, strlen(options.dpb_log)); LOG_enable(options.dpb_log, strlen(options.dpb_log));
} }
else else {
{
ERR_post(gds_bad_dpb_content, gds_arg_gds, ERR_post(gds_bad_dpb_content, gds_arg_gds,
gds__cant_start_logging, 0); gds__cant_start_logging, 0);
} }
} }
#endif #endif
if (options.dpb_set_db_sql_dialect) if (options.dpb_set_db_sql_dialect) {
{
PAG_set_db_SQL_dialect(dbb, options.dpb_set_db_sql_dialect); PAG_set_db_SQL_dialect(dbb, options.dpb_set_db_sql_dialect);
} }
if (options.dpb_sweep_interval != -1) if (options.dpb_sweep_interval != -1) {
{
PAG_sweep_interval(options.dpb_sweep_interval); PAG_sweep_interval(options.dpb_sweep_interval);
dbb->dbb_sweep_interval = options.dpb_sweep_interval; dbb->dbb_sweep_interval = options.dpb_sweep_interval;
} }
if (options.dpb_set_force_write) if (options.dpb_set_force_write) {
{
PAG_set_force_write(dbb, options.dpb_force_write); PAG_set_force_write(dbb, options.dpb_force_write);
} }
if (options.dpb_set_no_reserve) if (options.dpb_set_no_reserve) {
{
PAG_set_no_reserve(dbb, options.dpb_no_reserve); PAG_set_no_reserve(dbb, options.dpb_no_reserve);
} }
if (options.dpb_set_page_buffers) if (options.dpb_set_page_buffers) {
{
PAG_set_page_buffers(options.dpb_page_buffers); PAG_set_page_buffers(options.dpb_page_buffers);
} }
if (options.dpb_set_db_readonly) if (options.dpb_set_db_readonly) {
{ if (!CCH_exclusive(tdbb, LCK_EX, WAIT_PERIOD)) {
if (!CCH_exclusive(tdbb, LCK_EX, WAIT_PERIOD))
{
ERR_post(gds_lock_timeout, gds_arg_gds, gds_obj_in_use, ERR_post(gds_lock_timeout, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_string(file_name, fl), 0); gds_arg_string,
ERR_string(reinterpret_cast < char *>(file_name), fl),
0);
} }
PAG_set_db_readonly(dbb, options.dpb_db_readonly); PAG_set_db_readonly(dbb, options.dpb_db_readonly);
@ -1230,22 +1225,17 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
CCH_release_exclusive(tdbb); CCH_release_exclusive(tdbb);
#ifdef GOVERNOR #ifdef GOVERNOR
if (!options.dpb_sec_attach) if (!options.dpb_sec_attach) {
{ if (JRD_max_users) {
if (JRD_max_users) if (num_attached < (JRD_max_users * ATTACHMENTS_PER_USER)) {
{
if (num_attached < (JRD_max_users * ATTACHMENTS_PER_USER))
{
num_attached++; num_attached++;
} }
else else {
{
ERR_post(isc_max_att_exceeded, 0); ERR_post(isc_max_att_exceeded, 0);
} }
} }
} }
else else {
{
attachment->att_flags |= ATT_security_db; attachment->att_flags |= ATT_security_db;
} }
#endif /* GOVERNOR */ #endif /* GOVERNOR */
@ -1254,19 +1244,16 @@ STATUS DLL_EXPORT GDS_ATTACH_DATABASE(STATUS* user_status,
/* if there was an error, the status vector is all set */ /* if there was an error, the status vector is all set */
if (options.dpb_sweep & gds_dpb_records) if (options.dpb_sweep & gds_dpb_records) {
{
JRD_SS_MUTEX_UNLOCK; JRD_SS_MUTEX_UNLOCK;
if (!(TRA_sweep(tdbb, 0))) if (!(TRA_sweep(tdbb, 0))) {
{
JRD_SS_MUTEX_LOCK; JRD_SS_MUTEX_LOCK;
ERR_punt(); ERR_punt();
} }
JRD_SS_MUTEX_LOCK; JRD_SS_MUTEX_LOCK;
} }
if (options.dpb_dbkey_scope) if (options.dpb_dbkey_scope) {
{
attachment->att_dbkey_trans = TRA_start(tdbb, 0, 0); attachment->att_dbkey_trans = TRA_start(tdbb, 0, 0);
} }
@ -1958,14 +1945,15 @@ STATUS DLL_EXPORT GDS_CREATE_DATABASE(STATUS* user_status,
VIO_init(tdbb); VIO_init(tdbb);
#endif #endif
if (options.dpb_set_db_readonly) if (options.dpb_set_db_readonly) {
{
if (!CCH_exclusive (tdbb, LCK_EX, WAIT_PERIOD)) if (!CCH_exclusive (tdbb, LCK_EX, WAIT_PERIOD))
ERR_post (gds__lock_timeout, gds_arg_gds, gds__obj_in_use, ERR_post (gds_lock_timeout, gds_arg_gds, gds_obj_in_use,
gds_arg_string, ERR_string (file_name, fl), 0); gds_arg_string,
ERR_string (reinterpret_cast < char *>(file_name), length),
0);
PAG_set_db_readonly (dbb, options.dpb_db_readonly); PAG_set_db_readonly (dbb, options.dpb_db_readonly);
} }
CCH_release_exclusive(tdbb); CCH_release_exclusive(tdbb);

View File

@ -25,6 +25,7 @@
#define LOCAL_SHLIB_DEFS #define LOCAL_SHLIB_DEFS
#endif #endif
#include "firebird.h"
#include "../jrd/time.h" #include "../jrd/time.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include <string.h> #include <string.h>
@ -73,7 +74,7 @@
#include <errno.h> #include <errno.h>
#endif #endif
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/ods.h" #include "../jrd/ods.h"
#include "../jrd/jrn.h" #include "../jrd/jrn.h"

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/kanji.h" #include "../jrd/kanji.h"

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include <os2.h> #include <os2.h>

View File

@ -21,10 +21,11 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/lck.h" #include "../jrd/lck.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/iberr.h" #include "../jrd/iberr.h"
#include "../jrd/all_proto.h" #include "../jrd/all_proto.h"
#include "../jrd/err_proto.h" #include "../jrd/err_proto.h"
@ -244,10 +245,10 @@ int LCK_convert(TDBB tdbb, LCK lock, USHORT level, SSHORT wait)
result = CONVERT(lock, level, wait); result = CONVERT(lock, level, wait);
if (!result) { if (!result) {
if (status[1] == gds__deadlock || if (status[1] == gds_deadlock ||
status[1] == gds__lock_conflict || status[1] == gds__lock_timeout) status[1] == gds_lock_conflict || status[1] == gds_lock_timeout)
return FALSE; return FALSE;
if (status[1] == gds__lockmanerr) if (status[1] == gds_lockmanerr)
dbb->dbb_flags |= DBB_bugcheck; dbb->dbb_flags |= DBB_bugcheck;
ERR_punt(); ERR_punt();
} }
@ -314,10 +315,10 @@ int LCK_convert_non_blocking(TDBB tdbb, LCK lock, USHORT level, SSHORT wait)
AST_ENABLE; AST_ENABLE;
if (!result) { if (!result) {
if (status[1] == gds__deadlock || if (status[1] == gds_deadlock ||
status[1] == gds__lock_conflict || status[1] == gds__lock_timeout) status[1] == gds_lock_conflict || status[1] == gds_lock_timeout)
return FALSE; return FALSE;
if (status[1] == gds__lockmanerr) if (status[1] == gds_lockmanerr)
dbb->dbb_flags |= DBB_bugcheck; dbb->dbb_flags |= DBB_bugcheck;
ERR_punt(); ERR_punt();
} }
@ -556,7 +557,7 @@ void LCK_init(TDBB tdbb, enum lck_owner_t owner_type)
if (LOCK_init(tdbb->tdbb_status_vector, TRUE, if (LOCK_init(tdbb->tdbb_status_vector, TRUE,
owner_id, owner_type, owner_handle_ptr)) { owner_id, owner_type, owner_handle_ptr)) {
if (tdbb->tdbb_status_vector[1] == gds__lockmanerr) if (tdbb->tdbb_status_vector[1] == gds_lockmanerr)
dbb->dbb_flags |= DBB_bugcheck; dbb->dbb_flags |= DBB_bugcheck;
ERR_punt(); ERR_punt();
} }
@ -591,12 +592,12 @@ int LCK_lock(TDBB tdbb, LCK lock, USHORT level, SSHORT wait)
assert(LCK_CHECK_LOCK(lock)); assert(LCK_CHECK_LOCK(lock));
if (!lock->lck_id) if (!lock->lck_id)
if (!wait || if (!wait ||
status[1] == gds__deadlock || status[1] == gds_deadlock ||
status[1] == gds__lock_conflict || status[1] == gds__lock_timeout) { status[1] == gds_lock_conflict || status[1] == gds_lock_timeout) {
return FALSE; return FALSE;
} }
else { else {
if (status[1] == gds__lockmanerr) if (status[1] == gds_lockmanerr)
dbb->dbb_flags |= DBB_bugcheck; dbb->dbb_flags |= DBB_bugcheck;
ERR_punt(); ERR_punt();
} }
@ -680,13 +681,13 @@ int LCK_lock_non_blocking(TDBB tdbb, LCK lock, USHORT level, SSHORT wait)
/* If lock was rejected, there's trouble */ /* If lock was rejected, there's trouble */
if (!lock->lck_id) if (!lock->lck_id)
if (status[1] == gds__deadlock || if (status[1] == gds_deadlock ||
status[1] == gds__lock_conflict || status[1] == gds_lock_conflict ||
status[1] == gds__lock_timeout) { status[1] == gds_lock_timeout) {
return FALSE; return FALSE;
} }
else { else {
if (status[1] == gds__lockmanerr) if (status[1] == gds_lockmanerr)
dbb->dbb_flags |= DBB_bugcheck; dbb->dbb_flags |= DBB_bugcheck;
ERR_punt(); ERR_punt();
} }
@ -938,7 +939,7 @@ static void bug_lck(TEXT * string)
sprintf(s, "Fatal lock interface error: %s", string); sprintf(s, "Fatal lock interface error: %s", string);
gds__log(s); gds__log(s);
ERR_post(gds__db_corrupt, gds_arg_string, string, 0); ERR_post(gds_db_corrupt, gds_arg_string, string, 0);
} }
@ -1549,7 +1550,7 @@ static BOOLEAN internal_enqueue(
do a wait on the other lock by setting some flag bit or some such */ do a wait on the other lock by setting some flag bit or some such */
status[0] = gds_arg_gds; status[0] = gds_arg_gds;
status[1] = gds__lock_conflict; status[1] = gds_lock_conflict;
status[2] = gds_arg_end; status[2] = gds_arg_end;
return FALSE; return FALSE;
} }

View File

@ -55,6 +55,12 @@ enum lck_owner_t {
LCK_OWNER_transaction /* A transaction is the owner of the lock */ LCK_OWNER_transaction /* A transaction is the owner of the lock */
}; };
/* Blocking AST routine type. I've added this one so that all the
reinterpret_cast messages casting functions to store in this struct
can use the same type. Obviously storage of function pointers wants
to be done in a nicer way in future so the types match. MOD 17-7-2001 */
typedef int (*lck_ast_t)();
typedef struct lck { typedef struct lck {
struct blk lck_header; struct blk lck_header;
@ -71,7 +77,7 @@ typedef struct lck {
struct blk *lck_compatible2; /* Sub-level for internal compatibility */ struct blk *lck_compatible2; /* Sub-level for internal compatibility */
struct att *lck_attachment; /* Attachment that owns lock */ struct att *lck_attachment; /* Attachment that owns lock */
struct btb *lck_blocked_threads; /* Threads blocked by lock */ struct btb *lck_blocked_threads; /* Threads blocked by lock */
int (*lck_ast)(void*); /* Blocking AST routine */ lck_ast_t lck_ast; /* Blocking AST routine */
SLONG lck_id; /* Lock id from lock manager */ SLONG lck_id; /* Lock id from lock manager */
SLONG lck_owner_handle; /* Lock owner handle from the lock manager's point of view */ SLONG lck_owner_handle; /* Lock owner handle from the lock manager's point of view */
USHORT lck_count; /* count of locks taken out by attachment */ USHORT lck_count; /* count of locks taken out by attachment */

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#ifdef UNIX #ifdef UNIX
#include <signal.h> #include <signal.h>

View File

@ -21,12 +21,13 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <errno.h> #include <errno.h>
#include <string.h> #include <string.h>
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/llio.h" #include "../jrd/llio.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/iberr_proto.h" #include "../jrd/iberr_proto.h"
#include "../jrd/llio_proto.h" #include "../jrd/llio_proto.h"

View File

@ -22,6 +22,7 @@
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
#include "../jrd/common.h" #include "../jrd/common.h"

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <windows.h> #include <windows.h>
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/thd.h" #include "../jrd/thd.h"

View File

@ -22,10 +22,11 @@
*/ */
#include "firebird.h"
#include ssdef #include ssdef
#include descrip #include descrip
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/gdsassert.h" #include "../jrd/gdsassert.h"
#include "../jrd/gds_proto.h" #include "../jrd/gds_proto.h"

View File

@ -29,6 +29,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/math.h" #include "../jrd/math.h"
double _export MATH_multiply(double f1, double f2) double _export MATH_multiply(double f1, double f2)

View File

@ -22,8 +22,9 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/mblr.h" #include "../jrd/mblr.h"
#include "../jrd/mblr_proto.h" #include "../jrd/mblr_proto.h"

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/common.h" #include "../jrd/common.h"

View File

@ -38,6 +38,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <assert.h> #include <assert.h>
#include "../jrd/mov.c" #include "../jrd/mov.c"

View File

@ -21,13 +21,14 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
/* /*
$Id: met.epp,v 1.1 2001-07-12 06:32:03 bellardo Exp $ $Id: met.epp,v 1.2 2001-07-29 17:42:22 skywalker Exp $
*/ */
#ifdef SHLIB_DEFS #ifdef SHLIB_DEFS
#define LOCAL_SHLIB_DEFS #define LOCAL_SHLIB_DEFS
#endif #endif
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
#include "../jrd/ibsetjmp.h" #include "../jrd/ibsetjmp.h"
@ -35,7 +36,7 @@ $Id: met.epp,v 1.1 2001-07-12 06:32:03 bellardo Exp $
#include <stdarg.h> #include <stdarg.h>
#include "../jrd/constants.h" #include "../jrd/constants.h"
#include "../include/jrd/gds.h" #include "../jrd/gds.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/val.h" #include "../jrd/val.h"
#include "../jrd/irq.h" #include "../jrd/irq.h"
@ -2075,9 +2076,9 @@ void MET_parse_sys_trigger(TDBB tdbb, REL relation)
**************************************/ **************************************/
DBB dbb; DBB dbb;
BLK* trigger; /* should really be "TRG**" */ BLK* trigger; /* should really be "TRG**" */
UCHAR* blr; const UCHAR* blr;
UCHAR type; UCHAR type;
TEXT* name; const TEXT* name;
VEC* ptr; VEC* ptr;
REQ request; REQ request;
PLB old_pool; PLB old_pool;
@ -2158,7 +2159,7 @@ void MET_parse_sys_trigger(TDBB tdbb, REL relation)
tdbb->tdbb_default = ALL_pool(); tdbb->tdbb_default = ALL_pool();
PAR_blr(tdbb, PAR_blr(tdbb,
relation, relation,
blr, const_cast<UCHAR*>(blr),
(CSB) NULL_PTR, (CSB) NULL_PTR,
(CSB*) NULL_PTR, (CSB*) NULL_PTR,
&request, &request,
@ -2167,7 +2168,7 @@ void MET_parse_sys_trigger(TDBB tdbb, REL relation)
tdbb->tdbb_default = old_pool; tdbb->tdbb_default = old_pool;
request->req_trg_name = name; request->req_trg_name = const_cast<TEXT*>(name);
request->req_flags |= req_sys_trigger; request->req_flags |= req_sys_trigger;
if (trig_flags & TRG_ignore_perm) if (trig_flags & TRG_ignore_perm)
@ -2377,7 +2378,7 @@ PRC MET_procedure(TDBB tdbb, int id, USHORT flags)
lock->lck_owner_handle = LCK_get_owner_handle(tdbb, lock->lck_type); lock->lck_owner_handle = LCK_get_owner_handle(tdbb, lock->lck_type);
lock->lck_object = (BLK) procedure; lock->lck_object = (BLK) procedure;
/* TMN: Beware - this is a hairy AND UGLY cast */ /* TMN: Beware - this is a hairy AND UGLY cast */
lock->lck_ast = (int (*)(void*)) blocking_ast_procedure; lock->lck_ast = reinterpret_cast<lck_ast_t>(blocking_ast_procedure);
LCK_lock(tdbb, procedure->prc_existence_lock, LCK_SR, TRUE); LCK_lock(tdbb, procedure->prc_existence_lock, LCK_SR, TRUE);
@ -2586,7 +2587,7 @@ REL MET_relation(TDBB tdbb, USHORT id)
lock->lck_owner_handle = LCK_get_owner_handle(tdbb, lock->lck_type); lock->lck_owner_handle = LCK_get_owner_handle(tdbb, lock->lck_type);
lock->lck_object = (BLK) relation; lock->lck_object = (BLK) relation;
/* TMN: Beware - this is a hairy AND UGLY cast */ /* TMN: Beware - this is a hairy AND UGLY cast */
lock->lck_ast = (int (*)(void*)) blocking_ast_relation; lock->lck_ast = reinterpret_cast<lck_ast_t>(blocking_ast_relation);
relation->rel_flags |= (REL_check_existence | REL_check_partners); relation->rel_flags |= (REL_check_existence | REL_check_partners);
return relation; return relation;

View File

@ -21,7 +21,8 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#ifdef NETWARE_386 #ifdef N
#include "firebird.h"ETWARE_386
#include <sys/stat.h> #include <sys/stat.h>
#include <errno.h> #include <errno.h>
#endif #endif
@ -68,15 +69,15 @@ SSHORT MISC_build_parameters_block(UCHAR * buffer, ...)
pop the arguments off the call stack and put pop the arguments off the call stack and put
them into the passed buffer */ them into the passed buffer */
while (arg_type = va_arg(ptr, SCHAR)) while (arg_type = va_arg(ptr, int))
switch (arg_type) { switch (arg_type) {
case dtype_byte: /* byte */ case dtype_byte: /* byte */
ch = va_arg(ptr, SCHAR); ch = (SCHAR) va_arg(ptr, int);
STUFF(p, ch); STUFF(p, ch);
break; break;
case dtype_short: /* short value */ case dtype_short: /* short value */
sh = va_arg(ptr, USHORT); sh = (USHORT) va_arg(ptr, int);
STUFF_SHORT(p, sh); STUFF_SHORT(p, sh);
break; break;
@ -91,7 +92,7 @@ SSHORT MISC_build_parameters_block(UCHAR * buffer, ...)
break; break;
case dtype_varying: /* short value followed by a value with that many bytes */ case dtype_varying: /* short value followed by a value with that many bytes */
sh = va_arg(ptr, USHORT); sh = (USHORT) va_arg(ptr, int);
STUFF_SHORT(p, sh); STUFF_SHORT(p, sh);
q = va_arg(ptr, UCHAR *); q = va_arg(ptr, UCHAR *);
STUFF_BYTES(p, q, sh); STUFF_BYTES(p, q, sh);

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/gdsassert.h" #include "../jrd/gdsassert.h"
#include "../jrd/time.h" #include "../jrd/time.h"
#include "../jrd/jrd.h" #include "../jrd/jrd.h"

View File

@ -1,55 +0,0 @@
/*
* 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/
*
* 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.
*
* Copyright (C) 2000 Inprise Corporation
* All Rights Reserved.
* Contributor(s): ______________________________________.
*/
/*
*
* File generated by codes.e - do not edit!
*
*/
/*
* MODULE: msg_facs.h
* DESCRIPTION: ISC message facilities
*
*/
/******************************/
/* ISC message facilities */
/******************************/
#ifndef __cplusplus
typedef
#endif
struct _facilities {
int fac_code;
char *facility;
};
static CONST struct _facilities facilities[] = {
0, "JRD ",
3, "GFIX ",
7, "DSQL ",
8, "DYN ",
12, "GBAK ",
18, "GSEC ",
19, "LICENSE ",
21, "GSTAT ",
0, NULL
};

View File

@ -1,715 +0,0 @@
/*
* 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/
*
* 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.
*
* Copyright (C) 2000 Inprise Corporation
* All Rights Reserved.
* Contributor(s): ______________________________________.
*/
/*
*
* File generated by codes.e - do not edit!
*
*/
"unassigned code",
"arithmetic exception, numeric overflow, or string truncation", /*1, arith_except */
"invalid database key", /*2, bad_dbkey */
"file %s is not a valid database", /*3, bad_db_format */
"invalid database handle (no active connection)", /*4, bad_db_handle */
"bad parameters on attach or create database", /*5, bad_dpb_content */
"unrecognized database parameter block", /*6, bad_dpb_form */
"invalid request handle", /*7, bad_req_handle */
"invalid BLOB handle", /*8, bad_segstr_handle */
"invalid BLOB ID", /*9, bad_segstr_id */
"invalid parameter in transaction parameter block", /*10, bad_tpb_content */
"invalid format for transaction parameter block", /*11, bad_tpb_form */
"invalid transaction handle (expecting explicit transaction start)", /*12, bad_trans_handle */
"internal gds software consistency check (%s)", /*13, bug_check */
"conversion error from string \"%s\"", /*14, convert_error */
"database file appears corrupt (%s)", /*15, db_corrupt */
"deadlock", /*16, deadlock */
"attempt to start more than %ld transactions", /*17, excess_trans */
"no match for first value expression", /*18, from_no_match */
"information type inappropriate for object specified", /*19, infinap */
"no information of this type available for object specified", /*20, infona */
"unknown information item", /*21, infunk */
"action cancelled by trigger (%ld) to preserve data integrity", /*22, integ_fail */
"invalid request BLR at offset %ld", /*23, invalid_blr */
"I/O error for file %.0s\"%s\"", /*24, io_error */
"lock conflict on no wait transaction", /*25, lock_conflict */
"corrupt system table", /*26, metadata_corrupt */
"validation error for column %s, value \"%s\"", /*27, not_valid */
"no current record for fetch operation", /*28, no_cur_rec */
"attempt to store duplicate value (visible to active transactions) in unique index \"%s\"", /*29, no_dup */
"program attempted to exit without finishing database", /*30, no_finish */
"unsuccessful metadata update", /*31, no_meta_update */
"no permission for %s access to %s %s", /*32, no_priv */
"transaction is not in limbo", /*33, no_recon */
"invalid database key", /*34, no_record */
"BLOB was not closed", /*35, no_segstr_close */
"metadata is obsolete", /*36, obsolete_metadata */
"cannot disconnect database with open transactions (%ld active)", /*37, open_trans */
"message length error (encountered %ld, expected %ld)", /*38, port_len */
"attempted update of read-only column", /*39, read_only_field */
"attempted update of read-only table", /*40, read_only_rel */
"attempted update during read-only transaction", /*41, read_only_trans */
"cannot update read-only view %s", /*42, read_only_view */
"no transaction for request", /*43, req_no_trans */
"request synchronization error", /*44, req_sync */
"request referenced an unavailable database", /*45, req_wrong_db */
"segment buffer length shorter than expected", /*46, segment */
"attempted retrieval of more segments than exist", /*47, segstr_eof */
"attempted invalid operation on a BLOB", /*48, segstr_no_op */
"attempted read of a new, open BLOB", /*49, segstr_no_read */
"attempted action on blob outside transaction", /*50, segstr_no_trans */
"attempted write to read-only BLOB", /*51, segstr_no_write */
"attempted reference to BLOB in unavailable database", /*52, segstr_wrong_db */
"operating system directive %s failed", /*53, sys_request */
"attempt to fetch past the last record in a record stream", /*54, stream_eof */
"unavailable database", /*55, unavailable */
"table %s was omitted from the transaction reserving list", /*56, unres_rel */
"request includes a DSRI extension not supported in this implementation", /*57, uns_ext */
"feature is not supported", /*58, wish_list */
"unsupported on-disk structure for file %s; found %ld, support %ld", /*59, wrong_ods */
"wrong number of arguments on call", /*60, wronumarg */
"Implementation limit exceeded", /*61, imp_exc */
"%s", /*62, random */
"unrecoverable conflict with limbo transaction %ld", /*63, fatal_conflict */
"internal error", /*64, badblk */
"internal error", /*65, invpoolcl */
"too many requests", /*66, nopoolids */
"internal error", /*67, relbadblk */
"block size exceeds implementation restriction", /*68, blktoobig */
"buffer exhausted", /*69, bufexh */
"BLR syntax error: expected %s at offset %ld, encountered %ld", /*70, syntaxerr */
"buffer in use", /*71, bufinuse */
"internal error", /*72, bdbincon */
"request in use", /*73, reqinuse */
"incompatible version of on-disk structure", /*74, badodsver */
"table %s is not defined", /*75, relnotdef */
"column %s is not defined in table %s", /*76, fldnotdef */
"internal error", /*77, dirtypage */
"internal error", /*78, waifortra */
"internal error", /*79, doubleloc */
"internal error", /*80, nodnotfnd */
"internal error", /*81, dupnodfnd */
"internal error", /*82, locnotmar */
"page %ld is of wrong type (expected %ld, found %ld)", /*83, badpagtyp */
"database corrupted", /*84, corrupt */
"checksum error on database page %ld", /*85, badpage */
"index is broken", /*86, badindex */
"database handle not zero", /*87, dbbnotzer */
"transaction handle not zero", /*88, tranotzer */
"transaction--request mismatch (synchronization error)", /*89, trareqmis */
"bad handle count", /*90, badhndcnt */
"wrong version of transaction parameter block", /*91, wrotpbver */
"unsupported BLR version (expected %ld, encountered %ld)", /*92, wroblrver */
"wrong version of database parameter block", /*93, wrodpbver */
"BLOB and array data types are not supported for %s operation", /*94, blobnotsup */
"database corrupted", /*95, badrelation */
"internal error", /*96, nodetach */
"internal error", /*97, notremote */
"transaction in limbo", /*98, trainlim */
"transaction not in limbo", /*99, notinlim */
"transaction outstanding", /*100, traoutsta */
"connection rejected by remote interface", /*101, connect_reject */
"internal error", /*102, dbfile */
"internal error", /*103, orphan */
"no lock manager available", /*104, no_lock_mgr */
"context already in use (BLR error)", /*105, ctxinuse */
"context not defined (BLR error)", /*106, ctxnotdef */
"data operation not supported", /*107, datnotsup */
"undefined message number", /*108, badmsgnum */
"bad parameter number", /*109, badparnum */
"unable to allocate memory from operating system", /*110, virmemexh */
"blocking signal has been received", /*111, blocking_signal */
"lock manager error", /*112, lockmanerr */
"communication error with journal \"%s\"", /*113, journerr */
"key size exceeds implementation restriction for index \"%s\"", /*114, keytoobig */
"null segment of UNIQUE KEY", /*115, nullsegkey */
"SQL error code = %ld", /*116, sqlerr */
"wrong DYN version", /*117, wrodynver */
"function %s is not defined", /*118, funnotdef */
"function %s could not be matched", /*119, funmismat */
"", /*120, bad_msg_vec */
"database detach completed with errors", /*121, bad_detach */
"database system cannot read argument %ld", /*122, noargacc_read */
"database system cannot write argument %ld", /*123, noargacc_write */
"operation not supported", /*124, read_only */
"%s extension error", /*125, ext_err */
"not updatable", /*126, non_updatable */
"no rollback performed", /*127, no_rollback */
"", /*128, bad_sec_info */
"", /*129, invalid_sec_info */
"%s", /*130, misc_interpreted */
"update conflicts with concurrent update", /*131, update_conflict */
"product %s is not licensed", /*132, unlicensed */
"object %s is in use", /*133, obj_in_use */
"filter not found to convert type %ld to type %ld", /*134, nofilter */
"cannot attach active shadow file", /*135, shadow_accessed */
"invalid slice description language at offset %ld", /*136, invalid_sdl */
"subscript out of bounds", /*137, out_of_bounds */
"column not array or invalid dimensions (expected %ld, encountered %ld)", /*138, invalid_dimension */
"record from transaction %ld is stuck in limbo", /*139, rec_in_limbo */
"a file in manual shadow %ld is unavailable", /*140, shadow_missing */
"secondary server attachments cannot validate databases", /*141, cant_validate */
"secondary server attachments cannot start journaling", /*142, cant_start_journal */
"generator %s is not defined", /*143, gennotdef */
"secondary server attachments cannot start logging", /*144, cant_start_logging */
"invalid BLOB type for operation", /*145, bad_segstr_type */
"violation of FOREIGN KEY constraint \"%s\" on table \"%s\"", /*146, foreign_key */
"minor version too high found %ld expected %ld", /*147, high_minor */
"transaction %ld is %s", /*148, tra_state */
"transaction marked invalid by I/O error", /*149, trans_invalid */
"cache buffer for page %ld invalid", /*150, buf_invalid */
"there is no index in table %s with id %d", /*151, indexnotdefined */
"Your user name and password are not defined. Ask your database administrator to set up an InterBase login.", /*152, login */
"invalid bookmark handle", /*153, invalid_bookmark */
"invalid lock level %d", /*154, bad_lock_level */
"lock on table %s conflicts with existing lock", /*155, relation_lock */
"requested record lock conflicts with existing lock", /*156, record_lock */
"maximum indexes per table (%d) exceeded", /*157, max_idx */
"enable journal for database before starting online dump", /*158, jrn_enable */
"online dump failure. Retry dump", /*159, old_failure */
"an online dump is already in progress", /*160, old_in_progress */
"no more disk/tape space. Cannot continue online dump", /*161, old_no_space */
"journaling allowed only if database has Write-ahead Log", /*162, no_wal_no_jrn */
"maximum number of online dump files that can be specified is 16", /*163, num_old_files */
"error in opening Write-ahead Log file during recovery", /*164, wal_file_open */
"invalid statement handle", /*165, bad_stmt_handle */
"Write-ahead log subsystem failure", /*166, wal_failure */
"WAL Writer error", /*167, walw_err */
"Log file header of %s too small", /*168, logh_small */
"Invalid version of log file %s", /*169, logh_inv_version */
"Log file %s not latest in the chain but open flag still set", /*170, logh_open_flag */
"Log file %s not closed properly; database recovery may be required", /*171, logh_open_flag2 */
"Database name in the log file %s is different", /*172, logh_diff_dbname */
"Unexpected end of log file %s at offset %ld", /*173, logf_unexpected_eof */
"Incomplete log record at offset %ld in log file %s", /*174, logr_incomplete */
"Log record header too small at offset %ld in log file %s", /*175, logr_header_small */
"Log block too small at offset %ld in log file %s", /*176, logb_small */
"Illegal attempt to attach to an uninitialized WAL segment for %s", /*177, wal_illegal_attach */
"Invalid WAL parameter block option %s", /*178, wal_invalid_wpb */
"Cannot roll over to the next log file %s", /*179, wal_err_rollover */
"database does not use Write-ahead Log", /*180, no_wal */
"cannot drop log file when journaling is enabled", /*181, drop_wal */
"reference to invalid stream number", /*182, stream_not_defined */
"WAL subsystem encountered error", /*183, wal_subsys_error */
"WAL subsystem corrupted", /*184, wal_subsys_corrupt */
"must specify archive file when enabling long term journal for databases with round-robin log files", /*185, no_archive */
"database %s shutdown in progress", /*186, shutinprog */
"refresh range number %ld already in use", /*187, range_in_use */
"refresh range number %ld not found", /*188, range_not_found */
"CHARACTER SET %s is not defined", /*189, charset_not_found */
"lock time-out on wait transaction", /*190, lock_timeout */
"procedure %s is not defined", /*191, prcnotdef */
"parameter mismatch for procedure %s", /*192, prcmismat */
"Database %s: WAL subsystem bug for pid %d\
%s", /*193, wal_bugcheck */
"Could not expand the WAL segment for database %s", /*194, wal_cant_expand */
"status code %s unknown", /*195, codnotdef */
"exception %s not defined", /*196, xcpnotdef */
"exception %d", /*197, except */
"restart shared cache manager", /*198, cache_restart */
"invalid lock handle", /*199, bad_lock_handle */
"long-term journaling already enabled", /*200, jrn_present */
"Unable to roll over; please see InterBase log.", /*201, wal_err_rollover2 */
"WAL I/O error. Please see InterBase log.", /*202, wal_err_logwrite */
"WAL writer - Journal server communication error. Please see InterBase log.", /*203, wal_err_jrn_comm */
"WAL buffers cannot be increased. Please see InterBase log.", /*204, wal_err_expansion */
"WAL setup error. Please see InterBase log.", /*205, wal_err_setup */
"WAL writer synchronization error for the database %s", /*206, wal_err_ww_sync */
"Cannot start WAL writer for the database %s", /*207, wal_err_ww_start */
"database %s shutdown", /*208, shutdown */
"cannot modify an existing user privilege", /*209, existing_priv_mod */
"Cannot delete PRIMARY KEY being used in FOREIGN KEY definition.", /*210, primary_key_ref */
"Column used in a PRIMARY/UNIQUE constraint must be NOT NULL.", /*211, primary_key_notnull */
"Name of Referential Constraint not defined in constraints table.", /*212, ref_cnstrnt_notfound */
"Non-existent PRIMARY or UNIQUE KEY specified for FOREIGN KEY.", /*213, foreign_key_notfound */
"Cannot update constraints (RDB$REF_CONSTRAINTS).", /*214, ref_cnstrnt_update */
"Cannot update constraints (RDB$CHECK_CONSTRAINTS).", /*215, check_cnstrnt_update */
"Cannot delete CHECK constraint entry (RDB$CHECK_CONSTRAINTS)", /*216, check_cnstrnt_del */
"Cannot delete index segment used by an Integrity Constraint", /*217, integ_index_seg_del */
"Cannot update index segment used by an Integrity Constraint", /*218, integ_index_seg_mod */
"Cannot delete index used by an Integrity Constraint", /*219, integ_index_del */
"Cannot modify index used by an Integrity Constraint", /*220, integ_index_mod */
"Cannot delete trigger used by a CHECK Constraint", /*221, check_trig_del */
"Cannot update trigger used by a CHECK Constraint", /*222, check_trig_update */
"Cannot delete column being used in an Integrity Constraint.", /*223, cnstrnt_fld_del */
"Cannot rename column being used in an Integrity Constraint.", /*224, cnstrnt_fld_rename */
"Cannot update constraints (RDB$RELATION_CONSTRAINTS).", /*225, rel_cnstrnt_update */
"Cannot define constraints on views", /*226, constaint_on_view */
"internal gds software consistency check (invalid RDB$CONSTRAINT_TYPE)", /*227, invld_cnstrnt_type */
"Attempt to define a second PRIMARY KEY for the same table", /*228, primary_key_exists */
"cannot modify or erase a system trigger", /*229, systrig_update */
"only the owner of a table may reassign ownership", /*230, not_rel_owner */
"could not find table/procedure for GRANT", /*231, grant_obj_notfound */
"could not find column for GRANT", /*232, grant_fld_notfound */
"user does not have GRANT privileges for operation", /*233, grant_nopriv */
"table/procedure has non-SQL security class defined", /*234, nonsql_security_rel */
"column has non-SQL security class defined", /*235, nonsql_security_fld */
"Write-ahead Log without shared cache configuration not allowed", /*236, wal_cache_err */
"database shutdown unsuccessful", /*237, shutfail */
"Operation violates CHECK constraint %s on view or table %s", /*238, check_constraint */
"invalid service handle", /*239, bad_svc_handle */
"database %s shutdown in %d seconds", /*240, shutwarn */
"wrong version of service parameter block", /*241, wrospbver */
"unrecognized service parameter block", /*242, bad_spb_form */
"service %s is not defined", /*243, svcnotdef */
"long-term journaling not enabled", /*244, no_jrn */
"Cannot transliterate character between character sets", /*245, transliteration_failed */
"WAL defined; Cache Manager must be started first", /*246, start_cm_for_wal */
"Overflow log specification required for round-robin log", /*247, wal_ovflow_log_required */
"Implementation of text subtype %d not located.", /*248, text_subtype */
"Dynamic SQL Error", /*249, dsql_error */
"Invalid command", /*250, dsql_command_err */
"Data type for constant unknown", /*251, dsql_constant_err */
"Cursor unknown", /*252, dsql_cursor_err */
"Data type unknown", /*253, dsql_datatype_err */
"Declared cursor already exists", /*254, dsql_decl_err */
"Cursor not updatable", /*255, dsql_cursor_update_err */
"Attempt to reopen an open cursor", /*256, dsql_cursor_open_err */
"Attempt to reclose a closed cursor", /*257, dsql_cursor_close_err */
"Column unknown", /*258, dsql_field_err */
"Internal error", /*259, dsql_internal_err */
"Table unknown", /*260, dsql_relation_err */
"Procedure unknown", /*261, dsql_procedure_err */
"Request unknown", /*262, dsql_request_err */
"SQLDA missing or incorrect version, or incorrect number/type of variables", /*263, dsql_sqlda_err */
"Count of columns does not equal count of values", /*264, dsql_var_count_err */
"Invalid statement handle", /*265, dsql_stmt_handle */
"Function unknown", /*266, dsql_function_err */
"Column is not a BLOB", /*267, dsql_blob_err */
"COLLATION %s is not defined", /*268, collation_not_found */
"COLLATION %s is not valid for specified CHARACTER SET", /*269, collation_not_for_charset */
"Option specified more than once", /*270, dsql_dup_option */
"Unknown transaction option", /*271, dsql_tran_err */
"Invalid array reference", /*272, dsql_invalid_array */
"Array declared with too many dimensions", /*273, dsql_max_arr_dim_exceeded */
"Illegal array dimension range", /*274, dsql_arr_range_error */
"Trigger unknown", /*275, dsql_trigger_err */
"Subselect illegal in this context", /*276, dsql_subselect_err */
"Cannot prepare a CREATE DATABASE/SCHEMA statement", /*277, dsql_crdb_prepare_err */
"must specify column name for view select expression", /*278, specify_field_err */
"number of columns does not match select list", /*279, num_field_err */
"Only simple column names permitted for VIEW WITH CHECK OPTION", /*280, col_name_err */
"No WHERE clause for VIEW WITH CHECK OPTION", /*281, where_err */
"Only one table allowed for VIEW WITH CHECK OPTION", /*282, table_view_err */
"DISTINCT, GROUP or HAVING not permitted for VIEW WITH CHECK OPTION", /*283, distinct_err */
"FOREIGN KEY column count does not match PRIMARY KEY", /*284, key_field_count_err */
"No subqueries permitted for VIEW WITH CHECK OPTION", /*285, subquery_err */
"expression evaluation not supported", /*286, expression_eval_err */
"gen.c: node not supported", /*287, node_err */
"Unexpected end of command", /*288, command_end_err */
"INDEX %s", /*289, index_name */
"EXCEPTION %s", /*290, exception_name */
"COLUMN %s", /*291, field_name */
"Token unknown", /*292, token_err */
"union not supported", /*293, union_err */
"Unsupported DSQL construct", /*294, dsql_construct_err */
"column used with aggregate", /*295, field_aggregate_err */
"invalid column reference", /*296, field_ref_err */
"invalid ORDER BY clause", /*297, order_by_err */
"Return mode by value not allowed for this data type", /*298, return_mode_err */
" External functions cannot have more than 10 parameters", /*299, extern_func_err */
"alias %s conflicts with an alias in the same statement", /*300, alias_conflict_err */
"alias %s conflicts with a procedure in the same statement", /*301, procedure_conflict_error */
"alias %s conflicts with a table in the same statement", /*302, relation_conflict_err */
"Illegal use of keyword VALUE", /*303, dsql_domain_err */
"segment count of 0 defined for index %s", /*304, idx_seg_err */
"A node name is not permitted in a secondary, shadow, cache or log file name", /*305, node_name_err */
"TABLE %s", /*306, table_name */
"PROCEDURE %s", /*307, proc_name */
"cannot create index %s", /*308, idx_create_err */
"Write-ahead Log with shadowing configuration not allowed", /*309, wal_shadow_err */
"there are %ld dependencies", /*310, dependency */
"too many keys defined for index %s", /*311, idx_key_err */
"Preceding file did not specify length, so %s must include starting page number", /*312, dsql_file_length_err */
"Shadow number must be a positive integer", /*313, dsql_shadow_number_err */
"Token unknown - line %ld, char %ld", /*314, dsql_token_unk_err */
"there is no alias or table named %s at this scope level", /*315, dsql_no_relation_alias */
"there is no index %s for table %s", /*316, indexname */
"table %s is not referenced in plan", /*317, no_stream_plan */
"table %s is referenced more than once in plan; use aliases to distinguish", /*318, stream_twice */
"table %s is referenced in the plan but not the from list", /*319, stream_not_found */
"Invalid use of CHARACTER SET or COLLATE", /*320, collation_requires_text */
"Specified domain or source column does not exist", /*321, dsql_domain_not_found */
"index %s cannot be used in the specified plan", /*322, index_unused */
"the table %s is referenced twice; use aliases to differentiate", /*323, dsql_self_join */
"illegal operation when at beginning of stream", /*324, stream_bof */
"the current position is on a crack", /*325, stream_crack */
"database or file exists", /*326, db_or_file_exists */
"invalid comparison operator for find operation", /*327, invalid_operator */
"Connection lost to pipe server", /*328, conn_lost */
"bad checksum", /*329, bad_checksum */
"wrong page type", /*330, page_type_err */
"Cannot insert because the file is readonly or is on a read only medium.", /*331, ext_readonly_err */
"multiple rows in singleton select", /*332, sing_select_err */
"cannot attach to password database", /*333, psw_attach */
"cannot start transaction for password database", /*334, psw_start_trans */
"invalid direction for find operation", /*335, invalid_direction */
"variable %s conflicts with parameter in same procedure", /*336, dsql_var_conflict */
"Array/BLOB/DATE data types not allowed in arithmetic", /*337, dsql_no_blob_array */
"%s is not a valid base table of the specified view", /*338, dsql_base_table */
"table %s is referenced twice in view; use an alias to distinguish", /*339, duplicate_base_table */
"view %s has more than one base table; use aliases to distinguish", /*340, view_alias */
"cannot add index, index root page is full.", /*341, index_root_page_full */
"BLOB SUB_TYPE %s is not defined", /*342, dsql_blob_type_unknown */
"Too many concurrent executions of the same request", /*343, req_max_clones_exceeded */
"duplicate specification of %s - not supported", /*344, dsql_duplicate_spec */
"violation of PRIMARY or UNIQUE KEY constraint \"%s\" on table \"%s\"", /*345, unique_key_violation */
"server version too old to support all CREATE DATABASE options", /*346, srvr_version_too_old */
"drop database completed with errors", /*347, drdb_completed_with_errs */
"procedure %s does not return any values", /*348, dsql_procedure_use_err */
"count of column list and variable list do not match", /*349, dsql_count_mismatch */
"attempt to index BLOB column in index %s", /*350, blob_idx_err */
"attempt to index array column in index %s", /*351, array_idx_err */
"too few key columns found for index %s (incorrect column name?)", /*352, key_field_err */
"cannot delete", /*353, no_delete */
"last column in a table cannot be deleted", /*354, del_last_field */
"sort error", /*355, sort_err */
"sort error: not enough memory", /*356, sort_mem_err */
"too many versions", /*357, version_err */
"invalid key position", /*358, inval_key_posn */
"segments not allowed in expression index %s", /*359, no_segments_err */
"sort error: corruption in data structure", /*360, crrp_data_err */
"new record size of %ld bytes is too big", /*361, rec_size_err */
"Inappropriate self-reference of column", /*362, dsql_field_ref */
"request depth exceeded. (Recursive definition?)", /*363, req_depth_exceeded */
"cannot access column %s in view %s", /*364, no_field_access */
"dbkey not available for multi-table views", /*365, no_dbkey */
"journal file wrong format", /*366, jrn_format_err */
"intermediate journal file full", /*367, jrn_file_full */
"The prepare statement identifies a prepare statement with an open cursor", /*368, dsql_open_cursor_request */
"InterBase error", /*369, ib_error */
"Cache redefined", /*370, cache_redef */
"Insufficient memory to allocate page buffer cache", /*371, cache_too_small */
"Log redefined", /*372, log_redef */
"Log size too small", /*373, log_too_small */
"Log partition size too small", /*374, partition_too_small */
"Partitions not supported in series of log file specification", /*375, partition_not_supp */
"Total length of a partitioned log must be specified", /*376, log_length_spec */
"Precision must be from 1 to 18", /*377, precision_err */
"Scale must be between zero and precision", /*378, scale_nogt */
"Short integer expected", /*379, expec_short */
"Long integer expected", /*380, expec_long */
"Unsigned short integer expected", /*381, expec_ushort */
"Invalid ESCAPE sequence", /*382, like_escape_invalid */
"service %s does not have an associated executable", /*383, svcnoexe */
"Failed to locate host machine.", /*384, net_lookup_err */
"Undefined service %s/%s.", /*385, service_unknown */
"The specified name was not found in the hosts file or Domain Name Services.", /*386, host_unknown */
"user does not have GRANT privileges on base table/view for operation", /*387, grant_nopriv_on_base */
"Ambiguous column reference.", /*388, dyn_fld_ambiguous */
"Invalid aggregate reference", /*389, dsql_agg_ref_err */
"navigational stream %ld references a view with more than one base table", /*390, complex_view */
"Attempt to execute an unprepared dynamic SQL statement.", /*391, unprepared_stmt */
"Positive value expected", /*392, expec_positive */
"Incorrect values within SQLDA structure", /*393, dsql_sqlda_value_err */
"invalid blob id", /*394, invalid_array_id */
"Operation not supported for EXTERNAL FILE table %s", /*395, extfile_uns_op */
"Service is currently busy: %s", /*396, svc_in_use */
"stack size insufficent to execute current request", /*397, err_stack_limit */
"Invalid key for find operation", /*398, invalid_key */
"Error initializing the network software.", /*399, net_init_error */
"Unable to load required library %s.", /*400, loadlib_failure */
"Unable to complete network request to host \"%s\".", /*401, network_error */
"Failed to establish a connection.", /*402, net_connect_err */
"Error while listening for an incoming connection.", /*403, net_connect_listen_err */
"Failed to establish a secondary connection for event processing.", /*404, net_event_connect_err */
"Error while listening for an incoming event connection request.", /*405, net_event_listen_err */
"Error reading data from the connection.", /*406, net_read_err */
"Error writing data to the connection.", /*407, net_write_err */
"Cannot deactivate index used by an Integrity Constraint", /*408, integ_index_deactivate */
"Cannot deactivate primary index", /*409, integ_deactivate_primary */
"Client/Server Express not supported in this release", /*410, cse_not_supported */
"", /*411, tra_must_sweep */
"Access to databases on file servers is not supported.", /*412, unsupported_network_drive */
"Error while trying to create file", /*413, io_create_err */
"Error while trying to open file", /*414, io_open_err */
"Error while trying to close file", /*415, io_close_err */
"Error while trying to read from file", /*416, io_read_err */
"Error while trying to write to file", /*417, io_write_err */
"Error while trying to delete file", /*418, io_delete_err */
"Error while trying to access file", /*419, io_access_err */
"A fatal exception occurred during the execution of a user defined function.", /*420, udf_exception */
"connection lost to database", /*421, lost_db_connection */
"User cannot write to RDB$USER_PRIVILEGES", /*422, no_write_user_priv */
"token size exceeds limit", /*423, token_too_long */
"Maximum user count exceeded. Contact your database administrator.", /*424, max_att_exceeded */
"Your login %s is same as one of the SQL role name. Ask your database administrator to set up a valid InterBase login.", /*425, login_same_as_role_name */
"\"REFERENCES table\" without \"(column)\" requires PRIMARY KEY on referenced table", /*426, reftable_requires_pk */
"The username entered is too long. Maximum length is 31 bytes.", /*427, usrname_too_long */
"The password specified is too long. Maximum length is 8 bytes.", /*428, password_too_long */
"A username is required for this operation.", /*429, usrname_required */
"A password is required for this operation", /*430, password_required */
"The network protocol specified is invalid", /*431, bad_protocol */
"A duplicate user name was found in the security database", /*432, dup_usrname_found */
"The user name specified was not found in the security database", /*433, usrname_not_found */
"An error occurred while attempting to add the user.", /*434, error_adding_sec_record */
"An error occurred while attempting to modify the user record.", /*435, error_modifying_sec_record */
"An error occurred while attempting to delete the user record.", /*436, error_deleting_sec_record */
"An error occurred while updating the security database.", /*437, error_updating_sec_db */
"sort record size of %ld bytes is too big", /*438, sort_rec_size_err */
"can not define a not null column with NULL as default value", /*439, bad_default_value */
"invalid clause --- '%s'", /*440, invalid_clause */
"too many open handles to database", /*441, too_many_handles */
"size of optimizer block exceeded", /*442, optimizer_blk_exc */
"a string constant is delimited by double quotes", /*443, invalid_string_constant */
"DATE must be changed to TIMESTAMP", /*444, transitional_date */
"attempted update on read-only database", /*445, read_only_database */
"SQL dialect %s is not supported in this database", /*446, must_be_dialect_2_and_up */
"A fatal exception occurred during the execution of a blob filter.", /*447, blob_filter_exception */
"Access violation. The code attempted to access a virtual address without privilege to do so.", /*448, exception_access_violation */
"Datatype misalignment. The attempted to read or write a value that was not stored on a memory boundary.", /*449, exception_datatype_missalignment */
"Array bounds exceeded. The code attempted to access an array element that is out of bounds.", /*450, exception_array_bounds_exceeded */
"Float denormal operand. One of the floating-point operands is too small to represent a standard float value.", /*451, exception_float_denormal_operand */
"Floating-point divide by zero. The code attempted to divide a floating-point value by zero.", /*452, exception_float_divide_by_zero */
"Floating-point inexact result. The result of a floating-point operation cannot be represented as a deciaml fraction.", /*453, exception_float_inexact_result */
"Floating-point invalid operand. An indeterminant error occurred during a floating-point operation.", /*454, exception_float_invalid_operand */
"Floating-point overflow. The exponent of a floating-point operation is greater than the magnitude allowed.", /*455, exception_float_overflow */
"Floating-point stack check. The stack overflowed or underflowed as the result of a floating-point operation.", /*456, exception_float_stack_check */
"Floating-point underflow. The exponent of a floating-point operation is less than the magnitude allowed.", /*457, exception_float_underflow */
"Integer divide by zero. The code attempted to divide an integer value by an integer divisor of zero.", /*458, exception_integer_divide_by_zero */
"Integer overflow. The result of an integer operation caused the most significant bit of the result to carry.", /*459, exception_integer_overflow */
"An exception occurred that does not have a description. Exception number %X.", /*460, exception_unknown */
"Stack overflow. The resource requirements of the runtime stack have exceeded the memory available to it.", /*461, exception_stack_overflow */
"Segmentation Fault. The code attempted to access memory without priviledges.", /*462, exception_sigsegv */
"Illegal Instruction. The Code attempted to perfrom an illegal operation.", /*463, exception_sigill */
"Bus Error. The Code caused a system bus error.", /*464, exception_sigbus */
"Floating Point Error. The Code caused an Arithmetic Exception or a floating point exception.", /*465, exception_sigfpe */
"Cannot delete rows from external files.", /*466, ext_file_delete */
"Cannot update rows in external files.", /*467, ext_file_modify */
"Unable to perform operation. You must be either SYSDBA or owner of the database", /*468, adm_task_denied */
"Specified EXTRACT part does not exist in input datatype", /*469, extract_input_mismatch */
"Service %s requires SYSDBA permissions. Reattach to the Service Manager using the SYSDBA account.", /*470, insufficient_svc_privileges */
"The file %s is currently in use by another process. Try again later.", /*471, file_in_use */
"Cannot attach to services manager", /*472, service_att_err */
"Metadata update statement is not allowed by the current database SQL dialect %d", /*473, ddl_not_allowed_by_db_sql_dial */
"operation was cancelled", /*474, cancelled */
"unexpected item in service parameter block, expected %s", /*475, unexp_spb_form */
"Client SQL dialect %d does not support reference to %s datatype", /*476, sql_dialect_datatype_unsupport */
"user name and password are required while attaching to the services manager", /*477, svcnouser */
"You created an indirect dependency on uncommitted metadata. You must roll back the current transaction.", /*478, depend_on_uncommitted_rel */
"The service name was not specified.", /*479, svc_name_missing */
"Too many Contexts of Relation/Procedure/Views. Maximum allowed is 127", /*480, too_many_contexts */
"data type not supported for arithmetic", /*481, datype_notsup */
"Database dialect being changed from 3 to 1", /*482, dialect_reset_warning */
"Database dialect not changed.", /*483, dialect_not_changed */
"Unable to create database %s", /*484, database_create_failed */
"Database dialect %d is not a valid dialect.", /*485, inv_dialect_specified */
"Valid database dialects are %s.", /*486, valid_db_dialects */
"SQL warning code = %ld", /*487, sqlwarn */
"DATE data type is now called TIMESTAMP", /*488, dtype_renamed */
"Function %s is in %s, which is not in a permitted directory for external functions.", /*489, extern_func_dir_error */
"value exceeds the range for valid dates", /*490, date_range_exceeded */
"passed client dialect %d is not a valid dialect.", /*491, inv_client_dialect_specified */
"Valid client dialects are %s.", /*492, valid_client_dialects */
"Unsupported field type specified in BETWEEN predicate.", /*493, optimizer_between_err */
"Services functionality will be supported in a later version of the product", /*494, service_not_supported */
"data base file name (%s) already given", /*495, gfix_db_name */
"invalid switch %s", /*496, gfix_invalid_sw */
"incompatible switch combination", /*497, gfix_incmp_sw */
"replay log pathname required", /*498, gfix_replay_req */
"number of page buffers for cache required", /*499, gfix_pgbuf_req */
"numeric value required", /*500, gfix_val_req */
"positive numeric value required", /*501, gfix_pval_req */
"number of transactions per sweep required", /*502, gfix_trn_req */
"\"full\" or \"reserve\" required", /*503, gfix_full_req */
"user name required", /*504, gfix_usrname_req */
"password required", /*505, gfix_pass_req */
"subsystem name", /*506, gfix_subs_name */
"\"wal\" required", /*507, gfix_wal_req */
"number of seconds required", /*508, gfix_sec_req */
"numeric value between 0 and 32767 inclusive required", /*509, gfix_nval_req */
"must specify type of shutdown", /*510, gfix_type_shut */
"please retry, specifying an option", /*511, gfix_retry */
"please retry, giving a database name", /*512, gfix_retry_db */
"internal block exceeds maximum size", /*513, gfix_exceed_max */
"corrupt pool", /*514, gfix_corrupt_pool */
"virtual memory exhausted", /*515, gfix_mem_exhausted */
"bad pool id", /*516, gfix_bad_pool */
"Transaction state %d not in valid range.", /*517, gfix_trn_not_valid */
"unexpected end of input", /*518, gfix_unexp_eoi */
"failed to reconnect to a transaction in database %s", /*519, gfix_recon_fail */
"Transaction description item unknown", /*520, gfix_trn_unknown */
"\"read_only\" or \"read_write\" required", /*521, gfix_mode_req */
" -sql_dialect set database dialect n", /*522, gfix_opt_SQL_dialect */
"Cannot SELECT RDB$DB_KEY from a stored procedure.", /*523, dsql_dbkey_from_non_table */
"Precision 10 to 18 changed from DOUBLE PRECISION in SQL dialect 1 to 64-bit scaled integer in SQL dialect 3", /*524, dsql_transitional_numeric */
"Use of %s expression that returns different results in dialect 1 and dialect 3", /*525, dsql_dialect_warning_expr */
"Database SQL dialect %d does not support reference to %s datatype", /*526, sql_db_dialect_dtype_unsupport */
"DB dialect %d and client dialect %d conflict with respect to numeric precision %d.", /*527, isc_sql_dialect_conflict_num */
"WARNING: Numeric literal %s is interpreted as a floating-point", /*528, dsql_warning_number_ambiguous */
"value in SQL dialect 1, but as an exact numeric value in SQL dialect 3.", /*529, dsql_warning_number_ambiguous1 */
"WARNING: NUMERIC and DECIMAL fields with precision 10 or greater are stored", /*530, dsql_warn_precision_ambiguous */
"as approximate floating-point values in SQL dialect 1, but as 64-bit", /*531, dsql_warn_precision_ambiguous1 */
"integers in SQL dialect 3.", /*532, dsql_warn_precision_ambiguous2 */
"SQL role %s does not exist", /*533, dyn_role_does_not_exist */
"user %s has no grant admin option on SQL role %s", /*534, dyn_no_grant_admin_opt */
"user %s is not a member of SQL role %s", /*535, dyn_user_not_role_member */
"%s is not the owner of SQL role %s", /*536, dyn_delete_role_failed */
"%s is a SQL role and not a user", /*537, dyn_grant_role_to_user */
"user name %s could not be used for SQL role", /*538, dyn_inv_sql_role_name */
"SQL role %s already exists", /*539, dyn_dup_sql_role */
"keyword %s can not be used as a SQL role name", /*540, dyn_kywd_spec_for_role */
"SQL roles are not supported in on older versions of the database. A backup and restore of the database is required.", /*541, dyn_roles_not_supported */
"Cannot rename domain %s to %s. A domain with that name already exists.", /*542, dyn_domain_name_exists */
"Cannot rename column %s to %s. A column with that name already exists in table %s.", /*543, dyn_field_name_exists */
"Column %s from table %s is referenced in %s", /*544, dyn_dependency_exists */
"Cannot change datatype for column %s. Changing datatype is not supported for BLOB or ARRAY columns.", /*545, dyn_dtype_invalid */
"New size specified for column %s must be at least %d characters.", /*546, dyn_char_fld_too_small */
"Cannot change datatype for %s. Conversion from base type %s to %s is not supported.", /*547, dyn_invalid_dtype_conversion */
"Cannot change datatype for column %s from a character type to a non-character type.", /*548, dyn_dtype_conv_invalid */
"found unknown switch", /*549, gbak_unknown_switch */
"page size parameter missing", /*550, gbak_page_size_missing */
"Page size specified (%ld) greater than limit (8192 bytes)", /*551, gbak_page_size_toobig */
"redirect location for output is not specified", /*552, gbak_redir_ouput_missing */
"conflicting switches for backup/restore", /*553, gbak_switches_conflict */
"device type %s not known", /*554, gbak_unknown_device */
"protection is not there yet", /*555, gbak_no_protection */
"page size is allowed only on restore or create", /*556, gbak_page_size_not_allowed */
"multiple sources or destinations specified", /*557, gbak_multi_source_dest */
"requires both input and output filenames", /*558, gbak_filename_missing */
"input and output have the same name. Disallowed.", /*559, gbak_dup_inout_names */
"expected page size, encountered \"%s\"", /*560, gbak_inv_page_size */
"REPLACE specified, but the first file %s is a database", /*561, gbak_db_specified */
"database %s already exists. To replace it, use the -R switch", /*562, gbak_db_exists */
"device type not specified", /*563, gbak_unk_device */
"gds_$blob_info failed", /*564, gbak_blob_info_failed */
"do not understand BLOB INFO item %ld", /*565, gbak_unk_blob_item */
"gds_$get_segment failed", /*566, gbak_get_seg_failed */
"gds_$close_blob failed", /*567, gbak_close_blob_failed */
"gds_$open_blob failed", /*568, gbak_open_blob_failed */
"Failed in put_blr_gen_id", /*569, gbak_put_blr_gen_id_failed */
"data type %ld not understood", /*570, gbak_unk_type */
"gds_$compile_request failed", /*571, gbak_comp_req_failed */
"gds_$start_request failed", /*572, gbak_start_req_failed */
" gds_$receive failed", /*573, gbak_rec_failed */
"gds_$release_request failed", /*574, gbak_rel_req_failed */
" gds_$database_info failed", /*575, gbak_db_info_failed */
"Expected database description record", /*576, gbak_no_db_desc */
"failed to create database %s", /*577, gbak_db_create_failed */
"RESTORE: decompression length error", /*578, gbak_decomp_len_error */
"cannot find table %s", /*579, gbak_tbl_missing */
"Cannot find column for BLOB", /*580, gbak_blob_col_missing */
"gds_$create_blob failed", /*581, gbak_create_blob_failed */
"gds_$put_segment failed", /*582, gbak_put_seg_failed */
"expected record length", /*583, gbak_rec_len_exp */
"wrong length record, expected %ld encountered %ld", /*584, gbak_inv_rec_len */
"expected data attribute", /*585, gbak_exp_data_type */
"Failed in store_blr_gen_id", /*586, gbak_gen_id_failed */
"do not recognize record type %ld", /*587, gbak_unk_rec_type */
"Expected backup version 1, 2, or 3. Found %ld", /*588, gbak_inv_bkup_ver */
"expected backup description record", /*589, gbak_missing_bkup_desc */
"string truncated", /*590, gbak_string_trunc */
" warning -- record could not be restored", /*591, gbak_cant_rest_record */
"gds_$send failed", /*592, gbak_send_failed */
"no table name for data", /*593, gbak_no_tbl_name */
"unexpected end of file on backup file", /*594, gbak_unexp_eof */
"database format %ld is too old to restore to", /*595, gbak_db_format_too_old */
"array dimension for column %s is invalid", /*596, gbak_inv_array_dim */
"Expected XDR record length", /*597, gbak_xdr_len_expected */
"cannot open backup file %s", /*598, gbak_open_bkup_error */
"cannot open status and error output file %s", /*599, gbak_open_error */
"blocking factor parameter missing", /*600, gbak_missing_block_fac */
"expected blocking factor, encountered \"%s\"", /*601, gbak_inv_block_fac */
"a blocking factor may not be used in conjunction with device CT", /*602, gbak_block_fac_specified */
"user name parameter missing", /*603, gbak_missing_username */
"password parameter missing", /*604, gbak_missing_password */
" missing parameter for the number of bytes to be skipped", /*605, gbak_missing_skipped_bytes */
"expected number of bytes to be skipped, encountered \"%s\"", /*606, gbak_inv_skipped_bytes */
"Bad attribute for RDB$CHARACTER_SETS", /*607, gbak_err_restore_charset */
"Bad attribute for RDB$COLLATIONS", /*608, gbak_err_restore_collation */
"Unexpected I/O error while reading from backup file", /*609, gbak_read_error */
"Unexpected I/O error while writing to backup file", /*610, gbak_write_error */
"could not drop database %s (database might be in use)", /*611, gbak_db_in_use */
"System memory exhausted", /*612, gbak_sysmemex */
"Bad attributes for restoring SQL role", /*613, gbak_restore_role_failed */
"SQL role parameter missing", /*614, gbak_role_op_missing */
"page buffers parameter missing", /*615, gbak_page_buffers_missing */
"expected page buffers, encountered \"%s\"", /*616, gbak_page_buffers_wrong_param */
"page buffers is allowed only on restore or create", /*617, gbak_page_buffers_restore */
"size specification either missing or incorrect for file %s", /*618, gbak_inv_size */
"file %s out of sequence", /*619, gbak_file_outof_sequence */
"can't join -- one of the files missing", /*620, gbak_join_file_missing */
" standard input is not supported when using join operation", /*621, gbak_stdin_not_supptd */
"standard output is not supported when using split operation", /*622, gbak_stdout_not_supptd */
"backup file %s might be corrupt", /*623, gbak_bkup_corrupt */
"database file specification missing", /*624, gbak_unk_db_file_spec */
"can't write a header record to file %s", /*625, gbak_hdr_write_failed */
"free disk space exhausted", /*626, gbak_disk_space_ex */
"file size given (%d) is less than minimum allowed (%d)", /*627, gbak_size_lt_min */
"service name parameter missing", /*628, gbak_svc_name_missing */
"Cannot restore over current database, must be SYSDBA or owner of the existing database.", /*629, gbak_not_ownr */
"\"read_only\" or \"read_write\" required", /*630, gbak_mode_req */
"unable to open database", /*631, gsec_cant_open_db */
"error in switch specifications", /*632, gsec_switches_error */
"no operation specified", /*633, gsec_no_op_spec */
"no user name specified", /*634, gsec_no_usr_name */
"add record error", /*635, gsec_err_add */
"modify record error", /*636, gsec_err_modify */
"find/modify record error", /*637, gsec_err_find_mod */
"record not found for user: %s", /*638, gsec_err_rec_not_found */
"delete record error", /*639, gsec_err_delete */
"find/delete record error", /*640, gsec_err_find_del */
"find/display record error", /*641, gsec_err_find_disp */
"invalid parameter, no switch defined", /*642, gsec_inv_param */
"operation already specified", /*643, gsec_op_specified */
"password already specified", /*644, gsec_pw_specified */
"uid already specified", /*645, gsec_uid_specified */
"gid already specified", /*646, gsec_gid_specified */
"project already specified", /*647, gsec_proj_specified */
"organization already specified", /*648, gsec_org_specified */
"first name already specified", /*649, gsec_fname_specified */
"middle name already specified", /*650, gsec_mname_specified */
"last name already specified", /*651, gsec_lname_specified */
"invalid switch specified", /*652, gsec_inv_switch */
"ambiguous switch specified", /*653, gsec_amb_switch */
"no operation specified for parameters", /*654, gsec_no_op_specified */
"no parameters allowed for this operation", /*655, gsec_params_not_allowed */
"incompatible switches specified", /*656, gsec_incompat_switch */
"Invalid user name (maximum 31 bytes allowed)", /*657, gsec_inv_username */
"Warning - maximum 8 significant bytes of password used", /*658, gsec_inv_pw_length */
"database already specified", /*659, gsec_db_specified */
"database administrator name already specified", /*660, gsec_db_admin_specified */
"database administrator password already specified", /*661, gsec_db_admin_pw_specified */
"SQL role name already specified", /*662, gsec_sql_role_specified */
"The license file does not exist or could not be opened for read", /*663, license_no_file */
"operation already specified", /*664, license_op_specified */
"no operation specified", /*665, license_op_missing */
"invalid switch", /*666, license_inv_switch */
"invalid switch combination", /*667, license_inv_switch_combo */
"illegal operation/switch combination", /*668, license_inv_op_combo */
"ambiguous switch", /*669, license_amb_switch */
"invalid parameter, no switch specified", /*670, license_inv_parameter */
"switch does not take any parameter", /*671, license_param_specified */
"switch requires a parameter", /*672, license_param_req */
"syntax error in command line", /*673, license_syntx_error */
"The certificate was not added. A duplicate ID exists in the license file.", /*674, license_dup_id */
"The certificate was not added. Invalid certificate ID / Key combination.", /*675, license_inv_id_key */
"The certificate was not removed. The key does not exist or corresponds to a temporary evaluation license.", /*676, license_err_remove */
"An error occurred updating the license file. Operation cancelled.", /*677, license_err_update */
"The certificate could not be validated based on the information given. Please recheck the ID and key information.", /*678, license_err_convert */
"Operation failed. An unknown error occurred.", /*679, license_err_unk */
"Add license operation failed, KEY: %s ID: %s", /*680, license_svc_err_add */
"Remove license operation failed, KEY: %s", /*681, license_svc_err_remove */
"The evaluation license has already been used on this server. You need to purchase a non-evaluation license.", /*682, license_eval_exists */
"found unknown switch", /*683, gstat_unknown_switch */
"please retry, giving a database name", /*684, gstat_retry */
"Wrong ODS version, expected %d, encountered %d", /*685, gstat_wrong_ods */
"Unexpected end of database file.", /*686, gstat_unexpected_eof */
"Can't open database file %s", /*687, gstat_open_err */
"Can't read a database page", /*688, gstat_read_err */
"System memory exhausted", /*689, gstat_sysmemex */

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include <string.h> #include <string.h>
#include "../jrd/jrd.h" #include "../jrd/jrd.h"
#include "../jrd/ods.h" #include "../jrd/ods.h"
@ -30,7 +31,7 @@
#include "../jrd/exe.h" #include "../jrd/exe.h"
#include "../jrd/sbm.h" #include "../jrd/sbm.h"
#include "../jrd/rse.h" #include "../jrd/rse.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../jrd/rng.h" #include "../jrd/rng.h"
#include "../jrd/lck.h" #include "../jrd/lck.h"
#include "../jrd/cch.h" #include "../jrd/cch.h"

View File

@ -19,6 +19,7 @@
* conditionals, as the engine now fully supports * conditionals, as the engine now fully supports
* readonly databases. * readonly databases.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <fcntl.h> #include <fcntl.h>
#include <errno.h> #include <errno.h>
@ -33,7 +34,7 @@
#include "../jrd/ods.h" #include "../jrd/ods.h"
#include "../jrd/lck.h" #include "../jrd/lck.h"
#include "../jrd/cch.h" #include "../jrd/cch.h"
#include "../jrd/codes.h" #include "gen/codes.h"
extern "C" { extern "C" {
@ -1256,4 +1257,4 @@ int expand_it(FIL fil, int blocks_to_expand, int starting_block)
} }
} // extern "C" } // extern "C"

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/common.h" #include "../jrd/common.h"
#include "../jrd/dbg_proto.h" #include "../jrd/dbg_proto.h"

View File

@ -21,6 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h"
#include "../jrd/ib_stdio.h" #include "../jrd/ib_stdio.h"
#include <string.h> #include <string.h>
#include "../jrd/common.h" #include "../jrd/common.h"
@ -31,7 +32,7 @@
#include "../jrd/jrn.h" #include "../jrd/jrn.h"
#include "../jrd/old.h" #include "../jrd/old.h"
#include "../jrd/llio.h" #include "../jrd/llio.h"
#include "../jrd/codes.h" #include "gen/codes.h"
#include "../wal/wal.h" #include "../wal/wal.h"
#include "../jrd/ail.h" #include "../jrd/ail.h"
#include "../jrd/all_proto.h" #include "../jrd/all_proto.h"
@ -120,7 +121,7 @@ ULONG start_seqno, USHORT start_file, USHORT num_files, SCHAR ** files)
journal_dir[jd_len] = 0; journal_dir[jd_len] = 0;
if (!jd_len) if (!jd_len)
ERR_post(gds__jrn_enable, 0); ERR_post(gds_jrn_enable, 0);
if ((ret_val = JRN_init(tdbb->tdbb_status_vector, if ((ret_val = JRN_init(tdbb->tdbb_status_vector,
&dbb->dbb_journal, &dbb->dbb_journal,
@ -172,7 +173,7 @@ ULONG start_seqno, USHORT start_file, USHORT num_files, SCHAR ** files)
start_seqno, start_file, start_seqno, start_file,
JRND_SIZE + dbb->dbb_page_size, seqno, offset, p_offset)) { JRND_SIZE + dbb->dbb_page_size, seqno, offset, p_offset)) {
old_fini(&OLD_handle, 0); old_fini(&OLD_handle, 0);
ERR_post(gds__old_failure, gds_arg_string, ERR_post(gds_old_failure, gds_arg_string,
"Online Dump Initialize failed", 0); "Online Dump Initialize failed", 0);
} }
@ -225,7 +226,7 @@ ULONG start_seqno, USHORT start_file, USHORT num_files, SCHAR ** files)
file_seqno = OLD_handle->old_file_seqno; file_seqno = OLD_handle->old_file_seqno;
block_seqno = OLD_handle->old_block->ob_cur_seqno; block_seqno = OLD_handle->old_block->ob_cur_seqno;
old_fini(&OLD_handle, OLD_EOF); old_fini(&OLD_handle, OLD_EOF);
ERR_post(gds__old_no_space, ERR_post(gds_old_no_space,
gds_arg_number, (SLONG) dump_id, gds_arg_number, (SLONG) dump_id,
gds_arg_number, (SLONG) last_page, gds_arg_number, (SLONG) last_page,
gds_arg_number, (SLONG) block_seqno, gds_arg_number, (SLONG) block_seqno,

Some files were not shown because too many files have changed in this diff Show More