8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 18:03:04 +01:00
This commit is contained in:
robocop 2009-12-13 13:49:43 +00:00
parent 97f6386c9a
commit 00c5d74904
11 changed files with 43 additions and 85 deletions

View File

@ -22,36 +22,26 @@ enum BlockType
type_tra,
type_nod,
type_csb,
//type_lls, // For what I see, it has nothing to do with qli's type_lls
type_rec,
type_rsb,
//type_bms,
type_dfw,
type_tfb,
type_str,
//type_dcc,
type_blb,
type_irb,
//type_scl,
type_fld,
type_ext,
//type_mfb,
type_riv,
//type_usr,
type_att,
type_sym,
type_fun,
type_irl,
//type_acc,
type_idl,
//type_rsc,
type_sdw,
type_vct,
type_blf,
type_arr,
type_map,
//type_log,
//type_dls,
type_prc,
type_prm,
type_sav,
@ -60,12 +50,9 @@ enum BlockType
type_tpc,
type_svc,
type_lwt,
//type_vcx,
type_srpb,
type_opt,
type_prf,
//type_rse,
//type_lit,
type_asb,
type_ctl,
@ -82,27 +69,18 @@ enum BlockType
dsql_type_fil,
dsql_type_nod,
dsql_type_msg,
//dsql_type_lls,
dsql_type_str,
dsql_type_sym,
//dsql_type_err,
dsql_type_tra,
dsql_type_udf,
dsql_type_var,
dsql_type_blb,
dsql_type_prc,
dsql_type_intlsym,
//dsql_type_vec,
dsql_type_imp_join,
//alice_type_frb,
//alice_type_hnk,
//alice_type_plb,
//alice_type_vec,
//alice_type_vcl,
alice_type_tdr,
alice_type_str,
//alice_type_lls,
rem_type_rdb,
rem_type_rrq,

View File

@ -89,8 +89,7 @@ IMPLEMENT_TRACE_ROUTINE(cch_trace, "CCH")
#define PAGE_LOCK_RELEASE(lock)
#define PAGE_LOCK_ASSERT(lock)
#define PAGE_LOCK_RE_POST(lock)
#define PAGE_OVERHEAD (sizeof (bcb_repeat) + sizeof(BufferDesc) + \
(int) dbb->dbb_page_size)
#define PAGE_OVERHEAD (sizeof (bcb_repeat) + sizeof(BufferDesc) + (int) dbb->dbb_page_size)
#else
#define PAGE_LOCK_RELEASE(lock) LCK_release (tdbb, lock)
#define PAGE_LOCK_ASSERT(lock) LCK_assert (tdbb, lock)
@ -137,8 +136,9 @@ static void release_bdb(thread_db*, BufferDesc*, const bool, const bool, const b
static void unmark(thread_db*, WIN*);
static bool writeable(BufferDesc*);
static bool is_writeable(BufferDesc*, const ULONG);
static int write_buffer(thread_db*, BufferDesc*, const PageNumber, const bool, ISC_STATUS* const, const bool);
static bool write_page(thread_db*, BufferDesc*, /*const bool,*/ ISC_STATUS* const, const bool);
static int write_buffer(thread_db*, BufferDesc*, const PageNumber, const bool, ISC_STATUS* const,
const bool);
static bool write_page(thread_db*, BufferDesc*, ISC_STATUS* const, const bool);
static void set_diff_page(thread_db*, BufferDesc*);
static void set_dirty_flag(thread_db*, BufferDesc*);
static void clear_dirty_flag(thread_db*, BufferDesc*);
@ -1913,7 +1913,7 @@ void CCH_precedence(thread_db* tdbb, WIN* window, PageNumber page)
#ifdef CACHE_READER
void CCH_prefetch(thread_db* tdbb, SLONG * pages, SSHORT count)
void CCH_prefetch(thread_db* tdbb, SLONG* pages, SSHORT count)
{
/**************************************
*
@ -4545,7 +4545,7 @@ static void down_grade(thread_db* tdbb, BufferDesc* bdb)
// Everything is clear to write this buffer. Do so and reduce the lock
if (invalid || !write_page(tdbb, bdb, /*false,*/ tdbb->tdbb_status_vector, true))
if (invalid || !write_page(tdbb, bdb, tdbb->tdbb_status_vector, true))
{
bdb->bdb_flags |= BDB_not_valid;
clear_dirty_flag(tdbb, bdb);
@ -6354,7 +6354,7 @@ static int write_buffer(thread_db* tdbb,
if ((bdb->bdb_flags & BDB_dirty || (write_thru && bdb->bdb_flags & BDB_db_dirty)) &&
!(bdb->bdb_flags & BDB_marked))
{
if ( (result = write_page(tdbb, bdb, /*write_thru,*/ status, false)) ) {
if ( (result = write_page(tdbb, bdb, status, false)) ) {
clear_precedence(tdbb, bdb);
}
}
@ -6378,11 +6378,7 @@ static int write_buffer(thread_db* tdbb,
}
static bool write_page(thread_db* tdbb,
BufferDesc* bdb,
//const bool write_thru,
ISC_STATUS* const status,
const bool inAst)
static bool write_page(thread_db* tdbb, BufferDesc* bdb, ISC_STATUS* const status, const bool inAst)
{
/**************************************
*

View File

@ -130,7 +130,7 @@ EventManager::~EventManager()
m_cleanupSemaphore.tryEnter(5);
#if (defined HAVE_MMAP || defined WIN_NT)
ISC_unmap_object(localStatus, /*&m_shmemData,*/ (UCHAR**) &m_process, sizeof(prb));
ISC_unmap_object(localStatus, (UCHAR**) &m_process, sizeof(prb));
#else
m_process = NULL;
#endif

View File

@ -1029,7 +1029,7 @@ static idx_e check_duplicates(thread_db* tdbb,
rpb.rpb_number.setValue(accessor.current());
if (rpb.rpb_number != insertion->iib_number &&
VIO_get_current(tdbb, /*&old_rpb,*/ &rpb, insertion->iib_transaction, tdbb->getDefaultPool(),
VIO_get_current(tdbb, &rpb, insertion->iib_transaction, tdbb->getDefaultPool(),
is_fk, has_old_values) )
{
// dimitr: we shouldn't ignore status exceptions which take place

View File

@ -55,7 +55,7 @@ void ISC_mutex_fini(struct mtx*);
#if defined HAVE_MMAP || defined WIN_NT
UCHAR* ISC_map_object(Firebird::Arg::StatusVector&, sh_mem*, ULONG, ULONG);
void ISC_unmap_object(Firebird::Arg::StatusVector&, /*sh_mem*,*/ UCHAR**, ULONG);
void ISC_unmap_object(Firebird::Arg::StatusVector&, UCHAR**, ULONG);
#endif
#ifdef UNIX

View File

@ -556,7 +556,8 @@ namespace {
{
MutexLockGuard guard(mutex);
int n = getByAddress((UCHAR*) s);
if (n >= 0) {
if (n >= 0)
{
IPC_TRACE(("-rem SF with %p %p\n", sharedFiles[n].from, sharedFiles[n].to));
sharedFiles.remove(n);
}
@ -1013,9 +1014,7 @@ int ISC_event_post(event_t* event)
}
int ISC_event_wait(event_t* event,
SLONG value,
const SLONG micro_seconds)
int ISC_event_wait(event_t* event, SLONG value, const SLONG micro_seconds)
{
/**************************************
*
@ -1214,9 +1213,7 @@ int ISC_event_post(event_t* event)
}
int ISC_event_wait(event_t* event,
const SLONG value,
const SLONG micro_seconds)
int ISC_event_wait(event_t* event, const SLONG value, const SLONG micro_seconds)
{
/**************************************
*
@ -1389,9 +1386,7 @@ int ISC_event_post(event_t* event)
}
int ISC_event_wait(event_t* event,
const SLONG value,
const SLONG micro_seconds)
int ISC_event_wait(event_t* event, const SLONG value, const SLONG micro_seconds)
{
/**************************************
*
@ -2019,10 +2014,12 @@ UCHAR* ISC_map_file(Arg::StatusVector& statusVector,
// is complete. That way potential race conditions are avoided.
#ifndef HAVE_FLOCK
if (lockf(fd, F_LOCK, 0)) {
if (lockf(fd, F_LOCK, 0))
{
error(statusVector, "lockf", errno);
#else
if (flock(fd, LOCK_EX)) {
if (flock(fd, LOCK_EX))
{
error(statusVector, "flock", errno);
#endif
fclose(fp);
@ -2605,10 +2602,7 @@ UCHAR* ISC_map_object(Arg::StatusVector& statusVector,
}
void ISC_unmap_object(Arg::StatusVector& statusVector,
//sh_mem* shmem_data,
UCHAR** object_pointer,
ULONG object_length)
void ISC_unmap_object(Arg::StatusVector& statusVector, UCHAR** object_pointer, ULONG object_length)
{
/**************************************
*
@ -2702,10 +2696,7 @@ UCHAR* ISC_map_object(Arg::StatusVector& statusVector,
}
void ISC_unmap_object(Arg::StatusVector& statusVector,
//sh_mem* shmem_data,
UCHAR** object_pointer,
ULONG /*object_length*/)
void ISC_unmap_object(Arg::StatusVector& statusVector, UCHAR** object_pointer, ULONG /*object_length*/)
{
/**************************************
*

View File

@ -117,7 +117,7 @@ static RecordSource* gen_outer(thread_db*, OptimizerBlk*, RecordSelExpr*, RiverS
static ProcedureScan* gen_procedure(thread_db*, OptimizerBlk*, jrd_nod*);
static RecordSource* gen_residual_boolean(thread_db*, OptimizerBlk*, RecordSource*);
static RecordSource* gen_retrieval(thread_db*, OptimizerBlk*, SSHORT, jrd_nod**, bool, bool, jrd_nod**);
static RecordSource* gen_rsb(thread_db*, OptimizerBlk*, RecordSource*, jrd_nod*, SSHORT, //jrd_rel*,
static RecordSource* gen_rsb(thread_db*, OptimizerBlk*, RecordSource*, jrd_nod*, SSHORT,
const string&, jrd_nod*);
static SkipRowsStream* gen_skip (thread_db*, OptimizerBlk*, RecordSource*, jrd_nod*);
static SortedStream* gen_sort(thread_db*, OptimizerBlk*, const UCHAR*, const UCHAR*,
@ -3200,7 +3200,7 @@ static RecordSource* gen_retrieval(thread_db* tdbb,
rsb = nav_rsb;
}
return gen_rsb(tdbb, opt, rsb, inversion, stream, /*relation,*/ alias, opt_boolean);
return gen_rsb(tdbb, opt, rsb, inversion, stream, alias, opt_boolean);
}
@ -3209,7 +3209,6 @@ static RecordSource* gen_rsb(thread_db* tdbb,
RecordSource* rsb,
jrd_nod* inversion,
SSHORT stream,
//jrd_rel* relation,
const string& alias,
jrd_nod* boolean)
{

View File

@ -101,7 +101,7 @@ static void expunge(thread_db*, record_param*, const jrd_tra*, SLONG);
static bool dfw_should_know(record_param* org_rpb, record_param* new_rpb,
USHORT irrelevant_field, bool void_update_is_relevant = false);
static void garbage_collect(thread_db*, record_param*, SLONG, RecordStack&);
static void garbage_collect_idx(thread_db*, record_param*, /*record_param*,*/ Record*, Record*);
static void garbage_collect_idx(thread_db*, record_param*, Record*, Record*);
#ifdef GARBAGE_THREAD
static THREAD_ENTRY_DECLARE garbage_collector(THREAD_ENTRY_PARAM);
#endif
@ -124,8 +124,7 @@ static Record* replace_gc_record(jrd_rel*, Record**, USHORT);
static void replace_record(thread_db*, record_param*, PageStack*, const jrd_tra*);
static void set_system_flag(thread_db*, record_param*, USHORT, SSHORT);
static void update_in_place(thread_db*, jrd_tra*, record_param*, record_param*);
static void verb_post(thread_db*, jrd_tra*, record_param*, Record*, //record_param*,
const bool, const bool);
static void verb_post(thread_db*, jrd_tra*, record_param*, Record*, const bool, const bool);
// Pick up relation ids
#include "../jrd/ini.h"
@ -1536,7 +1535,7 @@ void VIO_erase(thread_db* tdbb, record_param* rpb, jrd_tra* transaction)
if (!(transaction->tra_flags & TRA_system) &&
transaction->tra_save_point && transaction->tra_save_point->sav_verb_count)
{
verb_post(tdbb, transaction, rpb, 0, /*0,*/ same_tx, false);
verb_post(tdbb, transaction, rpb, 0, same_tx, false);
}
VIO_bump_count(tdbb, DBB_delete_count, relation);
@ -1813,7 +1812,6 @@ bool VIO_get(thread_db* tdbb, record_param* rpb, jrd_tra* transaction, MemoryPoo
bool VIO_get_current(thread_db* tdbb,
//record_param* old_rpb,
record_param* rpb,
jrd_tra* transaction,
MemoryPool* pool,
@ -2398,7 +2396,7 @@ void VIO_modify(thread_db* tdbb, record_param* org_rpb, record_param* new_rpb, j
if (!(transaction->tra_flags & TRA_system) &&
transaction->tra_save_point && transaction->tra_save_point->sav_verb_count)
{
verb_post(tdbb, transaction, org_rpb, org_rpb->rpb_undo, /*new_rpb,*/ false, false);
verb_post(tdbb, transaction, org_rpb, org_rpb->rpb_undo, false, false);
}
return;
}
@ -2431,7 +2429,7 @@ void VIO_modify(thread_db* tdbb, record_param* org_rpb, record_param* new_rpb, j
if (!(transaction->tra_flags & TRA_system) &&
transaction->tra_save_point && transaction->tra_save_point->sav_verb_count)
{
verb_post(tdbb, transaction, org_rpb, 0, /*0,*/ false, false);
verb_post(tdbb, transaction, org_rpb, 0, false, false);
}
// for an autocommit transaction, mark a commit as necessary
@ -2871,7 +2869,7 @@ void VIO_store(thread_db* tdbb, record_param* rpb, jrd_tra* transaction)
if (!(transaction->tra_flags & TRA_system) &&
transaction->tra_save_point && transaction->tra_save_point->sav_verb_count)
{
verb_post(tdbb, transaction, rpb, 0, /*0,*/ false, false);
verb_post(tdbb, transaction, rpb, 0, false, false);
}
// for an autocommit transaction, mark a commit as necessary
@ -3151,7 +3149,7 @@ void VIO_verb_cleanup(thread_db* tdbb, jrd_tra* transaction)
}
update_in_place(tdbb, transaction, &rpb, &new_rpb);
if (!(transaction->tra_flags & TRA_system)) {
garbage_collect_idx(tdbb, &rpb, /*&new_rpb,*/ NULL, NULL);
garbage_collect_idx(tdbb, &rpb, NULL, NULL);
}
rpb.rpb_record = dead_record;
}
@ -3169,7 +3167,7 @@ void VIO_verb_cleanup(thread_db* tdbb, jrd_tra* transaction)
if (!action->vct_undo ||
!action->vct_undo->locate(Firebird::locEqual, rpb.rpb_number.getValue()))
{
verb_post(tdbb, transaction, &rpb, 0, /*0,*/ false, false);
verb_post(tdbb, transaction, &rpb, 0, false, false);
}
else
{
@ -3191,10 +3189,10 @@ void VIO_verb_cleanup(thread_db* tdbb, jrd_tra* transaction)
new_rpb.rpb_record = record;
new_rpb.rpb_address = record->rec_data;
new_rpb.rpb_length = record->rec_length;
verb_post(tdbb, transaction, &rpb, record, /*&new_rpb,*/ same_tx, new_ver);
verb_post(tdbb, transaction, &rpb, record, same_tx, new_ver);
}
else if (same_tx) {
verb_post(tdbb, transaction, &rpb, 0, /*0,*/ true, new_ver);
verb_post(tdbb, transaction, &rpb, 0, true, new_ver);
}
}
} while (accessor.getNext());
@ -3331,7 +3329,7 @@ bool VIO_writelock(thread_db* tdbb, record_param* org_rpb, jrd_tra* transaction)
if (!(transaction->tra_flags & TRA_system) && transaction->tra_save_point)
{
verb_post(tdbb, transaction, org_rpb, 0, /*0,*/ false, false);
verb_post(tdbb, transaction, org_rpb, 0, false, false);
}
// for an autocommit transaction, mark a commit as necessary
@ -3807,7 +3805,7 @@ static void garbage_collect(thread_db* tdbb, record_param* rpb, SLONG prior_page
static void garbage_collect_idx(thread_db* tdbb,
record_param* org_rpb, //record_param* new_rpb,
record_param* org_rpb,
Record* old_data, Record* staying_data)
{
/**************************************
@ -5110,7 +5108,6 @@ static void verb_post(thread_db* tdbb,
jrd_tra* transaction,
record_param* rpb,
Record* old_data,
//record_param* new_rpb,
const bool same_tx, const bool new_ver)
{
/**************************************
@ -5209,7 +5206,7 @@ static void verb_post(thread_db* tdbb,
{
// The passed old_data will not be used. Thus, garbage collect.
garbage_collect_idx(tdbb, rpb, /*new_rpb,*/ old_data, undo);
garbage_collect_idx(tdbb, rpb, old_data, undo);
}
}
else if (old_data)
@ -5224,7 +5221,7 @@ static void verb_post(thread_db* tdbb,
undo = action->vct_undo->current().setupRecord(transaction);
}
garbage_collect_idx(tdbb, rpb, /*new_rpb,*/ old_data, undo);
garbage_collect_idx(tdbb, rpb, old_data, undo);
}
}

View File

@ -48,7 +48,7 @@ void VIO_fini(Jrd::thread_db*);
bool VIO_garbage_collect(Jrd::thread_db*, Jrd::record_param*, const Jrd::jrd_tra*);
Jrd::Record* VIO_gc_record(Jrd::thread_db*, Jrd::jrd_rel*);
bool VIO_get(Jrd::thread_db*, Jrd::record_param*, Jrd::jrd_tra*, MemoryPool*);
bool VIO_get_current(Jrd::thread_db*, /*Jrd::record_param*,*/ Jrd::record_param*, Jrd::jrd_tra*,
bool VIO_get_current(Jrd::thread_db*, Jrd::record_param*, Jrd::jrd_tra*,
MemoryPool*, bool, bool&);
#ifdef GARBAGE_THREAD
void VIO_init(Jrd::thread_db*);

View File

@ -229,7 +229,7 @@ LockManager::~LockManager()
#endif
#if defined HAVE_MMAP || defined WIN_NT
ISC_unmap_object(localStatus, /*&m_shmem,*/ (UCHAR**) &m_process, sizeof(prc));
ISC_unmap_object(localStatus, (UCHAR**) &m_process, sizeof(prc));
#else
m_process = NULL;
#endif

View File

@ -54,8 +54,7 @@ static bool matches(const TEXT*, SSHORT, const TEXT*, SSHORT);
static bool sleuth(qli_nod*, const dsc*, const dsc*, const dsc*);
static bool sleuth_check(USHORT, const UCHAR*, const UCHAR* const, const UCHAR*, const UCHAR* const);
static bool sleuth_class(const USHORT, const UCHAR*, const UCHAR* const, UCHAR);
static int sleuth_merge(const UCHAR*, /*const UCHAR* const,*/ const UCHAR*, const UCHAR* const,
UCHAR* const);
static int sleuth_merge(const UCHAR*, const UCHAR*, const UCHAR* const, UCHAR* const);
static bool string_boolean(qli_nod*);
static bool string_function(qli_nod*, SSHORT, const TEXT*, SSHORT, const TEXT*);
@ -964,9 +963,7 @@ static bool sleuth( qli_nod* node, const dsc* desc1, const dsc* desc2, const dsc
// Merge search and control strings
UCHAR control[256];
l2 = sleuth_merge((const UCHAR*) p2, //(const UCHAR*) (p2 + l2),
(const UCHAR*) p1, (const UCHAR*) (p1 + l1),
control);
l2 = sleuth_merge((const UCHAR*) p2, (const UCHAR*) p1, (const UCHAR*) (p1 + l1), control);
// If source is not a blob, do a simple search
@ -1176,7 +1173,7 @@ static bool sleuth_class( const USHORT flags,
}
static int sleuth_merge(const UCHAR* match, //const UCHAR* const end_match,
static int sleuth_merge(const UCHAR* match,
const UCHAR* control, const UCHAR* const end_control,
UCHAR* const combined)
{