mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 16:03:03 +01:00
Small corrections
This commit is contained in:
parent
5bef50b415
commit
59b235cea3
@ -44,7 +44,7 @@ Default analysis module.
|
|||||||
performance snapshot. Snapshot detail may vary, but in any case it contains
|
performance snapshot. Snapshot detail may vary, but in any case it contains
|
||||||
information on all activities performed by server for database during a given
|
information on all activities performed by server for database during a given
|
||||||
period of time, possibly in aggregated form. All snapshots may be compared to
|
period of time, possibly in aggregated form. All snapshots may be compared to
|
||||||
allow quanititive measurements of performance improvements due to various
|
allow quantitative measurements of performance improvements due to various
|
||||||
optimization activities or changes in user applications and infrastucture.
|
optimization activities or changes in user applications and infrastucture.
|
||||||
|
|
||||||
Snapshot data is collected by trace module in raw form in a binary log file and
|
Snapshot data is collected by trace module in raw form in a binary log file and
|
||||||
|
@ -393,7 +393,7 @@ namespace Firebird {
|
|||||||
n *= 2;
|
n *= 2;
|
||||||
l = VSNPRINTF(baseAssign(n), n + 1, format, params);
|
l = VSNPRINTF(baseAssign(n), n + 1, format, params);
|
||||||
if (l > 16 * 1024) {
|
if (l > 16 * 1024) {
|
||||||
char *errLine = "String size overflow in .printf()";
|
const char *errLine = "String size overflow in .printf()";
|
||||||
memcpy(baseAssign(strlen(errLine)), errLine, strlen(errLine));
|
memcpy(baseAssign(strlen(errLine)), errLine, strlen(errLine));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
*
|
*
|
||||||
* $Id: ddl.cpp,v 1.91 2004-04-09 08:03:58 hvlad Exp $
|
* $Id: ddl.cpp,v 1.92 2004-04-10 00:25:05 robocop Exp $
|
||||||
* 2001.5.20 Claudio Valderrama: Stop null pointer that leads to a crash,
|
* 2001.5.20 Claudio Valderrama: Stop null pointer that leads to a crash,
|
||||||
* caused by incomplete yacc syntax that allows ALTER DOMAIN dom SET;
|
* caused by incomplete yacc syntax that allows ALTER DOMAIN dom SET;
|
||||||
*
|
*
|
||||||
@ -6123,10 +6123,11 @@ void dsql_req::end_blr()
|
|||||||
char* blr_base = req_blr_string->str_data + req_base_offset;
|
char* blr_base = req_blr_string->str_data + req_base_offset;
|
||||||
const ULONG length = (ULONG) (reinterpret_cast<char*>(req_blr) - blr_base) - 2;
|
const ULONG length = (ULONG) (reinterpret_cast<char*>(req_blr) - blr_base) - 2;
|
||||||
|
|
||||||
if (length > 0xFFFF)
|
if (length > 0xFFFF) {
|
||||||
/* TODO : need appropriate error message, like "too long BLR" */
|
// TODO : need appropriate error message, like "too long BLR"
|
||||||
ERRD_post(isc_invalid_blr, isc_arg_number, (SLONG) length,
|
ERRD_post(isc_invalid_blr, isc_arg_number, (SLONG) length,
|
||||||
0);
|
0);
|
||||||
|
}
|
||||||
|
|
||||||
*blr_base++ = (UCHAR) length;
|
*blr_base++ = (UCHAR) length;
|
||||||
*blr_base = (UCHAR) (length >> 8);
|
*blr_base = (UCHAR) (length >> 8);
|
||||||
|
@ -887,7 +887,7 @@ ISC_STATUS callback_execute_immediate( ISC_STATUS* status,
|
|||||||
THREAD_ENTER;
|
THREAD_ENTER;
|
||||||
|
|
||||||
// 3. Call execute... function
|
// 3. Call execute... function
|
||||||
ISC_STATUS rc = dsql8_execute_immediate_common(status,
|
const ISC_STATUS rc = dsql8_execute_immediate_common(status,
|
||||||
&why_db_handle, &why_trans_handle,
|
&why_db_handle, &why_trans_handle,
|
||||||
sql_operator.length(), sql_operator.c_str(),
|
sql_operator.length(), sql_operator.c_str(),
|
||||||
database->dbb_db_SQL_dialect,
|
database->dbb_db_SQL_dialect,
|
||||||
|
@ -882,7 +882,8 @@ dsql_udf* METD_get_function(dsql_req* request, const dsql_str* name)
|
|||||||
FRBRD *DB, *gds_trans;
|
FRBRD *DB, *gds_trans;
|
||||||
dsql_udf* userFunc;
|
dsql_udf* userFunc;
|
||||||
dsql_udf* temp;
|
dsql_udf* temp;
|
||||||
DSQL_NOD udf_param_node, *ptr;
|
dsql_nod* udf_param_node;
|
||||||
|
dsql_nod** ptr;
|
||||||
|
|
||||||
|
|
||||||
metd_rec_lock();
|
metd_rec_lock();
|
||||||
@ -1082,7 +1083,7 @@ dsql_udf* METD_get_function(dsql_req* request, const dsql_str* name)
|
|||||||
|
|
||||||
ptr = userFunc->udf_arguments->nod_arg + arg_count;
|
ptr = userFunc->udf_arguments->nod_arg + arg_count;
|
||||||
while (stack) {
|
while (stack) {
|
||||||
*--ptr = (DSQL_NOD) LLS_POP (&stack);
|
*--ptr = (dsql_nod*) LLS_POP (&stack);
|
||||||
// dimitr: adjust the UDF arguments for CSTRING
|
// dimitr: adjust the UDF arguments for CSTRING
|
||||||
if ((*ptr)->nod_desc.dsc_dtype == dtype_cstring)
|
if ((*ptr)->nod_desc.dsc_dtype == dtype_cstring)
|
||||||
(*ptr)->nod_desc.dsc_dtype = dtype_text;
|
(*ptr)->nod_desc.dsc_dtype = dtype_text;
|
||||||
@ -1172,7 +1173,7 @@ dsql_nod* METD_get_primary_key(dsql_req* request, const dsql_str* relation_name)
|
|||||||
list = MAKE_node(nod_list, (int) X.RDB$SEGMENT_COUNT);
|
list = MAKE_node(nod_list, (int) X.RDB$SEGMENT_COUNT);
|
||||||
dsql_str* field_name = MAKE_cstring(Y.RDB$FIELD_NAME);
|
dsql_str* field_name = MAKE_cstring(Y.RDB$FIELD_NAME);
|
||||||
dsql_nod* field_node = MAKE_node(nod_field_name, (int) e_fln_count);
|
dsql_nod* field_node = MAKE_node(nod_field_name, (int) e_fln_count);
|
||||||
field_node->nod_arg[e_fln_name] = (DSQL_NOD) field_name;
|
field_node->nod_arg[e_fln_name] = (dsql_nod*) field_name;
|
||||||
list->nod_arg[count] = field_node;
|
list->nod_arg[count] = field_node;
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
|
@ -393,7 +393,7 @@ const int DEF_CACHE_BUFFERS = 1000;
|
|||||||
#define YYINITDEPTH 2048
|
#define YYINITDEPTH 2048
|
||||||
#define YYSTACK_USE_ALLOCA 1
|
#define YYSTACK_USE_ALLOCA 1
|
||||||
|
|
||||||
#define YYSTYPE DSQL_NOD
|
#define YYSTYPE dsql_nod*
|
||||||
#if defined(DEBUG) || defined(DEV_BUILD)
|
#if defined(DEBUG) || defined(DEV_BUILD)
|
||||||
#define YYDEBUG 1
|
#define YYDEBUG 1
|
||||||
#endif
|
#endif
|
||||||
@ -424,7 +424,7 @@ static bool long_int(dsql_nod*, SLONG*);
|
|||||||
#endif
|
#endif
|
||||||
static dsql_fld* make_field (dsql_nod*);
|
static dsql_fld* make_field (dsql_nod*);
|
||||||
static dsql_fil* make_file();
|
static dsql_fil* make_file();
|
||||||
static DSQL_NOD make_list (dsql_nod*);
|
static dsql_nod* make_list (dsql_nod*);
|
||||||
static dsql_nod* make_node (NOD_TYPE, int, ...);
|
static dsql_nod* make_node (NOD_TYPE, int, ...);
|
||||||
static dsql_nod* make_parameter (void);
|
static dsql_nod* make_parameter (void);
|
||||||
static dsql_nod* make_flag_node (NOD_TYPE, SSHORT, int, ...);
|
static dsql_nod* make_flag_node (NOD_TYPE, SSHORT, int, ...);
|
||||||
@ -4775,7 +4775,7 @@ case 262:
|
|||||||
{ yyval = yyvsp[0]; }
|
{ yyval = yyvsp[0]; }
|
||||||
break;
|
break;
|
||||||
case 263:
|
case 263:
|
||||||
{ yyval = (DSQL_NOD) NULL; }
|
{ yyval = (dsql_nod*) NULL; }
|
||||||
break;
|
break;
|
||||||
case 264:
|
case 264:
|
||||||
{ yyval = make_list (yyvsp[0]); }
|
{ yyval = make_list (yyvsp[0]); }
|
||||||
@ -7636,6 +7636,11 @@ int LexerState::yylex (
|
|||||||
gds__free (buffer);
|
gds__free (buffer);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
// Care about multi-line constants and identifiers
|
||||||
|
if (*ptr == '\n') {
|
||||||
|
lines++;
|
||||||
|
line_start = ptr + 1;
|
||||||
|
}
|
||||||
/* *ptr is quote - if next != quote we're at the end */
|
/* *ptr is quote - if next != quote we're at the end */
|
||||||
if ((*ptr == c) && ((++ptr == end) || (*ptr != c)))
|
if ((*ptr == c) && ((++ptr == end) || (*ptr != c)))
|
||||||
break;
|
break;
|
||||||
|
@ -121,7 +121,7 @@ const int DEF_CACHE_BUFFERS = 1000;
|
|||||||
#define YYINITDEPTH 2048
|
#define YYINITDEPTH 2048
|
||||||
#define YYSTACK_USE_ALLOCA 1
|
#define YYSTACK_USE_ALLOCA 1
|
||||||
|
|
||||||
#define YYSTYPE DSQL_NOD
|
#define YYSTYPE dsql_nod*
|
||||||
#if defined(DEBUG) || defined(DEV_BUILD)
|
#if defined(DEBUG) || defined(DEV_BUILD)
|
||||||
#define YYDEBUG 1
|
#define YYDEBUG 1
|
||||||
#endif
|
#endif
|
||||||
@ -152,7 +152,7 @@ static bool long_int(dsql_nod*, SLONG*);
|
|||||||
#endif
|
#endif
|
||||||
static dsql_fld* make_field (dsql_nod*);
|
static dsql_fld* make_field (dsql_nod*);
|
||||||
static dsql_fil* make_file();
|
static dsql_fil* make_file();
|
||||||
static DSQL_NOD make_list (dsql_nod*);
|
static dsql_nod* make_list (dsql_nod*);
|
||||||
static dsql_nod* make_node (NOD_TYPE, int, ...);
|
static dsql_nod* make_node (NOD_TYPE, int, ...);
|
||||||
static dsql_nod* make_parameter (void);
|
static dsql_nod* make_parameter (void);
|
||||||
static dsql_nod* make_flag_node (NOD_TYPE, SSHORT, int, ...);
|
static dsql_nod* make_flag_node (NOD_TYPE, SSHORT, int, ...);
|
||||||
@ -1521,7 +1521,7 @@ default_par_opt : DEFAULT begin_string default_value
|
|||||||
| '=' begin_string default_value
|
| '=' begin_string default_value
|
||||||
{ $$ = $3; }
|
{ $$ = $3; }
|
||||||
| begin_string
|
| begin_string
|
||||||
{ $$ = (DSQL_NOD) NULL; }
|
{ $$ = (dsql_nod*) NULL; }
|
||||||
;
|
;
|
||||||
|
|
||||||
local_declaration_list : local_declarations
|
local_declaration_list : local_declarations
|
||||||
@ -4789,7 +4789,7 @@ int LexerState::yylex (
|
|||||||
// Care about multi-line constants and identifiers
|
// Care about multi-line constants and identifiers
|
||||||
if (*ptr == '\n') {
|
if (*ptr == '\n') {
|
||||||
lines++;
|
lines++;
|
||||||
line_start = ptr+1;
|
line_start = ptr + 1;
|
||||||
}
|
}
|
||||||
/* *ptr is quote - if next != quote we're at the end */
|
/* *ptr is quote - if next != quote we're at the end */
|
||||||
if ((*ptr == c) && ((++ptr == end) || (*ptr != c)))
|
if ((*ptr == c) && ((++ptr == end) || (*ptr != c)))
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
//
|
//
|
||||||
// All Rights Reserved.
|
// All Rights Reserved.
|
||||||
// Contributor(s): ______________________________________.
|
// Contributor(s): ______________________________________.
|
||||||
// $Id: gpre.cpp,v 1.54 2004-03-12 07:00:22 skidder Exp $
|
// $Id: gpre.cpp,v 1.55 2004-04-10 00:25:12 robocop Exp $
|
||||||
// Revision 1.2 2000/11/16 15:54:29 fsg
|
// Revision 1.2 2000/11/16 15:54:29 fsg
|
||||||
// Added new switch -verbose to gpre that will dump
|
// Added new switch -verbose to gpre that will dump
|
||||||
// parsed lines to stderr
|
// parsed lines to stderr
|
||||||
@ -2462,9 +2462,22 @@ static void pass2( SLONG start_position)
|
|||||||
if ((sw_language == lang_ada) && (ada_flags & ADA_create_database))
|
if ((sw_language == lang_ada) && (ada_flags & ADA_create_database))
|
||||||
ib_fprintf(out_file, "with unchecked_conversion;\nwith system;\n");
|
ib_fprintf(out_file, "with unchecked_conversion;\nwith system;\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Let's prepare for worst case: a lot of small dirs, many "\" to duplicate.
|
||||||
|
char backlash_fixed_file_name[MAXPATHLEN + MAXPATHLEN];
|
||||||
|
{ // scope
|
||||||
|
char* p = backlash_fixed_file_name;
|
||||||
|
for (const char* q = file_name; *q;)
|
||||||
|
{
|
||||||
|
if ((*p++ = *q++) == '\\')
|
||||||
|
*p++ = '\\';
|
||||||
|
}
|
||||||
|
*p = 0;
|
||||||
|
} // scope
|
||||||
|
|
||||||
//
|
//
|
||||||
//if (sw_lines)
|
//if (sw_lines)
|
||||||
// ib_fprintf (out_file, "#line 1 \"%s\"\n", file_name);
|
// ib_fprintf (out_file, "#line 1 \"%s\"\n", backlash_fixed_file_name);
|
||||||
//
|
//
|
||||||
|
|
||||||
SLONG line = 0;
|
SLONG line = 0;
|
||||||
@ -2494,10 +2507,10 @@ static void pass2( SLONG start_position)
|
|||||||
if (line_pending) {
|
if (line_pending) {
|
||||||
if (line == 1)
|
if (line == 1)
|
||||||
ib_fprintf(out_file, "#line %ld \"%s\"\n", line,
|
ib_fprintf(out_file, "#line %ld \"%s\"\n", line,
|
||||||
file_name);
|
backlash_fixed_file_name);
|
||||||
else
|
else
|
||||||
ib_fprintf(out_file, "\n#line %ld \"%s\"", line,
|
ib_fprintf(out_file, "\n#line %ld \"%s\"", line,
|
||||||
file_name);
|
backlash_fixed_file_name);
|
||||||
|
|
||||||
line_pending = false;
|
line_pending = false;
|
||||||
}
|
}
|
||||||
@ -2620,14 +2633,14 @@ static void pass2( SLONG start_position)
|
|||||||
// We're out of actions -- dump the remaining text to the output stream.
|
// We're out of actions -- dump the remaining text to the output stream.
|
||||||
|
|
||||||
if (!line && line_pending) {
|
if (!line && line_pending) {
|
||||||
ib_fprintf(out_file, "#line 1 \"%s\"\n", file_name);
|
ib_fprintf(out_file, "#line 1 \"%s\"\n", backlash_fixed_file_name);
|
||||||
line_pending = false;
|
line_pending = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
while ((c = get_char(input_file)) != EOF) {
|
while ((c = get_char(input_file)) != EOF) {
|
||||||
if (c == '\n' && line_pending) {
|
if (c == '\n' && line_pending) {
|
||||||
ib_fprintf(out_file, "\n#line %ld \"%s\"", line + 1, file_name);
|
ib_fprintf(out_file, "\n#line %ld \"%s\"", line + 1, backlash_fixed_file_name);
|
||||||
line_pending = false;
|
line_pending = false;
|
||||||
}
|
}
|
||||||
if (c == EOF) {
|
if (c == EOF) {
|
||||||
|
@ -572,8 +572,8 @@ namespace Firebird
|
|||||||
}
|
}
|
||||||
int compare(size_type p0, size_type n0, const_pointer s, size_type n) const {
|
int compare(size_type p0, size_type n0, const_pointer s, size_type n) const {
|
||||||
AdjustRange(length(), p0, n0);
|
AdjustRange(length(), p0, n0);
|
||||||
size_type ml = n0 < n ? n0 : n;
|
const size_type ml = n0 < n ? n0 : n;
|
||||||
int rc = Comparator::compare(&c_str()[p0], s, ml);
|
const int rc = Comparator::compare(&c_str()[p0], s, ml);
|
||||||
return rc ? rc : n - n0;
|
return rc ? rc : n - n0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*
|
*
|
||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
* $Id: extract.epp,v 1.26 2004-03-25 07:33:36 aafemt Exp $
|
* $Id: extract.epp,v 1.27 2004-04-10 00:25:18 robocop Exp $
|
||||||
* Revision 1.3 2000/11/22 17:07:25 patrickgriffin
|
* Revision 1.3 2000/11/22 17:07:25 patrickgriffin
|
||||||
* In get_procedure_args change comment style from // to c style
|
* In get_procedure_args change comment style from // to c style
|
||||||
*
|
*
|
||||||
@ -1622,6 +1622,7 @@ static void list_create_db()
|
|||||||
return;
|
return;
|
||||||
END_ERROR;
|
END_ERROR;
|
||||||
|
|
||||||
|
/* IGNORE WAL FOR THE FORESEEABLE FUTURE.
|
||||||
bool first_file = true;
|
bool first_file = true;
|
||||||
first = true; // CVC: I'm not sure if this line should be added here.
|
first = true; // CVC: I'm not sure if this line should be added here.
|
||||||
bool has_wal = false;
|
bool has_wal = false;
|
||||||
@ -1665,10 +1666,9 @@ static void list_create_db()
|
|||||||
ISQL_printf (Out, Print_buffer);
|
ISQL_printf (Out, Print_buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Since we are fetching order by FILE_FLAGS, the LOG_0verflow will
|
// Since we are fetching order by FILE_FLAGS, the LOG_0verflow will
|
||||||
** be last. It will only appear if there were named round robin,
|
// be last. It will only appear if there were named round robin,
|
||||||
** so we must close the parens first
|
// so we must close the parens first
|
||||||
*/
|
|
||||||
|
|
||||||
// We have round robin and overflow file specifications
|
// We have round robin and overflow file specifications
|
||||||
else
|
else
|
||||||
@ -1703,13 +1703,13 @@ static void list_create_db()
|
|||||||
END_ERROR;
|
END_ERROR;
|
||||||
|
|
||||||
ISQL_printf(Out, NEWLINE);
|
ISQL_printf(Out, NEWLINE);
|
||||||
/*************************************************************
|
// **************************************************************
|
||||||
** isc_info_num_wal_buffers for NUM_LOG_BUFFERS
|
// ** isc_info_num_wal_buffers for NUM_LOG_BUFFERS
|
||||||
** isc_info_wal_buffer_size for LOG_BUFFER_SIZE
|
// ** isc_info_wal_buffer_size for LOG_BUFFER_SIZE
|
||||||
** isc_info_wal_grpc_wait_usecs for GROUP_COMMIT_WAIT_TIME
|
// ** isc_info_wal_grpc_wait_usecs for GROUP_COMMIT_WAIT_TIME
|
||||||
** isc_info_wal_ckpt_length for CHECK_POINT_LENGTH
|
// ** isc_info_wal_ckpt_length for CHECK_POINT_LENGTH
|
||||||
**
|
// **
|
||||||
**************************************************************/
|
// **************************************************************
|
||||||
|
|
||||||
bool set_used = false;
|
bool set_used = false;
|
||||||
if (has_wal)
|
if (has_wal)
|
||||||
@ -1774,6 +1774,7 @@ static void list_create_db()
|
|||||||
if (buffer)
|
if (buffer)
|
||||||
ISQL_FREE(buffer);
|
ISQL_FREE(buffer);
|
||||||
}
|
}
|
||||||
|
END OF WAL-RELATED CODE */
|
||||||
|
|
||||||
if (!first)
|
if (!first)
|
||||||
{
|
{
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*
|
*
|
||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
* $Id: isql.h,v 1.22 2004-03-07 07:58:37 robocop Exp $
|
* $Id: isql.h,v 1.23 2004-04-10 00:25:18 robocop Exp $
|
||||||
* Revision 1.2 2000/11/18 16:49:24 fsg
|
* Revision 1.2 2000/11/18 16:49:24 fsg
|
||||||
* Increased PRINT_BUFFER_LENGTH to 2048 to show larger plans
|
* Increased PRINT_BUFFER_LENGTH to 2048 to show larger plans
|
||||||
* Fixed Bug #122563 in extract.e get_procedure_args
|
* Fixed Bug #122563 in extract.e get_procedure_args
|
||||||
@ -316,12 +316,13 @@ const char SINGLE_QUOTE = '\'';
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
const SCHAR wal_items[] = {
|
//const SCHAR wal_items[] = {
|
||||||
isc_info_num_wal_buffers,
|
// isc_info_num_wal_buffers,
|
||||||
isc_info_wal_buffer_size,
|
// isc_info_wal_buffer_size,
|
||||||
isc_info_wal_ckpt_length,
|
// isc_info_wal_ckpt_length,
|
||||||
isc_info_wal_grpc_wait_usecs,
|
// isc_info_wal_grpc_wait_usecs,
|
||||||
isc_info_end
|
// isc_info_end
|
||||||
};
|
//};
|
||||||
|
|
||||||
#endif // ISQL_ISQL_H
|
#endif // ISQL_ISQL_H
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*
|
*
|
||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
* $Id: show.epp,v 1.35 2004-03-07 07:58:37 robocop Exp $
|
* $Id: show.epp,v 1.36 2004-04-10 00:25:19 robocop Exp $
|
||||||
* Revision 1.2 2000/11/19 07:02:49 fsg
|
* Revision 1.2 2000/11/19 07:02:49 fsg
|
||||||
* Change in show.e to use CHARACTER_LENGTH instead of FIELD_LENGTH in
|
* Change in show.e to use CHARACTER_LENGTH instead of FIELD_LENGTH in
|
||||||
* SHOW PROCEDURE
|
* SHOW PROCEDURE
|
||||||
@ -394,6 +394,8 @@ bool SHOW_dbb_parameters(FRBRD* db_handle,
|
|||||||
sprintf (info, "Transaction - Next = %ld %s", value_out, NEWLINE);
|
sprintf (info, "Transaction - Next = %ld %s", value_out, NEWLINE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/* IGNORE WAL.
|
||||||
|
|
||||||
case isc_info_num_wal_buffers:
|
case isc_info_num_wal_buffers:
|
||||||
value_out = isc_vax_integer(d, length);
|
value_out = isc_vax_integer(d, length);
|
||||||
if (translate) {
|
if (translate) {
|
||||||
@ -452,6 +454,7 @@ bool SHOW_dbb_parameters(FRBRD* db_handle,
|
|||||||
sprintf(info, "Wal group commit wait = %ld %s",
|
sprintf(info, "Wal group commit wait = %ld %s",
|
||||||
value_out, NEWLINE);
|
value_out, NEWLINE);
|
||||||
break;
|
break;
|
||||||
|
*/
|
||||||
|
|
||||||
case isc_info_base_level:
|
case isc_info_base_level:
|
||||||
value_out = isc_vax_integer(d, length);
|
value_out = isc_vax_integer(d, length);
|
||||||
@ -1779,6 +1782,8 @@ static void show_db()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* IGNORE WAL
|
||||||
|
|
||||||
bool is_wal = false;
|
bool is_wal = false;
|
||||||
|
|
||||||
FOR LOG IN RDB$LOG_FILES SORTED BY LOG.RDB$FILE_FLAGS, LOG.RDB$FILE_SEQUENCE
|
FOR LOG IN RDB$LOG_FILES SORTED BY LOG.RDB$FILE_FLAGS, LOG.RDB$FILE_SEQUENCE
|
||||||
@ -1837,6 +1842,7 @@ static void show_db()
|
|||||||
{
|
{
|
||||||
ISQL_printf(Out, info_buf);
|
ISQL_printf(Out, info_buf);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
if (V4) {
|
if (V4) {
|
||||||
FOR DBB IN RDB$DATABASE
|
FOR DBB IN RDB$DATABASE
|
||||||
|
@ -2223,7 +2223,7 @@ void CCH_release(thread_db* tdbb, WIN * window, bool release_tail)
|
|||||||
}
|
}
|
||||||
BufferControl* bcb = dbb->dbb_bcb;
|
BufferControl* bcb = dbb->dbb_bcb;
|
||||||
QUE_LEAST_RECENTLY_USED(bdb->bdb_in_use);
|
QUE_LEAST_RECENTLY_USED(bdb->bdb_in_use);
|
||||||
bdb->bdb_sequence = 0;
|
//bdb->bdb_sequence = 0;
|
||||||
#ifdef CACHE_WRITER
|
#ifdef CACHE_WRITER
|
||||||
if (bdb->bdb_flags & (BDB_dirty | BDB_db_dirty))
|
if (bdb->bdb_flags & (BDB_dirty | BDB_db_dirty))
|
||||||
{
|
{
|
||||||
@ -3926,7 +3926,7 @@ static BufferDesc* get_buffer(thread_db* tdbb, SLONG page, LATCH latch, SSHORT l
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bdb->bdb_flags &= ~(BDB_faked | BDB_prefetch);
|
bdb->bdb_flags &= ~(BDB_faked | BDB_prefetch);
|
||||||
bdb->bdb_sequence = dbb->dbb_fetches++;
|
//bdb->bdb_sequence = dbb->dbb_fetches++;
|
||||||
return bdb;
|
return bdb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4026,7 +4026,7 @@ static BufferDesc* get_buffer(thread_db* tdbb, SLONG page, LATCH latch, SSHORT l
|
|||||||
PAGE_LOCK_RELEASE(bdb->bdb_lock);
|
PAGE_LOCK_RELEASE(bdb->bdb_lock);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
bdb->bdb_sequence = dbb->dbb_fetches++;
|
//bdb->bdb_sequence = dbb->dbb_fetches++;
|
||||||
BCB_MUTEX_RELEASE;
|
BCB_MUTEX_RELEASE;
|
||||||
return bdb;
|
return bdb;
|
||||||
}
|
}
|
||||||
|
@ -43,6 +43,7 @@ struct que;
|
|||||||
class BufferDesc;
|
class BufferDesc;
|
||||||
class SparseBitmap;
|
class SparseBitmap;
|
||||||
class BlockingThread;
|
class BlockingThread;
|
||||||
|
class Database;
|
||||||
|
|
||||||
/* Page buffer cache size constraints. */
|
/* Page buffer cache size constraints. */
|
||||||
|
|
||||||
@ -54,7 +55,7 @@ class BlockingThread;
|
|||||||
struct bcb_repeat
|
struct bcb_repeat
|
||||||
{
|
{
|
||||||
BufferDesc* bcb_bdb; /* Buffer descriptor block */
|
BufferDesc* bcb_bdb; /* Buffer descriptor block */
|
||||||
que bcb_page_mod; /* Que of buffers with page mod n */
|
que bcb_page_mod; /* Que of buffers with page mod n */
|
||||||
};
|
};
|
||||||
|
|
||||||
class BufferControl : public pool_alloc_rpt<bcb_repeat, type_bcb>
|
class BufferControl : public pool_alloc_rpt<bcb_repeat, type_bcb>
|
||||||
@ -70,7 +71,7 @@ class BufferControl : public pool_alloc_rpt<bcb_repeat, type_bcb>
|
|||||||
SSHORT bcb_free_minimum; /* Threshold to activate cache writer */
|
SSHORT bcb_free_minimum; /* Threshold to activate cache writer */
|
||||||
ULONG bcb_count; /* Number of buffers allocated */
|
ULONG bcb_count; /* Number of buffers allocated */
|
||||||
ULONG bcb_checkpoint; /* Count of buffers to checkpoint */
|
ULONG bcb_checkpoint; /* Count of buffers to checkpoint */
|
||||||
SparseBitmap* bcb_prefetch; /* Bitmap of pages to prefetch */
|
SparseBitmap* bcb_prefetch; /* Bitmap of pages to prefetch */
|
||||||
bcb_repeat bcb_rpt[1];
|
bcb_repeat bcb_rpt[1];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -90,15 +91,15 @@ class BufferControl : public pool_alloc_rpt<bcb_repeat, type_bcb>
|
|||||||
class BufferDesc : public pool_alloc<type_bdb>
|
class BufferDesc : public pool_alloc<type_bdb>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
class Database* bdb_dbb; /* Database block (for ASTs) */
|
Database* bdb_dbb; /* Database block (for ASTs) */
|
||||||
Lock* bdb_lock; /* Lock block for buffer */
|
Lock* bdb_lock; /* Lock block for buffer */
|
||||||
que bdb_que; /* Buffer que */
|
que bdb_que; /* Buffer que */
|
||||||
que bdb_in_use; /* queue of buffers in use */
|
que bdb_in_use; /* queue of buffers in use */
|
||||||
Ods::pag* bdb_buffer; /* Actual buffer */
|
Ods::pag* bdb_buffer; /* Actual buffer */
|
||||||
exp_index_buf* bdb_expanded_buffer; /* expanded index buffer */
|
exp_index_buf* bdb_expanded_buffer; /* expanded index buffer */
|
||||||
BlockingThread* bdb_blocked; /* Blocked attachments block */
|
BlockingThread* bdb_blocked; /* Blocked attachments block */
|
||||||
SLONG bdb_page; /* Database page number in buffer */
|
SLONG bdb_page; /* Database page number in buffer */
|
||||||
ULONG bdb_sequence;
|
//ULONG bdb_sequence;
|
||||||
SLONG bdb_incarnation;
|
SLONG bdb_incarnation;
|
||||||
ULONG bdb_transactions; /* vector of dirty flags to reduce commit overhead */
|
ULONG bdb_transactions; /* vector of dirty flags to reduce commit overhead */
|
||||||
SLONG bdb_mark_transaction; /* hi-water mark transaction to defer header page I/O */
|
SLONG bdb_mark_transaction; /* hi-water mark transaction to defer header page I/O */
|
||||||
|
@ -124,7 +124,7 @@ void DYN_ddl(Attachment* attachment, jrd_tra* transaction, USHORT length,
|
|||||||
*status++ = 0;
|
*status++ = 0;
|
||||||
*status = isc_arg_end;
|
*status = isc_arg_end;
|
||||||
|
|
||||||
struct Global gbl(transaction);
|
Global gbl(transaction);
|
||||||
|
|
||||||
// Create a pool for DYN to operate in. It will be released when
|
// Create a pool for DYN to operate in. It will be released when
|
||||||
// the routine exits.
|
// the routine exits.
|
||||||
|
@ -499,7 +499,8 @@ void ERR_punt(void)
|
|||||||
gds__log_status(tdbb->tdbb_attachment->att_filename ?
|
gds__log_status(tdbb->tdbb_attachment->att_filename ?
|
||||||
tdbb->tdbb_attachment->att_filename.c_str() : NULL,
|
tdbb->tdbb_attachment->att_filename.c_str() : NULL,
|
||||||
tdbb->tdbb_status_vector);
|
tdbb->tdbb_status_vector);
|
||||||
if (Config::getBugcheckAbort()) abort();
|
if (Config::getBugcheckAbort())
|
||||||
|
abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
Firebird::status_exception::raise(tdbb->tdbb_status_vector);
|
Firebird::status_exception::raise(tdbb->tdbb_status_vector);
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*
|
*
|
||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
* Contributor(s): ______________________________________.
|
* Contributor(s): ______________________________________.
|
||||||
* $Id: evl.cpp,v 1.77 2004-04-09 16:32:52 skidder Exp $
|
* $Id: evl.cpp,v 1.78 2004-04-10 00:25:21 robocop Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -2745,9 +2745,9 @@ static dsc* add_timestamp(const dsc* desc, const jrd_nod* node, impure_value* va
|
|||||||
* 3E18, which fits into an INT64.
|
* 3E18, which fits into an INT64.
|
||||||
*/
|
*/
|
||||||
// 09-Apr-2004, Nickolay Samofatov. Adjust number before division to
|
// 09-Apr-2004, Nickolay Samofatov. Adjust number before division to
|
||||||
// make sure we don't loose a tick as a result of remainder truncation
|
// make sure we don't lose a tick as a result of remainder truncation
|
||||||
d2 = (d2 * 1000 + (SECONDS_PER_DAY / 200)) / (SINT64) (SECONDS_PER_DAY / 100);
|
d2 = (d2 * 1000 + (SECONDS_PER_DAY / 200)) / (SINT64) (SECONDS_PER_DAY / 100);
|
||||||
value->vlu_misc.vlu_int64 = (SINT64) d2;
|
value->vlu_misc.vlu_int64 = d2;
|
||||||
result->dsc_dtype = dtype_int64;
|
result->dsc_dtype = dtype_int64;
|
||||||
result->dsc_length = sizeof(SINT64);
|
result->dsc_length = sizeof(SINT64);
|
||||||
result->dsc_scale = DIALECT_3_TIMESTAMP_SCALE;
|
result->dsc_scale = DIALECT_3_TIMESTAMP_SCALE;
|
||||||
|
@ -1442,8 +1442,8 @@ static void check_sorts(RecordSelExpr* rse)
|
|||||||
if (!project && sort && (sort->nod_count <= group->nod_count)) {
|
if (!project && sort && (sort->nod_count <= group->nod_count)) {
|
||||||
const jrd_nod* const* sort_ptr = sort->nod_arg;
|
const jrd_nod* const* sort_ptr = sort->nod_arg;
|
||||||
const jrd_nod* const* const sort_end = sort_ptr + sort->nod_count;
|
const jrd_nod* const* const sort_end = sort_ptr + sort->nod_count;
|
||||||
for (;
|
for (; sort_ptr < sort_end; sort_ptr++)
|
||||||
sort_ptr < sort_end; sort_ptr++)
|
|
||||||
{
|
{
|
||||||
const jrd_nod* const* group_ptr = group->nod_arg;
|
const jrd_nod* const* group_ptr = group->nod_arg;
|
||||||
const jrd_nod* const* const group_end = group_ptr + sort->nod_count;
|
const jrd_nod* const* const group_end = group_ptr + sort->nod_count;
|
||||||
|
@ -115,7 +115,7 @@ static jrd_nod* par_stream(thread_db*, CompilerScratch*);
|
|||||||
static jrd_nod* par_union(thread_db*, CompilerScratch*);
|
static jrd_nod* par_union(thread_db*, CompilerScratch*);
|
||||||
static USHORT par_word(CompilerScratch*);
|
static USHORT par_word(CompilerScratch*);
|
||||||
static jrd_nod* parse(thread_db*, CompilerScratch*, USHORT, USHORT expected_optional = 0);
|
static jrd_nod* parse(thread_db*, CompilerScratch*, USHORT, USHORT expected_optional = 0);
|
||||||
static void syntax_error(CompilerScratch*, const TEXT *);
|
static void syntax_error(CompilerScratch*, const TEXT*);
|
||||||
static void warning(CompilerScratch*, ...);
|
static void warning(CompilerScratch*, ...);
|
||||||
|
|
||||||
#define BLR_PEEK *(csb->csb_running)
|
#define BLR_PEEK *(csb->csb_running)
|
||||||
@ -1525,7 +1525,7 @@ static USHORT par_name(CompilerScratch* csb, Firebird::string& string)
|
|||||||
* Parse a counted string, returning count.
|
* Parse a counted string, returning count.
|
||||||
*
|
*
|
||||||
**************************************/
|
**************************************/
|
||||||
USHORT l = BLR_BYTE;
|
ULONG l = BLR_BYTE;
|
||||||
string = "";
|
string = "";
|
||||||
|
|
||||||
if (l) {
|
if (l) {
|
||||||
@ -1939,7 +1939,7 @@ static jrd_nod* par_relation(
|
|||||||
if (blr_operator == blr_rid || blr_operator == blr_rid2) {
|
if (blr_operator == blr_rid || blr_operator == blr_rid2) {
|
||||||
const SSHORT id = BLR_WORD;
|
const SSHORT id = BLR_WORD;
|
||||||
if (blr_operator == blr_rid2) {
|
if (blr_operator == blr_rid2) {
|
||||||
const SSHORT length = BLR_PEEK;
|
BLR_PEEK; // Do not delete. It skips the length.
|
||||||
alias_string = FB_NEW(csb->csb_pool) Firebird::string(csb->csb_pool);
|
alias_string = FB_NEW(csb->csb_pool) Firebird::string(csb->csb_pool);
|
||||||
par_name(csb, *alias_string);
|
par_name(csb, *alias_string);
|
||||||
}
|
}
|
||||||
@ -1951,7 +1951,7 @@ static jrd_nod* par_relation(
|
|||||||
else if (blr_operator == blr_relation || blr_operator == blr_relation2) {
|
else if (blr_operator == blr_relation || blr_operator == blr_relation2) {
|
||||||
par_name(csb, name);
|
par_name(csb, name);
|
||||||
if (blr_operator == blr_relation2) {
|
if (blr_operator == blr_relation2) {
|
||||||
const SSHORT length = BLR_PEEK;
|
BLR_PEEK; // Do not delete. It skips the length.
|
||||||
alias_string = FB_NEW(csb->csb_pool) Firebird::string(csb->csb_pool);
|
alias_string = FB_NEW(csb->csb_pool) Firebird::string(csb->csb_pool);
|
||||||
par_name(csb, *alias_string);
|
par_name(csb, *alias_string);
|
||||||
}
|
}
|
||||||
@ -2283,8 +2283,6 @@ static jrd_nod* parse(thread_db* tdbb, CompilerScratch* csb, USHORT expected,
|
|||||||
* Parse a BLR expression.
|
* Parse a BLR expression.
|
||||||
*
|
*
|
||||||
**************************************/
|
**************************************/
|
||||||
Firebird::string name;
|
|
||||||
|
|
||||||
SET_TDBB(tdbb);
|
SET_TDBB(tdbb);
|
||||||
|
|
||||||
const SSHORT blr_operator = BLR_BYTE;
|
const SSHORT blr_operator = BLR_BYTE;
|
||||||
|
Loading…
Reference in New Issue
Block a user