mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 14:43: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
|
||||
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
|
||||
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.
|
||||
|
||||
Snapshot data is collected by trace module in raw form in a binary log file and
|
||||
|
@ -393,7 +393,7 @@ namespace Firebird {
|
||||
n *= 2;
|
||||
l = VSNPRINTF(baseAssign(n), n + 1, format, params);
|
||||
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));
|
||||
return;
|
||||
}
|
||||
|
@ -20,7 +20,7 @@
|
||||
* All Rights Reserved.
|
||||
* 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,
|
||||
* 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;
|
||||
const ULONG length = (ULONG) (reinterpret_cast<char*>(req_blr) - blr_base) - 2;
|
||||
|
||||
if (length > 0xFFFF)
|
||||
/* TODO : need appropriate error message, like "too long BLR" */
|
||||
if (length > 0xFFFF) {
|
||||
// TODO : need appropriate error message, like "too long BLR"
|
||||
ERRD_post(isc_invalid_blr, isc_arg_number, (SLONG) length,
|
||||
0);
|
||||
}
|
||||
|
||||
*blr_base++ = (UCHAR) length;
|
||||
*blr_base = (UCHAR) (length >> 8);
|
||||
|
@ -887,7 +887,7 @@ ISC_STATUS callback_execute_immediate( ISC_STATUS* status,
|
||||
THREAD_ENTER;
|
||||
|
||||
// 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,
|
||||
sql_operator.length(), sql_operator.c_str(),
|
||||
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;
|
||||
dsql_udf* userFunc;
|
||||
dsql_udf* temp;
|
||||
DSQL_NOD udf_param_node, *ptr;
|
||||
dsql_nod* udf_param_node;
|
||||
dsql_nod** ptr;
|
||||
|
||||
|
||||
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;
|
||||
while (stack) {
|
||||
*--ptr = (DSQL_NOD) LLS_POP (&stack);
|
||||
*--ptr = (dsql_nod*) LLS_POP (&stack);
|
||||
// dimitr: adjust the UDF arguments for CSTRING
|
||||
if ((*ptr)->nod_desc.dsc_dtype == dtype_cstring)
|
||||
(*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);
|
||||
dsql_str* field_name = MAKE_cstring(Y.RDB$FIELD_NAME);
|
||||
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;
|
||||
count++;
|
||||
|
||||
|
@ -393,7 +393,7 @@ const int DEF_CACHE_BUFFERS = 1000;
|
||||
#define YYINITDEPTH 2048
|
||||
#define YYSTACK_USE_ALLOCA 1
|
||||
|
||||
#define YYSTYPE DSQL_NOD
|
||||
#define YYSTYPE dsql_nod*
|
||||
#if defined(DEBUG) || defined(DEV_BUILD)
|
||||
#define YYDEBUG 1
|
||||
#endif
|
||||
@ -424,7 +424,7 @@ static bool long_int(dsql_nod*, SLONG*);
|
||||
#endif
|
||||
static dsql_fld* make_field (dsql_nod*);
|
||||
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_parameter (void);
|
||||
static dsql_nod* make_flag_node (NOD_TYPE, SSHORT, int, ...);
|
||||
@ -4775,7 +4775,7 @@ case 262:
|
||||
{ yyval = yyvsp[0]; }
|
||||
break;
|
||||
case 263:
|
||||
{ yyval = (DSQL_NOD) NULL; }
|
||||
{ yyval = (dsql_nod*) NULL; }
|
||||
break;
|
||||
case 264:
|
||||
{ yyval = make_list (yyvsp[0]); }
|
||||
@ -7636,6 +7636,11 @@ int LexerState::yylex (
|
||||
gds__free (buffer);
|
||||
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 */
|
||||
if ((*ptr == c) && ((++ptr == end) || (*ptr != c)))
|
||||
break;
|
||||
|
@ -121,7 +121,7 @@ const int DEF_CACHE_BUFFERS = 1000;
|
||||
#define YYINITDEPTH 2048
|
||||
#define YYSTACK_USE_ALLOCA 1
|
||||
|
||||
#define YYSTYPE DSQL_NOD
|
||||
#define YYSTYPE dsql_nod*
|
||||
#if defined(DEBUG) || defined(DEV_BUILD)
|
||||
#define YYDEBUG 1
|
||||
#endif
|
||||
@ -152,7 +152,7 @@ static bool long_int(dsql_nod*, SLONG*);
|
||||
#endif
|
||||
static dsql_fld* make_field (dsql_nod*);
|
||||
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_parameter (void);
|
||||
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
|
||||
{ $$ = $3; }
|
||||
| begin_string
|
||||
{ $$ = (DSQL_NOD) NULL; }
|
||||
{ $$ = (dsql_nod*) NULL; }
|
||||
;
|
||||
|
||||
local_declaration_list : local_declarations
|
||||
@ -4789,7 +4789,7 @@ int LexerState::yylex (
|
||||
// Care about multi-line constants and identifiers
|
||||
if (*ptr == '\n') {
|
||||
lines++;
|
||||
line_start = ptr+1;
|
||||
line_start = ptr + 1;
|
||||
}
|
||||
/* *ptr is quote - if next != quote we're at the end */
|
||||
if ((*ptr == c) && ((++ptr == end) || (*ptr != c)))
|
||||
|
@ -20,7 +20,7 @@
|
||||
//
|
||||
// All Rights Reserved.
|
||||
// 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
|
||||
// Added new switch -verbose to gpre that will dump
|
||||
// parsed lines to stderr
|
||||
@ -2462,9 +2462,22 @@ static void pass2( SLONG start_position)
|
||||
if ((sw_language == lang_ada) && (ada_flags & ADA_create_database))
|
||||
ib_fprintf(out_file, "with unchecked_conversion;\nwith system;\n");
|
||||
#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)
|
||||
// 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;
|
||||
@ -2494,10 +2507,10 @@ static void pass2( SLONG start_position)
|
||||
if (line_pending) {
|
||||
if (line == 1)
|
||||
ib_fprintf(out_file, "#line %ld \"%s\"\n", line,
|
||||
file_name);
|
||||
backlash_fixed_file_name);
|
||||
else
|
||||
ib_fprintf(out_file, "\n#line %ld \"%s\"", line,
|
||||
file_name);
|
||||
backlash_fixed_file_name);
|
||||
|
||||
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.
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
while ((c = get_char(input_file)) != EOF) {
|
||||
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;
|
||||
}
|
||||
if (c == EOF) {
|
||||
|
@ -572,8 +572,8 @@ namespace Firebird
|
||||
}
|
||||
int compare(size_type p0, size_type n0, const_pointer s, size_type n) const {
|
||||
AdjustRange(length(), p0, n0);
|
||||
size_type ml = n0 < n ? n0 : n;
|
||||
int rc = Comparator::compare(&c_str()[p0], s, ml);
|
||||
const size_type ml = n0 < n ? n0 : n;
|
||||
const int rc = Comparator::compare(&c_str()[p0], s, ml);
|
||||
return rc ? rc : n - n0;
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
*
|
||||
* All Rights Reserved.
|
||||
* 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
|
||||
* In get_procedure_args change comment style from // to c style
|
||||
*
|
||||
@ -1622,6 +1622,7 @@ static void list_create_db()
|
||||
return;
|
||||
END_ERROR;
|
||||
|
||||
/* IGNORE WAL FOR THE FORESEEABLE FUTURE.
|
||||
bool first_file = true;
|
||||
first = true; // CVC: I'm not sure if this line should be added here.
|
||||
bool has_wal = false;
|
||||
@ -1665,10 +1666,9 @@ static void list_create_db()
|
||||
ISQL_printf (Out, Print_buffer);
|
||||
}
|
||||
|
||||
/* Since we are fetching order by FILE_FLAGS, the LOG_0verflow will
|
||||
** be last. It will only appear if there were named round robin,
|
||||
** so we must close the parens first
|
||||
*/
|
||||
// Since we are fetching order by FILE_FLAGS, the LOG_0verflow will
|
||||
// be last. It will only appear if there were named round robin,
|
||||
// so we must close the parens first
|
||||
|
||||
// We have round robin and overflow file specifications
|
||||
else
|
||||
@ -1703,13 +1703,13 @@ static void list_create_db()
|
||||
END_ERROR;
|
||||
|
||||
ISQL_printf(Out, NEWLINE);
|
||||
/*************************************************************
|
||||
** isc_info_num_wal_buffers for NUM_LOG_BUFFERS
|
||||
** isc_info_wal_buffer_size for LOG_BUFFER_SIZE
|
||||
** isc_info_wal_grpc_wait_usecs for GROUP_COMMIT_WAIT_TIME
|
||||
** isc_info_wal_ckpt_length for CHECK_POINT_LENGTH
|
||||
**
|
||||
**************************************************************/
|
||||
// **************************************************************
|
||||
// ** isc_info_num_wal_buffers for NUM_LOG_BUFFERS
|
||||
// ** isc_info_wal_buffer_size for LOG_BUFFER_SIZE
|
||||
// ** isc_info_wal_grpc_wait_usecs for GROUP_COMMIT_WAIT_TIME
|
||||
// ** isc_info_wal_ckpt_length for CHECK_POINT_LENGTH
|
||||
// **
|
||||
// **************************************************************
|
||||
|
||||
bool set_used = false;
|
||||
if (has_wal)
|
||||
@ -1774,6 +1774,7 @@ static void list_create_db()
|
||||
if (buffer)
|
||||
ISQL_FREE(buffer);
|
||||
}
|
||||
END OF WAL-RELATED CODE */
|
||||
|
||||
if (!first)
|
||||
{
|
||||
|
@ -19,7 +19,7 @@
|
||||
*
|
||||
* All Rights Reserved.
|
||||
* 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
|
||||
* Increased PRINT_BUFFER_LENGTH to 2048 to show larger plans
|
||||
* Fixed Bug #122563 in extract.e get_procedure_args
|
||||
@ -316,12 +316,13 @@ const char SINGLE_QUOTE = '\'';
|
||||
|
||||
|
||||
|
||||
const SCHAR wal_items[] = {
|
||||
isc_info_num_wal_buffers,
|
||||
isc_info_wal_buffer_size,
|
||||
isc_info_wal_ckpt_length,
|
||||
isc_info_wal_grpc_wait_usecs,
|
||||
isc_info_end
|
||||
};
|
||||
//const SCHAR wal_items[] = {
|
||||
// isc_info_num_wal_buffers,
|
||||
// isc_info_wal_buffer_size,
|
||||
// isc_info_wal_ckpt_length,
|
||||
// isc_info_wal_grpc_wait_usecs,
|
||||
// isc_info_end
|
||||
//};
|
||||
|
||||
#endif // ISQL_ISQL_H
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
*
|
||||
* All Rights Reserved.
|
||||
* 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
|
||||
* Change in show.e to use CHARACTER_LENGTH instead of FIELD_LENGTH in
|
||||
* SHOW PROCEDURE
|
||||
@ -394,6 +394,8 @@ bool SHOW_dbb_parameters(FRBRD* db_handle,
|
||||
sprintf (info, "Transaction - Next = %ld %s", value_out, NEWLINE);
|
||||
break;
|
||||
|
||||
/* IGNORE WAL.
|
||||
|
||||
case isc_info_num_wal_buffers:
|
||||
value_out = isc_vax_integer(d, length);
|
||||
if (translate) {
|
||||
@ -452,6 +454,7 @@ bool SHOW_dbb_parameters(FRBRD* db_handle,
|
||||
sprintf(info, "Wal group commit wait = %ld %s",
|
||||
value_out, NEWLINE);
|
||||
break;
|
||||
*/
|
||||
|
||||
case isc_info_base_level:
|
||||
value_out = isc_vax_integer(d, length);
|
||||
@ -1779,6 +1782,8 @@ static void show_db()
|
||||
return;
|
||||
}
|
||||
|
||||
/* IGNORE WAL
|
||||
|
||||
bool is_wal = false;
|
||||
|
||||
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);
|
||||
}
|
||||
*/
|
||||
|
||||
if (V4) {
|
||||
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;
|
||||
QUE_LEAST_RECENTLY_USED(bdb->bdb_in_use);
|
||||
bdb->bdb_sequence = 0;
|
||||
//bdb->bdb_sequence = 0;
|
||||
#ifdef CACHE_WRITER
|
||||
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 {
|
||||
bdb->bdb_flags &= ~(BDB_faked | BDB_prefetch);
|
||||
bdb->bdb_sequence = dbb->dbb_fetches++;
|
||||
//bdb->bdb_sequence = dbb->dbb_fetches++;
|
||||
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);
|
||||
}
|
||||
#endif
|
||||
bdb->bdb_sequence = dbb->dbb_fetches++;
|
||||
//bdb->bdb_sequence = dbb->dbb_fetches++;
|
||||
BCB_MUTEX_RELEASE;
|
||||
return bdb;
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ struct que;
|
||||
class BufferDesc;
|
||||
class SparseBitmap;
|
||||
class BlockingThread;
|
||||
class Database;
|
||||
|
||||
/* Page buffer cache size constraints. */
|
||||
|
||||
@ -54,7 +55,7 @@ class BlockingThread;
|
||||
struct bcb_repeat
|
||||
{
|
||||
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>
|
||||
@ -70,7 +71,7 @@ class BufferControl : public pool_alloc_rpt<bcb_repeat, type_bcb>
|
||||
SSHORT bcb_free_minimum; /* Threshold to activate cache writer */
|
||||
ULONG bcb_count; /* Number of buffers allocated */
|
||||
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];
|
||||
};
|
||||
|
||||
@ -90,15 +91,15 @@ class BufferControl : public pool_alloc_rpt<bcb_repeat, type_bcb>
|
||||
class BufferDesc : public pool_alloc<type_bdb>
|
||||
{
|
||||
public:
|
||||
class Database* bdb_dbb; /* Database block (for ASTs) */
|
||||
Database* bdb_dbb; /* Database block (for ASTs) */
|
||||
Lock* bdb_lock; /* Lock block for buffer */
|
||||
que bdb_que; /* Buffer que */
|
||||
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 */
|
||||
BlockingThread* bdb_blocked; /* Blocked attachments block */
|
||||
BlockingThread* bdb_blocked; /* Blocked attachments block */
|
||||
SLONG bdb_page; /* Database page number in buffer */
|
||||
ULONG bdb_sequence;
|
||||
//ULONG bdb_sequence;
|
||||
SLONG bdb_incarnation;
|
||||
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 */
|
||||
|
@ -124,7 +124,7 @@ void DYN_ddl(Attachment* attachment, jrd_tra* transaction, USHORT length,
|
||||
*status++ = 0;
|
||||
*status = isc_arg_end;
|
||||
|
||||
struct Global gbl(transaction);
|
||||
Global gbl(transaction);
|
||||
|
||||
// Create a pool for DYN to operate in. It will be released when
|
||||
// the routine exits.
|
||||
|
@ -499,7 +499,8 @@ void ERR_punt(void)
|
||||
gds__log_status(tdbb->tdbb_attachment->att_filename ?
|
||||
tdbb->tdbb_attachment->att_filename.c_str() : NULL,
|
||||
tdbb->tdbb_status_vector);
|
||||
if (Config::getBugcheckAbort()) abort();
|
||||
if (Config::getBugcheckAbort())
|
||||
abort();
|
||||
}
|
||||
|
||||
Firebird::status_exception::raise(tdbb->tdbb_status_vector);
|
||||
|
@ -19,7 +19,7 @@
|
||||
*
|
||||
* All Rights Reserved.
|
||||
* 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.
|
||||
*/
|
||||
// 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);
|
||||
value->vlu_misc.vlu_int64 = (SINT64) d2;
|
||||
value->vlu_misc.vlu_int64 = d2;
|
||||
result->dsc_dtype = dtype_int64;
|
||||
result->dsc_length = sizeof(SINT64);
|
||||
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)) {
|
||||
const jrd_nod* const* sort_ptr = sort->nod_arg;
|
||||
const jrd_nod* const* const sort_end = sort_ptr + sort->nod_count;
|
||||
for (;
|
||||
sort_ptr < sort_end; sort_ptr++)
|
||||
for (; sort_ptr < sort_end; sort_ptr++)
|
||||
|
||||
{
|
||||
const jrd_nod* const* group_ptr = group->nod_arg;
|
||||
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 USHORT par_word(CompilerScratch*);
|
||||
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*, ...);
|
||||
|
||||
#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.
|
||||
*
|
||||
**************************************/
|
||||
USHORT l = BLR_BYTE;
|
||||
ULONG l = BLR_BYTE;
|
||||
string = "";
|
||||
|
||||
if (l) {
|
||||
@ -1939,7 +1939,7 @@ static jrd_nod* par_relation(
|
||||
if (blr_operator == blr_rid || blr_operator == blr_rid2) {
|
||||
const SSHORT id = BLR_WORD;
|
||||
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);
|
||||
par_name(csb, *alias_string);
|
||||
}
|
||||
@ -1951,7 +1951,7 @@ static jrd_nod* par_relation(
|
||||
else if (blr_operator == blr_relation || blr_operator == blr_relation2) {
|
||||
par_name(csb, name);
|
||||
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);
|
||||
par_name(csb, *alias_string);
|
||||
}
|
||||
@ -2283,8 +2283,6 @@ static jrd_nod* parse(thread_db* tdbb, CompilerScratch* csb, USHORT expected,
|
||||
* Parse a BLR expression.
|
||||
*
|
||||
**************************************/
|
||||
Firebird::string name;
|
||||
|
||||
SET_TDBB(tdbb);
|
||||
|
||||
const SSHORT blr_operator = BLR_BYTE;
|
||||
|
Loading…
Reference in New Issue
Block a user