Build Version : T1.5.0.828 Firebird 1.5 Alpha 1 (writeBuildNum.sh,v 1.808 2002/09/25 17:12:13 skidder Exp $ ) Update of /cvsroot/firebird/firebird2/src/jrd In directory usw-pr-cvs1:/tmp/cvs-serv1684/src/jrd Modified Files: ail.cpp all.cpp blb.cpp blob_filter.epp block_cache.h bookmark.cpp btr.cpp cch.cpp cmp.cpp cvt2.cpp dfw.epp dyn_def.epp dyn_del.epp evl.cpp exe.cpp exe.h ext.cpp extvms.cpp fun.epp grant.epp idx.cpp ini.epp intl.cpp intl_builtin.cpp jrd.cpp jrd.h log.cpp met.epp netware.cpp opt.cpp os2.cpp pag.cpp par.cpp plugin_manager.cpp rec.cpp rlck.cpp rng.cpp rse.cpp sbm.cpp scl.epp sdw.cpp sort.cpp sort_mem.cpp sqz.cpp svc.cpp tpc.cpp tra.cpp unix.cpp val.cpp val.h vio.cpp vms.cpp windows.cpp winnt.cpp Log Message: Changed engine to store source file name/line number information for EVERY allocation when DEBUG_GDS_ALLOC is defined. All allocation should be done using FB_NEW or FB_NEW_RPT macros instead of keyword new since now Index: ail.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/ail.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -b -U3 -r1.4 -r1.5 --- ail.cpp 24 Dec 2001 02:50:50 -0000 1.4 +++ ail.cpp 25 Sep 2002 17:12:09 -0000 1.5 @@ -639,7 +639,7 @@ continue; temp_fname = LOGF_NAME(logf); fname_term_length = strlen(temp_fname) + 1; - fname = new(*dbb->dbb_permanent, fname_term_length) str(); + fname = FB_NEW_RPT(*dbb->dbb_permanent, fname_term_length) str(); MOVE_FAST(temp_fname, (SCHAR*)fname->str_data, fname_term_length); LLS_PUSH(fname, stack); } @@ -675,7 +675,7 @@ while (TRUE) { if (!(log_flags & WALFH_RAW)) { fname_term_length = strlen(curr_name) + 1; - fname = new(*dbb->dbb_permanent, fname_term_length) str(); + fname = FB_NEW_RPT(*dbb->dbb_permanent, fname_term_length) str(); MOVE_FAST(curr_name, (SCHAR*)fname->str_data, fname_term_length); LLS_PUSH(fname, stack); } Index: all.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/all.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -b -U3 -r1.4 -r1.5 --- all.cpp 22 Aug 2002 08:20:25 -0000 1.4 +++ all.cpp 25 Sep 2002 17:12:09 -0000 1.5 @@ -136,7 +136,11 @@ } length = strlen(in_string); +#ifdef DEBUG_GDS_ALLOC + string = (STR) pool->allocate(type_str, length, __FILE__, __LINE__); +#else string = (STR) pool->allocate(type_str, length); +#endif /* TMN: Here we should really have the following assert */ /* assert(length <= MAX_USHORT); */ string->str_length = (USHORT) length; @@ -205,7 +209,7 @@ dbb->dbb_permanent->setExtendSize(PERM_EXTEND_SIZE); dbb->dbb_pools[0] = pool; - dbb->dbb_bufferpool = new(*pool) JrdMemoryPool(CACH_EXTEND_SIZE); + dbb->dbb_bufferpool = FB_NEW(*pool) JrdMemoryPool(CACH_EXTEND_SIZE); dbb->dbb_pools[1] = dbb->dbb_bufferpool; } Index: blb.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/blb.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -b -U3 -r1.9 -r1.10 --- blb.cpp 29 Jun 2002 13:00:56 -0000 1.9 +++ blb.cpp 25 Sep 2002 17:12:09 -0000 1.10 @@ -228,7 +228,7 @@ if (to_charset == CS_dynamic) to_charset = tdbb->tdbb_attachment->att_charset; if ((to_charset != CS_NONE) && (from_charset != to_charset)) { - filter = new(*dbb->dbb_permanent) blf(); + filter = FB_NEW(*dbb->dbb_permanent) blf(); filter->blf_filter = reinterpret_cast<STATUS (*)(USHORT, CTL)>(filter_transliterate_text); filter_required = TRUE; @@ -670,7 +670,11 @@ /* Get someplace to put data */ - data = (UCHAR*) dbb->dbb_permanent->allocate(desc->ads_total_length); + data = (UCHAR*) dbb->dbb_permanent->allocate(desc->ads_total_length, 0 +#ifdef DEBUG_GDS_ALLOC + ,__FILE__, __LINE__ +#endif + ); /* zero out memory, so that it does not have to be done for each element */ @@ -806,7 +810,7 @@ dbb = tdbb->tdbb_database; CHECK_DBB(dbb); - new_map = new(*dbb->dbb_permanent) map(); + new_map = FB_NEW(*dbb->dbb_permanent) map(); new_map->map_old_blob = old_blob; new_map->map_new_blob = new_blob; @@ -1088,7 +1092,7 @@ if (to_charset == CS_dynamic) to_charset = tdbb->tdbb_attachment->att_charset; if ((to_charset != CS_NONE) && (from_charset != to_charset)) { - filter = new(*dbb->dbb_permanent) blf(); + filter = FB_NEW(*dbb->dbb_permanent) blf(); filter->blf_filter = reinterpret_cast < STATUS (*) (USHORT, CTL) > (filter_transliterate_text); filter_required = TRUE; @@ -1580,7 +1584,7 @@ desc.dsc_address = (UCHAR*) temp; } else { temp_str = - new(*tdbb->tdbb_default, desc.dsc_length + DOUBLE_ALIGN - 1) str; + FB_NEW_RPT(*tdbb->tdbb_default, desc.dsc_length + DOUBLE_ALIGN - 1) str; desc.dsc_address = (UCHAR *) FB_ALIGN((U_IPTR) temp_str->str_data, DOUBLE_ALIGN); } @@ -1633,7 +1637,7 @@ // Compute size and allocate block USHORT n = MAX(proto_desc->ads_struct_count, proto_desc->ads_dimensions); - ARR array = new(*transaction->tra_pool, n) arr(); + ARR array = FB_NEW_RPT(*transaction->tra_pool, n) arr(); // Copy prototype descriptor @@ -1648,7 +1652,11 @@ // Allocate large block to hold array array->arr_data = - (UCHAR*)dbb->dbb_permanent->allocate(array->arr_desc.ads_total_length); + (UCHAR*)dbb->dbb_permanent->allocate(array->arr_desc.ads_total_length, 0 +#ifdef DEBUG_GDS_ALLOC + ,__FILE__, __LINE__ +#endif + ); return array; } @@ -1672,7 +1680,7 @@ /* Create a blob large enough to hold a single data page */ - BLB blob = new(*transaction->tra_pool, dbb->dbb_page_size) blb(); + BLB blob = FB_NEW_RPT(*transaction->tra_pool, dbb->dbb_page_size) blb(); blob->blb_attachment = tdbb->tdbb_attachment; blob->blb_next = transaction->tra_blobs; transaction->tra_blobs = blob; @@ -1769,7 +1777,7 @@ return SUCCESS; case ACTION_alloc: - return (STATUS) new(*transaction->tra_pool) ctl(); + return (STATUS) FB_NEW(*transaction->tra_pool) ctl(); case ACTION_free: delete control; @@ -1867,7 +1875,7 @@ #endif { - string = new(*tdbb->tdbb_default, input->blb_max_segment) str(); + string = FB_NEW_RPT(*tdbb->tdbb_default, input->blb_max_segment) str(); buff = (UCHAR *) string->str_data; } else { @@ -2409,7 +2417,7 @@ tdbb = GET_THREAD_DATA; tmp_len = array_desc->dsc_length; - tmp_buffer = new(*tdbb->tdbb_default, tmp_len) str(); + tmp_buffer = FB_NEW_RPT(*tdbb->tdbb_default, tmp_len) str(); len = MOV_make_string(slice_desc, INTL_TEXT_TYPE(*array_desc), &p, Index: blob_filter.epp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/blob_filter.epp,v retrieving revision 1.4 retrieving revision 1.5 diff -b -U3 -r1.4 -r1.5 --- blob_filter.epp 29 Jul 2002 15:37:53 -0000 1.4 +++ blob_filter.epp 25 Sep 2002 17:12:09 -0000 1.5 @@ -236,12 +236,12 @@ if (to == BLOB_text && from >= 0 && from < sizeof(filters) / sizeof(filters[0])) { - result = new(*dbb->dbb_permanent) blf; + result = FB_NEW(*dbb->dbb_permanent) blf; result->blf_next = NULL; result->blf_from = from; result->blf_to = to; result->blf_filter = filters[from]; - exception_msg = new(*dbb->dbb_permanent, 100) str; + exception_msg = FB_NEW_RPT(*dbb->dbb_permanent, 100) str; // SIGN ISSUE, arg 1 sprintf((char*)exception_msg->str_data, "Exception occurred in system provided internal filters for filtering internal subtype %d to text.", Index: block_cache.h =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/block_cache.h,v retrieving revision 1.1 retrieving revision 1.2 diff -b -U3 -r1.1 -r1.2 --- block_cache.h 24 Dec 2001 02:50:50 -0000 1.1 +++ block_cache.h 25 Sep 2002 17:12:09 -0000 1.2 @@ -2,6 +2,7 @@ #define _JRD_BLOCK_CACHE_H_ #include "../common/memory/memory_pool.h" +#include "../common/memory/allocators.h" #include "../jrd/smp_impl.h" template <class T> @@ -36,7 +37,7 @@ return result; } lock.release(); - return new(pool) T; + return FB_NEW(pool) T; } template<class T> Index: bookmark.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/bookmark.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -b -U3 -r1.4 -r1.5 --- bookmark.cpp 17 Sep 2002 05:58:35 -0000 1.4 +++ bookmark.cpp 25 Sep 2002 17:12:09 -0000 1.5 @@ -64,7 +64,7 @@ /* allocate the bookmark and link it into the linked list hanging off the attachment block */ - bookmark = new(*dbb->dbb_permanent, length) bkm(); + bookmark = FB_NEW_RPT(*dbb->dbb_permanent, length) bkm(); attachment = tdbb->tdbb_attachment; bookmark->bkm_next = attachment->att_bookmarks; Index: btr.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/btr.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -b -U3 -r1.6 -r1.7 --- btr.cpp 24 Sep 2002 12:57:07 -0000 1.6 +++ btr.cpp 25 Sep 2002 17:12:09 -0000 1.7 @@ -240,7 +240,7 @@ if ((SLONG) (root->irt_count * sizeof(IDX)) > *idx_size) { size = (sizeof(IDX) * MAX_IDX) + ALIGNMENT; - *csb_idx_allocation = new_buffer = new(*dbb->dbb_permanent, size) str(); + *csb_idx_allocation = new_buffer = FB_NEW_RPT(*dbb->dbb_permanent, size) str(); buffer = *start_buffer = (IDX *) FB_ALIGN((U_IPTR) new_buffer->str_data, ALIGNMENT); *idx_size = size - ALIGNMENT; @@ -2263,7 +2263,11 @@ dbb = tdbb->tdbb_database; CHECK_DBB(dbb); - temp = (UCHAR *) tdbb->tdbb_default->allocate((SLONG) dbb->dbb_page_size); + temp = (UCHAR *) tdbb->tdbb_default->allocate((SLONG) dbb->dbb_page_size, 0 +#ifdef DEBUG_GDS_ALLOC + ,__FILE__,__LINE__ +#endif + ); MOVE_FASTER(page, temp, dbb->dbb_page_size); p = temp + dbb->dbb_page_size; Index: cch.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/cch.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -b -U3 -r1.12 -r1.13 --- cch.cpp 24 Sep 2002 12:57:07 -0000 1.12 +++ cch.cpp 25 Sep 2002 17:12:09 -0000 1.13 @@ -1414,7 +1414,7 @@ while (!bcb_) { try { - bcb_ = new(*dbb->dbb_bufferpool, number) bcb; + bcb_ = FB_NEW_RPT(*dbb->dbb_bufferpool, number) bcb; } catch(...) { /* If the buffer control block can't be allocated, memory is very low. Recalculate the number of buffers to account for @@ -1782,7 +1782,7 @@ SET_TDBB(tdbb); dbb = tdbb->tdbb_database; - lock = new(*dbb->dbb_bufferpool, sizeof(SLONG)) lck; + lock = FB_NEW_RPT(*dbb->dbb_bufferpool, sizeof(SLONG)) lck; lock->lck_type = LCK_bdb; lock->lck_owner_handle = LCK_get_owner_handle(tdbb, lock->lck_type); lock->lck_length = sizeof(SLONG); @@ -2459,7 +2459,11 @@ and set up to release it in case of error */ spare_buffer = - (SLONG *) dbb->dbb_bufferpool->allocate((SLONG) dbb->dbb_page_size); + (SLONG *) dbb->dbb_bufferpool->allocate((SLONG) dbb->dbb_page_size,0 +#ifdef DEBUG_GDS_ALLOC + ,__FILE__,__LINE__ +#endif + ); page = (PAG) spare_buffer; MOVE_FAST((UCHAR *) bdb->bdb_buffer, (UCHAR *) page, HDR_SIZE); @@ -2585,7 +2589,7 @@ SET_TDBB(tdbb); dbb = tdbb->tdbb_database; - bdb_ = new(*dbb->dbb_bufferpool) bdb; + bdb_ = FB_NEW(*dbb->dbb_bufferpool) bdb; bdb_->bdb_dbb = dbb; #ifndef PAGE_LATCHING @@ -2999,7 +3003,7 @@ tdbb->tdbb_default = dbb->dbb_bufferpool; tdbb->tdbb_status_vector = status_vector; tdbb->tdbb_quantum = QUANTUM; - tdbb->tdbb_attachment = new(*dbb->dbb_bufferpool) att(); + tdbb->tdbb_attachment = FB_NEW(*dbb->dbb_bufferpool) att(); tdbb->tdbb_attachment->att_database = dbb; /* This try block is specifically to protect the LCK_init call: if @@ -3167,7 +3171,7 @@ tdbb->tdbb_default = dbb->dbb_bufferpool; tdbb->tdbb_status_vector = status_vector; tdbb->tdbb_quantum = QUANTUM; - tdbb->tdbb_attachment = new(*dbb->dbb_bufferpool) att; + tdbb->tdbb_attachment = FB_NEW(*dbb->dbb_bufferpool) att; tdbb->tdbb_attachment->att_database = dbb; /* This try block is specifically to protect the LCK_init call: if @@ -3439,7 +3443,7 @@ if ( (precedence = bcb->bcb_free) ) bcb->bcb_free = (PRE) precedence->pre_hi; else - precedence = new(*dbb->dbb_bufferpool) pre; + precedence = FB_NEW(*dbb->dbb_bufferpool) pre; precedence->pre_low = low; precedence->pre_hi = high; @@ -3707,7 +3711,7 @@ old = dbb->dbb_bcb; old_end = old->bcb_rpt + old->bcb_count; - BCB new_ = new(*dbb->dbb_bufferpool, number) bcb; + BCB new_ = FB_NEW_RPT(*dbb->dbb_bufferpool, number) bcb; new_->bcb_count = number; new_->bcb_free_minimum = (SSHORT) MIN(number / 4, 128); /* 25% clean page reserve */ new_->bcb_checkpoint = old->bcb_checkpoint; @@ -4322,7 +4326,7 @@ lwt_ = (LWT) BLOCK(que, LWT, lwt_waiters); } else { - lwt_ = new(*dbb->dbb_bufferpool) lwt; + lwt_ = FB_NEW(*dbb->dbb_bufferpool) lwt; QUE_INIT(lwt_->lwt_waiters); ISC_event_init(&lwt_->lwt_event, 0, 0); } Index: cmp.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/cmp.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -b -U3 -r1.10 -r1.11 --- cmp.cpp 19 Sep 2002 16:02:56 -0000 1.10 +++ cmp.cpp 25 Sep 2002 17:12:09 -0000 1.11 @@ -290,7 +290,7 @@ n = (USHORT) ((request->req_impure_size - REQ_SIZE + REQ_TAIL - 1) / REQ_TAIL); - clone = new(*request->req_pool, n) req; + clone = FB_NEW_RPT(*request->req_pool, n) req; (*vector)[level] = (BLK) clone; clone->req_attachment = tdbb->tdbb_attachment; clone->req_count = request->req_count; @@ -356,7 +356,7 @@ SET_TDBB(tdbb); JrdMemoryPool* old_pool = tdbb->tdbb_default; - JrdMemoryPool* new_pool = new(*tdbb->tdbb_database->dbb_permanent) + JrdMemoryPool* new_pool = FB_NEW(*tdbb->tdbb_database->dbb_permanent) JrdMemoryPool; tdbb->tdbb_default = new_pool; @@ -1636,13 +1636,13 @@ if (index->idl_id == id) return index; - index = new(*dbb->dbb_permanent) idl(); + index = FB_NEW(*dbb->dbb_permanent) idl(); index->idl_next = relation->rel_index_locks; relation->rel_index_locks = index; index->idl_relation = relation; index->idl_id = id; - index->idl_lock = lock = new(*dbb->dbb_permanent, 0) lck; + index->idl_lock = lock = FB_NEW_RPT(*dbb->dbb_permanent, 0) lck; lock->lck_parent = dbb->dbb_lock; lock->lck_dbb = dbb; lock->lck_key.lck_long = relation->rel_id * 1000 + id; @@ -1724,7 +1724,7 @@ count of hold the impure areas. */ int n = (csb->csb_impure - REQ_SIZE + REQ_TAIL - 1) / REQ_TAIL; - request = new(*tdbb->tdbb_default, n) req; + request = FB_NEW_RPT(*tdbb->tdbb_default, n) req; request->req_count = csb->csb_n_stream; request->req_pool = tdbb->tdbb_default; request->req_impure_size = csb->csb_impure; @@ -1919,7 +1919,7 @@ } - access = new(*tdbb->tdbb_default) acc; + access = FB_NEW(*tdbb->tdbb_default) acc; /* append the security class to the existing list */ if (last_entry) @@ -1979,7 +1979,7 @@ if (resource->rsc_type == type && resource->rsc_id == id) return; - resource = new(*tdbb->tdbb_default) Rsc; + resource = FB_NEW(*tdbb->tdbb_default) Rsc; resource->rsc_next = *rsc_ptr; *rsc_ptr = resource; resource->rsc_type = type; @@ -2232,7 +2232,7 @@ SET_TDBB(tdbb); - string = new(*tdbb->tdbb_default, MAP_LENGTH) str; + string = FB_NEW_RPT(*tdbb->tdbb_default, MAP_LENGTH) str; string->str_length = MAP_LENGTH; (*csb)->csb_rpt[stream].csb_map = (UCHAR *) string->str_data; /* TMN: Here we should really have the following assert */ Index: cvt2.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/cvt2.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -b -U3 -r1.6 -r1.7 --- cvt2.cpp 17 Sep 2002 05:58:35 -0000 1.6 +++ cvt2.cpp 25 Sep 2002 17:12:09 -0000 1.7 @@ -616,7 +616,7 @@ #ifdef STACK_REDUCTION /* do a block allocate */ - temp_str = new (*tdbb->tdbb_default, sizeof(UCHAR) * (2 * BUFFER_LARGE)) str(); + temp_str = FB_NEW_RPT(*tdbb->tdbb_default, sizeof(UCHAR) * (2 * BUFFER_LARGE)) str(); buffer1 = temp_str->str_data; buffer2 = buffer1 + BUFFER_LARGE; #endif @@ -783,12 +783,12 @@ #ifdef STACK_REDUCTION /* do a block allocate */ - temp_str = new (*tdbb->tdbb_default, sizeof(UCHAR) * arg2->dsc_length) str(); + temp_str = FB_NEW_RPT(*tdbb->tdbb_default, sizeof(UCHAR) * arg2->dsc_length) str(); dbuf = temp_str->str_data; #else if (arg2->dsc_length > BUFFER_LARGE) { - temp_str = new (*tdbb->tdbb_default, sizeof(UCHAR) * arg2->dsc_length) str(); + temp_str = FB_NEW_RPT(*tdbb->tdbb_default, sizeof(UCHAR) * arg2->dsc_length) str(); dbuf = temp_str->str_data; } else @@ -916,7 +916,7 @@ cs2, from_buf, from_len, err); tempptr = (UCHAR *) temp; if (needed_len > length) { - *ptr = new(*tdbb->tdbb_default, needed_len) str(); + *ptr = FB_NEW_RPT(*tdbb->tdbb_default, needed_len) str(); (*ptr)->str_length = needed_len; tempptr = (*ptr)->str_data; length = needed_len; Index: dfw.epp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/dfw.epp,v retrieving revision 1.12 retrieving revision 1.13 diff -b -U3 -r1.12 -r1.13 --- dfw.epp 19 Sep 2002 16:02:57 -0000 1.12 +++ dfw.epp 25 Sep 2002 17:12:09 -0000 1.13 @@ -718,7 +718,7 @@ /* Not already posted, so do so now. */ - *ptr = work = new(*transaction->tra_pool, length) dfw; + *ptr = work = FB_NEW_RPT(*transaction->tra_pool, length) dfw; work->dfw_type = type; work->dfw_id = id; work->dfw_count = 1; @@ -1854,7 +1854,7 @@ /* Take a relation lock on rel id -1 before actually generating a relation id. */ - work->dfw_lock = lock = new(*tdbb->tdbb_default, sizeof(SLONG)) lck; + work->dfw_lock = lock = FB_NEW_RPT(*tdbb->tdbb_default, sizeof(SLONG)) lck; lock->lck_dbb = dbb; lock->lck_attachment = tdbb->tdbb_attachment; lock->lck_length = sizeof(SLONG); @@ -3194,7 +3194,7 @@ if (procedure && !NULL_BLOB(blob_id)) { old_pool = tdbb->tdbb_default; - tdbb->tdbb_default = new(*dbb->dbb_permanent) JrdMemoryPool; + tdbb->tdbb_default = FB_NEW(*dbb->dbb_permanent) JrdMemoryPool; MET_get_dependencies(tdbb, (struct rel*)NULL_PTR, (TEXT*)NULL_PTR, @@ -3659,7 +3659,7 @@ /* Make a temporary field block */ - tfb_ = new(*tdbb->tdbb_default) tfb; + tfb_ = FB_NEW(*tdbb->tdbb_default) tfb; tfb_->tfb_next = stack; stack = tfb_; @@ -3702,7 +3702,7 @@ if (external_flag) { - tfb_ = new(*tdbb->tdbb_default) tfb; + tfb_ = FB_NEW(*tdbb->tdbb_default) tfb; tfb_->tfb_next = external; external = tfb_; assert(FLD.RDB$EXTERNAL_TYPE <= MAX_UCHAR); Index: dyn_def.epp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/dyn_def.epp,v retrieving revision 1.15 retrieving revision 1.16 diff -b -U3 -r1.15 -r1.16 --- dyn_def.epp 16 Sep 2002 16:31:38 -0000 1.15 +++ dyn_def.epp 25 Sep 2002 17:12:09 -0000 1.16 @@ -433,7 +433,7 @@ } unique_count++; - str_ = new(*tdbb->tdbb_default, sizeof(IDS.RDB$FIELD_NAME) - 1) str(); + str_ = FB_NEW_RPT(*tdbb->tdbb_default, sizeof(IDS.RDB$FIELD_NAME) - 1) str(); strcpy((char*)str_->str_data, IDS.RDB$FIELD_NAME); LLS_PUSH(str_, &field_list); END_FOR; @@ -1729,7 +1729,7 @@ break; case gds_dyn_fld_name: - str_ = new(*tdbb->tdbb_default, field_name_size - 1) str(); + str_ = FB_NEW_RPT(*tdbb->tdbb_default, field_name_size - 1) str(); DYN_get_string((TEXT**)ptr, (TEXT*)str_->str_data, field_name_size, TRUE); LLS_PUSH(str_, &seg_list); seg_count++; @@ -1837,7 +1837,7 @@ break; case gds_dyn_idx_ref_column: - str_ = new(*tdbb->tdbb_default, field_name_size - 1) str(); + str_ = FB_NEW_RPT(*tdbb->tdbb_default, field_name_size - 1) str(); DYN_get_string((TEXT**)ptr, (TEXT*)str_->str_data, field_name_size, TRUE); LLS_PUSH(str_, &field_list); referred_cols++; Index: dyn_del.epp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/dyn_del.epp,v retrieving revision 1.10 retrieving revision 1.11 diff -b -U3 -r1.10 -r1.11 --- dyn_del.epp 16 Sep 2002 16:31:38 -0000 1.10 +++ dyn_del.epp 25 Sep 2002 17:12:09 -0000 1.11 @@ -1501,7 +1501,7 @@ ERASE FIL; /**** - file = new(*tdbb->tdbb_default, sizeof (FIL.RDB$FILE_NAME) - 1) str(); + file = FB_NEW_RPT(*tdbb->tdbb_default, sizeof (FIL.RDB$FILE_NAME) - 1) str(); strcpy (file->str_data, FIL.RDB$FILE_NAME); LLS_PUSH (file, &files); ****/ Index: evl.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/evl.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -b -U3 -r1.14 -r1.15 --- evl.cpp 17 Sep 2002 05:58:35 -0000 1.14 +++ evl.cpp 25 Sep 2002 17:12:09 -0000 1.15 @@ -1821,7 +1821,7 @@ } if (!string) { - string = value->vlu_string = new(*tdbb->tdbb_default, length) str(); + string = value->vlu_string = FB_NEW_RPT(*tdbb->tdbb_default, length) str(); string->str_length = length; } @@ -1867,11 +1867,11 @@ len2 = obj->to_wc(NULL, 0, p2, l2, &err_code, &err_pos); if (len1 > sizeof(buffer1)) { - buf1 = new(*tdbb->tdbb_default, len1) str(); + buf1 = FB_NEW_RPT(*tdbb->tdbb_default, len1) str(); pp1 = (USHORT *) buf1->str_data; } if (len2 > sizeof(buffer2)) { - buf2 = new(*tdbb->tdbb_default, len2) str(); + buf2 = FB_NEW_RPT(*tdbb->tdbb_default, len2) str(); pp2 = (USHORT *) buf2->str_data; } @@ -1924,11 +1924,11 @@ len1 = obj->to_wc(NULL, 0, p1, l1, &err_code, &err_pos); len2 = obj->to_wc(NULL, 0, p2, l2, &err_code, &err_pos); if (len1 > sizeof(buffer1)) { - buf1 = new(*tdbb->tdbb_default, len1) str(); + buf1 = FB_NEW_RPT(*tdbb->tdbb_default, len1) str(); pp1 = (USHORT *) buf1->str_data; } if (len2 > sizeof(buffer2)) { - buf2 = new(*tdbb->tdbb_default, len2) str(); + buf2 = FB_NEW_RPT(*tdbb->tdbb_default, len2) str(); pp2 = (USHORT *) buf2->str_data; } @@ -1977,11 +1977,11 @@ len1 = obj->to_wc(NULL, 0, p1, l1, &err_code, &err_pos); len2 = obj->to_wc(NULL, 0, p2, l2, &err_code, &err_pos); if (len1 > sizeof(buffer1)) { - buf1 = new(*tdbb->tdbb_default, len1) str(); + buf1 = FB_NEW_RPT(*tdbb->tdbb_default, len1) str(); pp1 = (USHORT *) buf1->str_data; } if (len2 > sizeof(buffer2)) { - buf2 = new(*tdbb->tdbb_default, len2) str(); + buf2 = FB_NEW_RPT(*tdbb->tdbb_default, len2) str(); pp2 = (USHORT *) buf2->str_data; } @@ -2037,7 +2037,7 @@ len1 = obj->to_wc(NULL, 0, search, search_bytes, &err_code, &err_pos); if (len1 > sizeof(buffer1)) { - buf1 = new(*tdbb->tdbb_default, len1) str(); + buf1 = FB_NEW_RPT(*tdbb->tdbb_default, len1) str(); pp1 = (USHORT *) buf1->str_data; } @@ -2091,11 +2091,11 @@ len1 = obj->to_wc(NULL, 0, match, match_bytes, &err_code, &err_pos); len2 = obj->to_wc(NULL, 0, control, control_bytes, &err_code, &err_pos); if (len1 > sizeof(buffer1)) { - buf1 = new(*tdbb->tdbb_default, len1) str(); + buf1 = FB_NEW_RPT(*tdbb->tdbb_default, len1) str(); pp1 = (USHORT *) buf1->str_data; } if (len2 > sizeof(buffer2)) { - buf2 = new(*tdbb->tdbb_default, len2) str(); + buf2 = FB_NEW_RPT(*tdbb->tdbb_default, len2) str(); pp2 = (USHORT *) buf2->str_data; } @@ -3088,7 +3088,7 @@ } if (!string) { - string = impure->vlu_string = new(*tdbb->tdbb_default, length) str(); + string = impure->vlu_string = FB_NEW_RPT(*tdbb->tdbb_default, length) str(); string->str_length = length; } @@ -4524,7 +4524,7 @@ #ifdef STACK_REDUCTION /* do a block allocate */ - temp_str = new(*tdbb->tdbb_default, ((SLONG) + temp_str = FB_NEW_RPT(*tdbb->tdbb_default, ((SLONG) (sizeof(UCHAR) * (2 * TEMP_LENGTH + BUFFER_LARGE + BUFFER_SMALL)))) str(); @@ -4650,7 +4650,7 @@ #ifdef STACK_REDUCTION /* do a block allocation of local variables */ temp_str = - new(*tdbb->tdbb_default, + FB_NEW_RPT(*tdbb->tdbb_default, (SLONG) (sizeof(UCHAR) * (2 * TEMP_LENGTH + BUFFER_LARGE))) str(); temp1 = temp_str->str_data; @@ -4794,7 +4794,7 @@ UCHAR *temp3; SET_TDBB(tdbb); - temp_str = new(*tdbb->tdbb_default, (sizeof(UCHAR) * TEMP_LENGTH)) str(); + temp_str = FB_NEW_RPT(*tdbb->tdbb_default, (sizeof(UCHAR) * TEMP_LENGTH)) str(); temp3 = temp_str->str_data; #endif @@ -4871,7 +4871,7 @@ else { USHORT bufflen = MAX(BUFFER_LARGE, length); - STR temp_str = new(*tdbb->tdbb_default, sizeof(UCHAR) * bufflen) str(); + STR temp_str = FB_NEW_RPT(*tdbb->tdbb_default, sizeof(UCHAR) * bufflen) str(); UCHAR *buffer = temp_str->str_data; USHORT datalen = 0; Index: exe.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/exe.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -b -U3 -r1.17 -r1.18 --- exe.cpp 19 Sep 2002 16:02:57 -0000 1.17 +++ exe.cpp 25 Sep 2002 17:12:09 -0000 1.18 @@ -1334,7 +1334,7 @@ UCHAR *p; vary *v = reinterpret_cast <vary*> ( - new(*tdbb->tdbb_transaction->tra_pool) char[BUFFER_LARGE + sizeof(vary)]); + FB_NEW(*tdbb->tdbb_transaction->tra_pool) char[BUFFER_LARGE + sizeof(vary)]); v->vary_length = BUFFER_LARGE; SSHORT l; STATUS *status, local[ISC_STATUS_LENGTH]; @@ -1434,7 +1434,7 @@ format = (FMT) procedure->prc_output_msg->nod_arg[e_msg_format]; out_msg_length = format->fmt_length; temp_buffer = - new(*tdbb->tdbb_default, out_msg_length + DOUBLE_ALIGN - 1) str(); + FB_NEW_RPT(*tdbb->tdbb_default, out_msg_length + DOUBLE_ALIGN - 1) str(); out_msg = (SCHAR *) FB_ALIGN((U_IPTR) temp_buffer->str_data, DOUBLE_ALIGN); } @@ -1855,7 +1855,7 @@ if (variable->vlu_desc.dsc_dtype <= dtype_varying && !variable->vlu_string) { variable->vlu_string = - new(*tdbb->tdbb_default, + FB_NEW_RPT(*tdbb->tdbb_default, variable->vlu_desc.dsc_length) str(); variable->vlu_string->str_length = variable->vlu_desc.dsc_length; Index: exe.h =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/exe.h,v retrieving revision 1.4 retrieving revision 1.5 diff -b -U3 -r1.4 -r1.5 --- exe.h 22 Aug 2002 08:20:26 -0000 1.4 +++ exe.h 25 Sep 2002 17:12:09 -0000 1.5 @@ -559,7 +559,7 @@ {} static Csb* newCsb(MemoryPool& p, size_t len) - { return new(p) Csb(p, len); } + { return FB_NEW(p) Csb(p, len); } UCHAR* csb_blr; UCHAR* csb_running; Index: ext.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/ext.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -b -U3 -r1.9 -r1.10 --- ext.cpp 30 Jun 2002 10:15:57 -0000 1.9 +++ ext.cpp 25 Sep 2002 17:12:09 -0000 1.10 @@ -172,7 +172,7 @@ if (!_access(ib_file_path, 4)) { relation->rel_file = file = - new(*dbb->dbb_permanent, strlen(ib_file_path) + 1) ext(); + FB_NEW_RPT(*dbb->dbb_permanent, strlen(ib_file_path) + 1) ext(); strcpy(reinterpret_cast<char*>(file->ext_filename), absolute_file); found_dir = TRUE; } @@ -182,12 +182,12 @@ if (!found_dir) { relation->rel_file = file = - new(*dbb->dbb_permanent, strlen(file_name) + 1) ext(); + FB_NEW_RPT(*dbb->dbb_permanent, strlen(file_name) + 1) ext(); strcpy(reinterpret_cast<char*>(file->ext_filename), file_name); } #else relation->rel_file = file = - new(*dbb->dbb_permanent, (strlen(file_name) + 1)) ext(); + FB_NEW_RPT(*dbb->dbb_permanent, (strlen(file_name) + 1)) ext(); strcpy(reinterpret_cast<char*>(file->ext_filename), file_name); #endif @@ -476,7 +476,7 @@ */ - rsb_ = new(*tdbb->tdbb_default,0) Rsb; + rsb_ = FB_NEW_RPT(*tdbb->tdbb_default,0) Rsb; rsb_->rsb_type = rsb_ext_sequential; size = sizeof(struct irsb); Index: extvms.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/extvms.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -b -U3 -r1.3 -r1.4 --- extvms.cpp 24 Dec 2001 02:50:51 -0000 1.3 +++ extvms.cpp 25 Sep 2002 17:12:09 -0000 1.4 @@ -169,7 +169,7 @@ format. */ l = strlen(file_name); - relation->rel_file = file = new(dbb->dbb_permanent, l) ext(); + relation->rel_file = file = FB_NEW_RPT(dbb->dbb_permanent, l) ext(); strcpy(file->ext_filename, file_name); format = file->ext_format = MET_format(tdbb, relation, 0); expand_format(format, MET_current(tdbb, relation)); @@ -243,7 +243,7 @@ index = (IDX *) (index->idx_rpt + index->idx_count); } if (l = (UCHAR *) index - index_buffer) { - string = new(tdbb->tdbb_default, l) str(); + string = FB_NEW_RPT(tdbb->tdbb_default, l) str(); MOVE_FAST(index_buffer, string->str_data, l); file->ext_indices = string->str_data; } @@ -486,21 +486,21 @@ block */ if (dbkey) { - rsb = new(tdbb->tdbb_default, 1) rsb(); + rsb = FB_NEW_RPT(tdbb->tdbb_default, 1) rsb(); rsb->rsb_type = rsb_ext_dbkey; rsb->rsb_count = 1; size = sizeof(struct irsb_index); rsb->rsb_arg[0] = (RSB) dbkey; } else if (inversion) { - rsb = new(tdbb->tdbb_default, 1) rsb(); + rsb = FB_NEW_RPT(tdbb->tdbb_default, 1) rsb(); rsb->rsb_type = rsb_ext_indexed; rsb->rsb_count = 1; size = sizeof(struct irsb_index); rsb->rsb_arg[0] = (RSB) inversion; } else { - rsb = new(tdbb->tdbb_default) rsb(); + rsb = FB_NEW(tdbb->tdbb_default) rsb(); rsb->rsb_type = rsb_ext_sequential; size = sizeof(struct irsb); } Index: fun.epp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/fun.epp,v retrieving revision 1.8 retrieving revision 1.9 diff -b -U3 -r1.8 -r1.9 --- fun.epp 6 Sep 2002 13:05:33 -0000 1.8 +++ fun.epp 25 Sep 2002 17:12:09 -0000 1.9 @@ -120,7 +120,7 @@ a number of data blocks with aligned length */ temp_string = - new(*tdbb->tdbb_default, + FB_NEW_RPT(*tdbb->tdbb_default, function->fun_temp_length + DOUBLE_ALIGN - 1) str; MOVE_CLEAR(temp_string->str_data, temp_string->str_length); temp_ptr = @@ -161,7 +161,7 @@ string = NULL; } if (!string) { - string = new(*tdbb->tdbb_default, length) str; + string = FB_NEW_RPT(*tdbb->tdbb_default, length) str; string->str_length = length; value->vlu_string = string; } @@ -720,7 +720,7 @@ l = sizeof(struct blob); length += l; END_FOR; - function = new(*dbb->dbb_permanent, count + 1) fun; + function = FB_NEW_RPT(*dbb->dbb_permanent, count + 1) fun; function->fun_count = count; function->fun_args = args; function->fun_return_arg = X.RDB$RETURN_ARGUMENT; @@ -739,7 +739,7 @@ causes an exception. This is done at this time to save us from preparing (thus allocating) this message every time the function is called. */ exception_msg = - new(*dbb->dbb_permanent, + FB_NEW_RPT(*dbb->dbb_permanent, strlen(EXCEPTION_MESSAGE) + strlen(name) + strlen(X.RDB$ENTRYPOINT) + strlen(X.RDB$MODULE_NAME) + 1) str; @@ -792,9 +792,9 @@ else { prior = function; - function->fun_symbol = symbol = new(*dbb->dbb_permanent) sym; + function->fun_symbol = symbol = FB_NEW(*dbb->dbb_permanent) sym; symbol->sym_object = (BLK) function; - string = new(*dbb->dbb_permanent, strlen(name)) str; + string = FB_NEW_RPT(*dbb->dbb_permanent, strlen(name)) str; strcpy((char*)string->str_data, name); symbol->sym_string = (TEXT *) string->str_data; symbol->sym_type = SYM_fun; Index: grant.epp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/grant.epp,v retrieving revision 1.6 retrieving revision 1.7 diff -b -U3 -r1.6 -r1.7 --- grant.epp 5 Jul 2002 15:00:20 -0000 1.6 +++ grant.epp 25 Sep 2002 17:12:09 -0000 1.7 @@ -175,8 +175,8 @@ try { - str_buffer = new(*dbb->dbb_permanent, ACL_BUFFER_SIZE) str; - str_default_buffer = new(*dbb->dbb_permanent, ACL_BUFFER_SIZE) str; + str_buffer = FB_NEW_RPT(*dbb->dbb_permanent, ACL_BUFFER_SIZE) str; + str_default_buffer = FB_NEW_RPT(*dbb->dbb_permanent, ACL_BUFFER_SIZE) str; acl = str_buffer->str_data; @@ -798,8 +798,8 @@ /* initialize the field-level acl buffer to include all relation-level privs */ - str_field_buffer_start = new(*dbb->dbb_permanent, *length_ptr) str; - str_field_buffer = new(*dbb->dbb_permanent, *length_ptr) str; + str_field_buffer_start = FB_NEW_RPT(*dbb->dbb_permanent, *length_ptr) str; + str_field_buffer = FB_NEW_RPT(*dbb->dbb_permanent, *length_ptr) str; field_length = start_length = *length_ptr; Index: idx.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/idx.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -b -U3 -r1.5 -r1.6 --- idx.cpp 31 Mar 2002 00:38:21 -0000 1.5 +++ idx.cpp 25 Sep 2002 17:12:09 -0000 1.6 @@ -478,7 +478,7 @@ dbb = tdbb->tdbb_database; CHECK_DBB(dbb); - index_block = new(*dbb->dbb_permanent) idb(); + index_block = FB_NEW(*dbb->dbb_permanent) idb(); index_block->idb_id = id; /* link the block in with the relation linked list */ @@ -490,7 +490,7 @@ any modification to the index so that the cached information about the index will be discarded */ - index_block->idb_lock = lock = new(*dbb->dbb_permanent, 0) lck; + index_block->idb_lock = lock = FB_NEW_RPT(*dbb->dbb_permanent, 0) lck; lock->lck_parent = dbb->dbb_lock; lock->lck_dbb = dbb; lock->lck_key.lck_long = index_block->idb_id; Index: ini.epp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/ini.epp,v retrieving revision 1.5 retrieving revision 1.6 diff -b -U3 -r1.5 -r1.6 --- ini.epp 4 Jun 2002 19:56:15 -0000 1.5 +++ ini.epp 25 Sep 2002 17:12:09 -0000 1.6 @@ -543,7 +543,7 @@ gfield = &gfields[fld_[RFLD_F_ID]]; desc->dsc_length = gfield->gfld_length; desc->dsc_dtype = gfield->gfld_dtype; - *itr = field = new(*dbb->dbb_permanent,0) fld(); + *itr = field = FB_NEW_RPT(*dbb->dbb_permanent,0) fld(); field->fld_name = names[fld_[RFLD_F_NAME]]; field->fld_length = strlen(field->fld_name); } Index: intl.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/intl.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -b -U3 -r1.13 -r1.14 --- intl.cpp 11 Sep 2002 19:37:30 -0000 1.13 +++ intl.cpp 25 Sep 2002 17:12:09 -0000 1.14 @@ -500,7 +500,7 @@ /* ** allocate a temporary buffer that is large enough. 2 = sizeof WCHAR */ - tmp_buffer = (BYTE *) new(*getDefaultMemoryPool()) char[(SLONG) src_len * 2]; + tmp_buffer = (BYTE *) FB_NEW(*getDefaultMemoryPool()) char[(SLONG) src_len * 2]; cs_obj = from_cs->getConvToUnicode(); assert(cs_obj != NULL); @@ -1015,7 +1015,7 @@ if (!newCs) return NULL; - cs = new(*dbb->dbb_permanent) CharSetContainer(*dbb->dbb_permanent, newCs); + cs = FB_NEW(*dbb->dbb_permanent) CharSetContainer(*dbb->dbb_permanent, newCs); if (!cs) { delete newCs; @@ -1942,8 +1942,8 @@ (char*)csStruct->charset_space_character), cs(csStruct) { - charset_to_unicode = new(p) CsConvert_BC(&cs->charset_to_unicode, false); - charset_from_unicode = new(p) CsConvert_BC(&cs->charset_from_unicode, false); + charset_to_unicode = FB_NEW(p) CsConvert_BC(&cs->charset_to_unicode, false); + charset_from_unicode = FB_NEW(p) CsConvert_BC(&cs->charset_from_unicode, false); } ~CharSet_BC() { delete cs; } @@ -2293,7 +2293,7 @@ csInitFunc = (CSInitFunc) intl_back_compat_obj_init_lookup(type_charset, cs_id, unused); assert(csInitFunc != 0); - CHARSET cs = new(p) charset; + CHARSET cs = FB_NEW(p) charset; memset(cs, 0, sizeof(charset)); if (0 != (*csInitFunc)(cs, cs_id, unused)) @@ -2305,7 +2305,7 @@ CharSet *result = 0; try { - result = new(p) CharSet_BC(p, cs); + result = FB_NEW(p) CharSet_BC(p, cs); } catch(std::exception&) { @@ -2324,7 +2324,7 @@ //cvtInitFunc = (CVTInitFunc) intl_back_compat_obj_init_lookup(type_csconvert, from_id, to_id); cvtInitFunc = (CVTInitFunc) intl_back_compat_obj_init_lookup(type_csconvert, to_id, from_id); assert(cvtInitFunc != 0); - CSCONVERT cvt = new(p) csconvert; + CSCONVERT cvt = FB_NEW(p) csconvert; memset(cvt, 0, sizeof(csconvert)); //if (0 != (*cvtInitFunc)(cvt, from_id, to_id)) @@ -2337,7 +2337,7 @@ CsConvert *result = 0; try { - result = new(p) CsConvert_BC(cvt, true); + result = FB_NEW(p) CsConvert_BC(cvt, true); } catch(std::exception&) { @@ -2355,7 +2355,7 @@ ttInitFunc = (TTInitFunc) intl_back_compat_obj_init_lookup(type_texttype, tt_id, unused); assert(ttInitFunc != 0); - TEXTTYPE tt = new(p) texttype; + TEXTTYPE tt = FB_NEW(p) texttype; memset(tt, 0, sizeof(texttype)); if (0 != (*ttInitFunc)(tt, tt_id, unused)) @@ -2368,11 +2368,11 @@ try { if (tt->texttype_bytes_per_char == 1 && tt->texttype_fn_to_wc == NULL) - result = new(p) TextType_BC<TextTypeNC>(tt); + result = FB_NEW(p) TextType_BC<TextTypeNC>(tt); else if (tt->texttype_bytes_per_char == 2 && tt->texttype_fn_to_wc == NULL) - result = new(p) TextType_BC<TextTypeWC>(tt); + result = FB_NEW(p) TextType_BC<TextTypeWC>(tt); else if (tt->texttype_fn_to_wc != NULL) - result = new(p) TextType_BC<TextTypeMB>(tt); + result = FB_NEW(p) TextType_BC<TextTypeMB>(tt); else BUGCHECK(1); } Index: intl_builtin.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/intl_builtin.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -b -U3 -r1.3 -r1.4 --- intl_builtin.cpp 25 Sep 2002 07:18:49 -0000 1.3 +++ intl_builtin.cpp 25 Sep 2002 17:12:09 -0000 1.4 @@ -47,7 +47,7 @@ { public: static TextType *object_factory(MemoryPool &p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) TextType_Binary; } + { return FB_NEW(p) TextType_Binary; } TextType_Binary() : TextTypeNC(ttype_binary, "C.OCTETS", CS_BINARY, CC_C, 1) {} @@ -82,7 +82,7 @@ { public: static TextType *object_factory(MemoryPool &p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) TextType_UFSS; } + { return FB_NEW(p) TextType_UFSS; } TextType_UFSS() : TextTypeMB(ttype_unicode_fss, "C.UNICODE_FSS", CS_UNICODE_FSS, CC_C, 3) {} @@ -129,7 +129,7 @@ { public: static TextType *object_factory(MemoryPool &p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) TextType_ASCII; } + { return FB_NEW(p) TextType_ASCII; } TextType_ASCII() : TextTypeNC(ttype_ascii, "C.ASCII", CS_ASCII, CC_C, 1) {} @@ -165,7 +165,7 @@ { public: static TextType *object_factory(MemoryPool &p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) TextType_None; } + { return FB_NEW(p) TextType_None; } TextType_None() : TextTypeNC(ttype_none, "C", CS_NONE, CC_C, 1) {} @@ -201,7 +201,7 @@ { public: static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CsConvert_ASCII_UFSS; } + { return FB_NEW(p) CsConvert_ASCII_UFSS; } CsConvert_ASCII_UFSS() : CsConvert(0, "DIRECT", CS_ASCII, CS_UNICODE_FSS) {} @@ -218,7 +218,7 @@ { public: static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CsConvert_UFSS_ASCII; } + { return FB_NEW(p) CsConvert_UFSS_ASCII; } CsConvert_UFSS_ASCII() : CsConvert(0, "DIRECT", CS_UNICODE_FSS, CS_ASCII) {} unsigned short convert(unsigned char *a, @@ -234,7 +234,7 @@ { public: static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CsConvert_UFSS_None; } + { return FB_NEW(p) CsConvert_UFSS_None; } CsConvert_UFSS_None() : CsConvert(0, "DIRECT", CS_UNICODE_FSS, CS_NONE) {} unsigned short convert(unsigned char *a, @@ -250,7 +250,7 @@ { public: static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CsConvert_None_Unicode; } + { return FB_NEW(p) CsConvert_None_Unicode; } CsConvert_None_Unicode() : CsConvert(0, "DIRECT", CS_NONE, CS_UNICODE101) {} unsigned short convert(unsigned char*, @@ -265,7 +265,7 @@ { public: static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CsConvert_Unicode_None; } + { return FB_NEW(p) CsConvert_Unicode_None; } CsConvert_Unicode_None() : CsConvert(0, "DIRECT", CS_UNICODE101, CS_NONE) {} unsigned short convert(unsigned char*, @@ -280,7 +280,7 @@ { public: static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CsConvert_ASCII_Unicode; } + { return FB_NEW(p) CsConvert_ASCII_Unicode; } CsConvert_ASCII_Unicode() : CsConvert(0, "DIRECT", CS_ASCII, CS_UNICODE101) {} unsigned short convert(unsigned char*, @@ -295,7 +295,7 @@ { public: static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CsConvert_Unicode_ASCII; } + { return FB_NEW(p) CsConvert_Unicode_ASCII; } CsConvert_Unicode_ASCII() : CsConvert(0, "DIRECT", CS_UNICODE101, CS_ASCII) {} unsigned short convert(unsigned char*, @@ -310,7 +310,7 @@ { public: static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CsConvert_UFSS_Unicode; } + { return FB_NEW(p) CsConvert_UFSS_Unicode; } CsConvert_UFSS_Unicode() : CsConvert(0, "DIRECT", CS_UNICODE_FSS, CS_UNICODE101) {} unsigned short convert(unsigned char*, @@ -325,7 +325,7 @@ { public: static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CsConvert_Unicode_UFSS; } + { return FB_NEW(p) CsConvert_Unicode_UFSS; } CsConvert_Unicode_UFSS() : CsConvert(0, "DIRECT", CS_UNICODE101, CS_UNICODE_FSS) {} unsigned short convert(unsigned char *a, @@ -341,7 +341,7 @@ { public: static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CsConvert_Binary_Unicode; } + { return FB_NEW(p) CsConvert_Binary_Unicode; } CsConvert_Binary_Unicode() : CsConvert(0, "DIRECT", CS_BINARY, CS_UNICODE101) {} unsigned short convert(unsigned char*, @@ -356,7 +356,7 @@ { public: static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CsConvert_Unicode_Binary; } + { return FB_NEW(p) CsConvert_Unicode_Binary; } CsConvert_Unicode_Binary() : CsConvert(0, "DIRECT", CS_UNICODE101, CS_BINARY) {} unsigned short convert(unsigned char*, @@ -371,7 +371,7 @@ { public: static CharSet *object_factory(MemoryPool &p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CharSet_None(p); } + { return FB_NEW(p) CharSet_None(p); } CharSet_None(MemoryPool &p) : CharSet(CS_NONE, "NONE", 1, 1, 1, " ") { charset_to_unicode = CsConvert_None_Unicode::object_factory(p,0,0); @@ -383,7 +383,7 @@ { public: static CharSet *object_factory(MemoryPool &p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CharSet_ASCII(p); } + { return FB_NEW(p) CharSet_ASCII(p); } CharSet_ASCII(MemoryPool &p) : CharSet(CS_ASCII, "ASCII", 1, 1, 1, " ") { charset_to_unicode = CsConvert_ASCII_Unicode::object_factory(p,0,0); @@ -395,7 +395,7 @@ { public: static CharSet *object_factory(MemoryPool &p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CharSet_Unicode_FSS(p); } + { return FB_NEW(p) CharSet_Unicode_FSS(p); } CharSet_Unicode_FSS(MemoryPool &p) : CharSet(CS_UNICODE_FSS, "UNICODE_FSS", 1, 1, 1, " ") { charset_to_unicode = CsConvert_UFSS_Unicode::object_factory(p,0,0); @@ -407,7 +407,7 @@ { public: static CharSet *object_factory(MemoryPool &p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CharSet_Unicode(p); } + { return FB_NEW(p) CharSet_Unicode(p); } CharSet_Unicode(MemoryPool &p) : CharSet(CS_UNICODE101, "UNICODE101", 2, 2, 2, 0) { static CONST WCHAR space = 0x0020; @@ -419,7 +419,7 @@ { public: static CharSet *object_factory(MemoryPool &p, CHARSET_ID u1, CHARSET_ID u2) - { return new(p) CharSet_Binary(p); } + { return FB_NEW(p) CharSet_Binary(p); } CharSet_Binary(MemoryPool &p) : CharSet(CS_BINARY, "BINARY", 1, 1, 1, "\0") { charset_to_unicode = CsConvert_Binary_Unicode::object_factory(p,0,0); Index: jrd.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/jrd.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -b -U3 -r1.21 -r1.22 --- jrd.cpp 24 Sep 2002 00:27:23 -0000 1.21 +++ jrd.cpp 25 Sep 2002 17:12:10 -0000 1.22 @@ -232,7 +232,7 @@ compile_in_progress = TRUE; old_pool = _tdbb->tdbb_default; - _tdbb->tdbb_default = new(*getDefaultMemoryPool()) JrdMemoryPool; + _tdbb->tdbb_default = FB_NEW(*getDefaultMemoryPool()) JrdMemoryPool; // Trigger request is not compiled yet. Lets do it now PAR_blr(_tdbb, relation, blr->str_data, (CSB)NULL_PTR, (CSB*)NULL_PTR, &request, TRUE, @@ -746,7 +746,7 @@ } #endif - tdbb->tdbb_attachment = attachment = new(*dbb->dbb_permanent) att(); + tdbb->tdbb_attachment = attachment = FB_NEW(*dbb->dbb_permanent) att(); attachment->att_database = dbb; attachment->att_filename = (is_alias) ? copy_string(alias_buffer, strlen(alias_buffer)) : @@ -1872,7 +1872,7 @@ copy_string(options.dpb_key, strlen(options.dpb_key)); #endif - tdbb->tdbb_attachment = attachment = new(*dbb->dbb_permanent) att(); + tdbb->tdbb_attachment = attachment = FB_NEW(*dbb->dbb_permanent) att(); attachment->att_database = dbb; attachment->att_filename = copy_string(expanded_name, strlen(expanded_name)); attachment->att_next = dbb->dbb_attachments; @@ -3830,7 +3830,7 @@ transaction = find_transaction(tdbb, *tra_handle, gds_req_wrong_db); old_pool = tdbb->tdbb_default; - tdbb->tdbb_default = new_pool = new(*tdbb->tdbb_database->dbb_permanent) + tdbb->tdbb_default = new_pool = FB_NEW(*tdbb->tdbb_database->dbb_permanent) JrdMemoryPool; csb = PAR_parse(tdbb, reinterpret_cast < UCHAR * >(blr), FALSE); @@ -4125,7 +4125,7 @@ if (block) { dbb->dbb_free_btbs = block->btb_next; } else { - block = new(*dbb->dbb_permanent) btb; + block = FB_NEW(*dbb->dbb_permanent) btb; } block->btb_thread_id = (SLONG) SCH_current_thread(); @@ -4838,7 +4838,7 @@ * **************************************/ DBB dbb = get_dbb(); - STR string = new(*dbb->dbb_permanent, length) str(); + STR string = FB_NEW_RPT(*dbb->dbb_permanent, length) str(); string->str_length = length; MOVE_FAST(ptr, string->str_data, length); @@ -5608,7 +5608,7 @@ try { - JrdMemoryPool* perm = new(*getDefaultMemoryPool()) JrdMemoryPool; + JrdMemoryPool* perm = FB_NEW(*getDefaultMemoryPool()) JrdMemoryPool; dbb_ = dbb::newDbb(*perm); //temp.blk_type = type_dbb; dbb_->dbb_permanent = perm; @@ -5625,12 +5625,12 @@ databases = dbb_; string = - new(*dbb_->dbb_permanent, THREAD_STRUCT_SIZE(MUTX_T, DBB_MUTX_max)) str(); + FB_NEW_RPT(*dbb_->dbb_permanent, THREAD_STRUCT_SIZE(MUTX_T, DBB_MUTX_max)) str(); dbb_->dbb_mutexes = (MUTX) THREAD_STRUCT_ALIGN(string->str_data); THD_MUTEX_INIT_N(dbb_->dbb_mutexes, DBB_MUTX_max); string = - new(*dbb_->dbb_permanent, THREAD_STRUCT_SIZE(WLCK_T, DBB_WLCK_max)) str(); + FB_NEW_RPT(*dbb_->dbb_permanent, THREAD_STRUCT_SIZE(WLCK_T, DBB_WLCK_max)) str(); dbb_->dbb_rw_locks = (WLCK) THREAD_STRUCT_ALIGN(string->str_data); V4_RW_LOCK_INIT_N(dbb_->dbb_rw_locks, DBB_WLCK_max); dbb_->dbb_internal = vector = vec::newVector(*dbb_->dbb_permanent, irq_MAX); Index: jrd.h =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/jrd.h,v retrieving revision 1.16 retrieving revision 1.17 diff -b -U3 -r1.16 -r1.17 --- jrd.h 24 Sep 2002 17:53:32 -0000 1.16 +++ jrd.h 25 Sep 2002 17:12:10 -0000 1.17 @@ -110,7 +110,7 @@ class dbb : private pool_alloc<type_dbb> { public: - static dbb* newDbb(MemoryPool& p) { return new(p) dbb(p); } + static dbb* newDbb(MemoryPool& p) { return FB_NEW(p) dbb(p); } // The deleteDbb function MUST be used to delete a dbb object. // The function hides some tricky order of operations. Since the @@ -689,9 +689,9 @@ typedef typename Firebird::vector<T>::iterator iterator; static vec_base* newVector(MemoryPool& p, int len) - { return new(p) vec_base<T,TYPE>(p, len); } + { return FB_NEW(p) vec_base<T,TYPE>(p, len); } static vec_base* newVector(MemoryPool& p, const vec_base& base) - { return new(p) vec_base<T,TYPE>(p, base); } + { return FB_NEW(p) vec_base<T,TYPE>(p, base); } ULONG count() { return vector.size(); } T& operator[](size_t index) { return vector[index]; } @@ -723,9 +723,9 @@ { public: static vec* newVector(MemoryPool& p, int len) - { return new(p) vec(p, len); } + { return FB_NEW(p) vec(p, len); } static vec* newVector(MemoryPool& p, const vec& base) - { return new(p) vec(p, base); } + { return FB_NEW(p) vec(p, base); } private: vec(MemoryPool& p, int len) : vec_base<BlkPtr, type_vec>(p, len) {} @@ -737,9 +737,9 @@ { public: static vcl* newVector(MemoryPool& p, int len) - { return new(p) vcl(p, len); } + { return FB_NEW(p) vcl(p, len); } static vcl* newVector(MemoryPool& p, const vcl& base) - { return new(p) vcl(p, base); } + { return FB_NEW(p) vcl(p, base); } private: vcl(MemoryPool& p, int len) : vec_base<SLONG, type_vcl>(p, len) {} @@ -801,7 +801,7 @@ return false; // runtime safety } // TMN: Note that this violates "common sense" and should be fixed. - str* res = new(*pPool, new_len+1) str; + str* res = FB_NEW_RPT(*pPool, new_len+1) str; res->str_length = new_len; memcpy(res->str_data, s->str_data, s->str_length+1); str* old = s; Index: log.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/log.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -b -U3 -r1.3 -r1.4 --- log.cpp 24 Dec 2001 02:50:51 -0000 1.3 +++ log.cpp 25 Sep 2002 17:12:10 -0000 1.4 @@ -652,9 +652,9 @@ if (!log_file) error("can't open log file"); else { - dbb->dbb_log = log = new(*dbb->dbb_permanent) log(); + dbb->dbb_log = log = FB_NEW(*dbb->dbb_permanent) log(); log->log_file = log_file; - log->log_string = new(*dbb->dbb_permanent, LOG_BUFFER_LENGTH) str(); + log->log_string = FB_NEW_RPT(*dbb->dbb_permanent, LOG_BUFFER_LENGTH) str(); log->log_ptr = log->log_buffer = log->log_string->str_data; } #ifdef STACK_REDUCTION Index: met.epp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/met.epp,v retrieving revision 1.17 retrieving revision 1.18 diff -b -U3 -r1.17 -r1.18 --- met.epp 24 Sep 2002 08:05:54 -0000 1.17 +++ met.epp 25 Sep 2002 17:12:10 -0000 1.18 @@ -850,7 +850,7 @@ FOR(REQUEST_HANDLE handle) LOG IN RDB$LOG_FILES SORTED BY LOG.RDB$FILE_SEQUENCE - logfiles_[num] = new(*dbb->dbb_permanent, + logfiles_[num] = FB_NEW_RPT(*dbb->dbb_permanent, LGFILE_SIZE + MAX_PATH_LENGTH) logfiles(); strcpy(logfiles_[num]->lg_name, LOG.RDB$FILE_NAME); logfiles_[num]->lg_size = LOG.RDB$FILE_LENGTH; @@ -1308,13 +1308,13 @@ ISC_EXT_LIB_PATH_ENV); if (filter) { - blf_ = new(*dbb->dbb_permanent) blf(); + blf_ = FB_NEW(*dbb->dbb_permanent) blf(); blf_->blf_next = NULL; blf_->blf_from = from; blf_->blf_to = to; blf_->blf_filter = filter; exception_msg = - new(*dbb->dbb_permanent, + FB_NEW_RPT(*dbb->dbb_permanent, strlen(EXCEPTION_MESSAGE) + strlen(X.RDB$FUNCTION_NAME) + strlen(X.RDB$ENTRYPOINT) + @@ -2154,7 +2154,7 @@ blob = BLB_open(tdbb, dbb->dbb_sys_trans, (BID)blob_id); length = blob->blb_length + 10; - temp = new(*tdbb->tdbb_default, length) str(); + temp = FB_NEW_RPT(*tdbb->tdbb_default, length) str(); BLB_get_data(tdbb, blob, temp->str_data, length); node = PAR_blr( tdbb, @@ -2266,7 +2266,7 @@ ((trig_flags & TRG_ignore_perm) ? csb_ignore_perm : 0); old_pool = tdbb->tdbb_default; - tdbb->tdbb_default = new(*getDefaultMemoryPool()) JrdMemoryPool; + tdbb->tdbb_default = FB_NEW(*getDefaultMemoryPool()) JrdMemoryPool; PAR_blr(tdbb, relation, const_cast<UCHAR*>(blr), @@ -2454,7 +2454,7 @@ if (!procedure) { - procedure = new(*dbb->dbb_permanent, 0) prc; + procedure = FB_NEW_RPT(*dbb->dbb_permanent, 0) prc; } try { @@ -2463,7 +2463,7 @@ procedure->prc_id = id; (*vector)[id] = (BLK) procedure; - procedure->prc_existence_lock = lock = new(*dbb->dbb_permanent, 0) lck; + procedure->prc_existence_lock = lock = FB_NEW_RPT(*dbb->dbb_permanent, 0) lck; lock->lck_parent = dbb->dbb_lock; lock->lck_dbb = dbb; lock->lck_key.lck_long = procedure->prc_id; @@ -2544,7 +2544,7 @@ /* should be error if field already exists */ parameter = - new(*dbb->dbb_permanent, name_length(PA.RDB$PARAMETER_NAME)) prm(); + FB_NEW_RPT(*dbb->dbb_permanent, name_length(PA.RDB$PARAMETER_NAME)) prm(); parameter->prm_number = PA.RDB$PARAMETER_NUMBER; (*vector)[parameter->prm_number] = (BLK) parameter; name_copy(parameter->prm_string, PA.RDB$PARAMETER_NAME); @@ -2586,7 +2586,7 @@ } old_pool = tdbb->tdbb_default; - tdbb->tdbb_default = new(*getDefaultMemoryPool()) JrdMemoryPool; + tdbb->tdbb_default = FB_NEW(*getDefaultMemoryPool()) JrdMemoryPool; csb_ = Csb::newCsb(*tdbb->tdbb_default, 5); csb_->csb_rpt.resize(5); // vec always allocates one too many csb_->csb_count = 5; @@ -2686,14 +2686,14 @@ else max_sys_rel = (USHORT) USER_DEF_REL_INIT_ID - 1; - relation = new(*dbb->dbb_permanent) rel(); + relation = FB_NEW(*dbb->dbb_permanent) rel(); (*vector)[id] = (BLK) relation; relation->rel_id = id; if (relation->rel_id <= max_sys_rel) return relation; - relation->rel_existence_lock = lock = new(*dbb->dbb_permanent, 0) lck; + relation->rel_existence_lock = lock = FB_NEW_RPT(*dbb->dbb_permanent, 0) lck; lock->lck_parent = dbb->dbb_lock; lock->lck_dbb = dbb; lock->lck_key.lck_long = relation->rel_id; @@ -3179,7 +3179,7 @@ } else { - string = new(*tdbb->tdbb_default, blob->blb_max_segment) str(); + string = FB_NEW_RPT(*tdbb->tdbb_default, blob->blb_max_segment) str(); buffer = string->str_data; } @@ -3219,11 +3219,11 @@ if (!strcmp((char*)p, (char*)field->fld_name)) break; - name = new(*dbb->dbb_permanent, length) str(); + name = FB_NEW_RPT(*dbb->dbb_permanent, length) str(); field->fld_name = (TEXT *) name->str_data; } else { - field = new(*dbb->dbb_permanent, length) fld(); + field = FB_NEW_RPT(*dbb->dbb_permanent, length) fld(); (*vector)[field_id] = (BLK) field; field->fld_name = (TEXT *) field->fld_string; } @@ -3299,7 +3299,7 @@ break; case RSR_dimensions: - field->fld_array = array = new(*dbb->dbb_permanent, n) arr(); + field->fld_array = array = FB_NEW_RPT(*dbb->dbb_permanent, n) arr(); array->arr_desc.ads_dimensions = n; break; @@ -3618,12 +3618,12 @@ return; old_pool = tdbb->tdbb_default; - tdbb->tdbb_default = new(*getDefaultMemoryPool()) JrdMemoryPool; + tdbb->tdbb_default = FB_NEW(*getDefaultMemoryPool()) JrdMemoryPool; DBB dbb = tdbb->tdbb_database; BLB blob = BLB_open(tdbb, dbb->dbb_sys_trans, (BID)blob_id); SLONG length = blob->blb_length + 10; - STR blr = new(*tdbb->tdbb_default,length) str(); + STR blr = FB_NEW_RPT(*tdbb->tdbb_default,length) str(); BLB_get_data(tdbb, blob, blr->str_data, length); tdbb->tdbb_default = old_pool; @@ -3723,7 +3723,7 @@ /* allocate a view context block and link it in to the relation block's linked list */ - view_context = new(*tdbb->tdbb_default) vcx(); + view_context = FB_NEW(*tdbb->tdbb_default) vcx(); *vcx_ptr = view_context; vcx_ptr = &view_context->vcx_next; @@ -3732,7 +3732,7 @@ /* allocate a string block for the context name */ length = name_length(V.RDB$CONTEXT_NAME); - alias = new(*tdbb->tdbb_default, length + 1) str(); + alias = FB_NEW_RPT(*tdbb->tdbb_default, length + 1) str(); V.RDB$CONTEXT_NAME[length] = 0; strcpy((char*)alias->str_data, V.RDB$CONTEXT_NAME); alias->str_length = length; @@ -3742,7 +3742,7 @@ /* allocate a string block for the relation name */ length = name_length(V.RDB$RELATION_NAME); - alias = new(*tdbb->tdbb_default, length + 1) str(); + alias = FB_NEW_RPT(*tdbb->tdbb_default, length + 1) str(); V.RDB$RELATION_NAME[length] = 0; strcpy((char*)alias->str_data, V.RDB$RELATION_NAME); alias->str_length = length; @@ -3830,7 +3830,7 @@ blob = BLB_open(tdbb, dbb->dbb_sys_trans, (BID)blob_id); length = blob->blb_length + 10; - temp = new(*tdbb->tdbb_default, length) str(); + temp = FB_NEW_RPT(*tdbb->tdbb_default, length) str(); BLB_get_data(tdbb, blob, temp->str_data, length); (*csb_ptr)->csb_blr = temp->str_data; par_messages(tdbb, temp->str_data, (USHORT) blob->blb_length, procedure, @@ -4091,7 +4091,7 @@ dbb = tdbb->tdbb_database; l = name_length(name); - string = new(*dbb->dbb_permanent, l) str(); + string = FB_NEW_RPT(*dbb->dbb_permanent, l) str(); string->str_length = l; p = (TEXT *) string->str_data; @@ -4123,7 +4123,7 @@ TRIG_VEC vector = *ptr; if (!vector) { - vector = new(*tdbb->tdbb_database->dbb_permanent) + vector = FB_NEW(*tdbb->tdbb_database->dbb_permanent) trig_vec(n+1, *tdbb->tdbb_database->dbb_permanent); *ptr = vector; } else { Index: netware.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/netware.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -b -U3 -r1.5 -r1.6 --- netware.cpp 31 Mar 2002 00:38:21 -0000 1.5 +++ netware.cpp 25 Sep 2002 17:12:10 -0000 1.6 @@ -626,7 +626,7 @@ ULONG len; /* Allocate file block and copy file name string */ - file = new(*dbb->dbb_permanent, file_length + 1) fil(); + file = FB_NEW_RPT(*dbb->dbb_permanent, file_length + 1) fil(); file->fil_desc = desc; file->fil_length = file_length; file->fil_max_page = -1; @@ -667,7 +667,7 @@ l = p - lock_string; - dbb->dbb_lock = lock = new(*dbb->dbb_permanent, l) lck(); + dbb->dbb_lock = lock = FB_NEW_RPT(*dbb->dbb_permanent, l) lck(); lock->lck_type = LCK_database; lock->lck_owner_handle = LCK_get_owner_handle(NULL_TDBB, lock->lck_type); lock->lck_object = reinterpret_cast<blk*>(dbb); Index: opt.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/opt.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -b -U3 -r1.12 -r1.13 --- opt.cpp 17 Sep 2002 05:58:36 -0000 1.12 +++ opt.cpp 25 Sep 2002 17:12:10 -0000 1.13 @@ -357,7 +357,7 @@ #else - opt_ = new(*dbb->dbb_permanent) Opt(); + opt_ = FB_NEW(*dbb->dbb_permanent) Opt(); #endif @@ -452,7 +452,7 @@ if (rsb) { i = local_streams[0]; - river = new(*tdbb->tdbb_default, i) riv(); + river = FB_NEW_RPT(*tdbb->tdbb_default, i) riv(); river->riv_count = (UCHAR) i; river->riv_rsb = rsb; MOVE_FAST(local_streams + 1, river->riv_streams, i); @@ -942,7 +942,7 @@ /* set up a dummy optimizer block just for the purposes of the set index, to pass information to subroutines */ - opt = new(*dbb->dbb_permanent) Opt(); + opt = FB_NEW(*dbb->dbb_permanent) Opt(); opt->opt_g_flags |= opt_g_stream; /* generate a new rsb for the retrieval, making sure to @@ -2902,7 +2902,7 @@ SET_TDBB(tdbb); csb = opt->opt_csb; /* Allocate a river block and move the best order into it */ - river = new(*tdbb->tdbb_default, count) riv(); + river = FB_NEW_RPT(*tdbb->tdbb_default, count) riv(); LLS_PUSH(river, river_stack); river->riv_count = (UCHAR) count; if (count == 1) { @@ -2910,7 +2910,7 @@ ptr = &river->riv_rsb; } else { - river->riv_rsb = rsb = new(*tdbb->tdbb_default, count) Rsb(); + river->riv_rsb = rsb = FB_NEW_RPT(*tdbb->tdbb_default, count) Rsb(); rsb->rsb_type = rsb_cross; rsb->rsb_count = count; rsb->rsb_impure = CMP_impure(csb, sizeof(struct irsb)); @@ -3005,7 +3005,7 @@ /* allocate and optimize the record source block */ - rsb = new(*tdbb->tdbb_default, 1) Rsb(); + rsb = FB_NEW_RPT(*tdbb->tdbb_default, 1) Rsb(); rsb->rsb_type = rsb_aggregate; rsb->rsb_stream = (UCHAR) node->nod_arg[e_agg_stream]; rsb->... [truncated message content] |