Loading BitKeeper/etc/logging_ok +1 −0 Original line number Diff line number Diff line mwagner@evoq.mwagner.org tim@threads.polyesthetic.msg tim@work.mysql.com heikki@donna.mysql.fi innobase/ibuf/ibuf0ibuf.c +23 −7 Original line number Diff line number Diff line Loading @@ -1002,21 +1002,37 @@ ibuf_rec_get_volume( /*================*/ /* out: size of index record in bytes + an upper limit of the space taken in the page directory */ rec_t* rec) /* in: ibuf record */ rec_t* ibuf_rec)/* in: ibuf record */ { dtype_t dtype; ulint data_size = 0; ulint n_fields; byte* field; byte* types; byte* data; ulint len; ulint data_size; ulint i; ut_ad(ibuf_inside()); ut_ad(rec_get_n_fields(rec) > 2); n_fields = rec_get_n_fields(rec) - 2; n_fields = rec_get_n_fields(ibuf_rec) - 2; types = rec_get_nth_field(ibuf_rec, 1, &len); field = rec_get_nth_field(rec, 2, &len); ut_ad(len == n_fields * DATA_ORDER_NULL_TYPE_BUF_SIZE); data_size = rec_get_data_size(rec) - (field - rec); for (i = 0; i < n_fields; i++) { data = rec_get_nth_field(ibuf_rec, i + 2, &len); dtype_read_for_order_and_null_size(&dtype, types + i * DATA_ORDER_NULL_TYPE_BUF_SIZE); if (len == UNIV_SQL_NULL) { data_size += dtype_get_sql_null_size(&dtype); } else { data_size += len; } } return(data_size + rec_get_converted_extra_size(data_size, n_fields) + page_dir_calc_reserved_space(1)); Loading innobase/log/log0log.c +2 −1 Original line number Diff line number Diff line Loading @@ -327,7 +327,8 @@ log_pad_current_log_block(void) ulint i; dulint lsn; log_reserve_and_open(OS_FILE_LOG_BLOCK_SIZE); /* We retrieve lsn only because otherwise gcc crashed on HP-UX */ lsn = log_reserve_and_open(OS_FILE_LOG_BLOCK_SIZE); pad_length = OS_FILE_LOG_BLOCK_SIZE - (log_sys->buf_free % OS_FILE_LOG_BLOCK_SIZE) Loading Loading
BitKeeper/etc/logging_ok +1 −0 Original line number Diff line number Diff line mwagner@evoq.mwagner.org tim@threads.polyesthetic.msg tim@work.mysql.com heikki@donna.mysql.fi
innobase/ibuf/ibuf0ibuf.c +23 −7 Original line number Diff line number Diff line Loading @@ -1002,21 +1002,37 @@ ibuf_rec_get_volume( /*================*/ /* out: size of index record in bytes + an upper limit of the space taken in the page directory */ rec_t* rec) /* in: ibuf record */ rec_t* ibuf_rec)/* in: ibuf record */ { dtype_t dtype; ulint data_size = 0; ulint n_fields; byte* field; byte* types; byte* data; ulint len; ulint data_size; ulint i; ut_ad(ibuf_inside()); ut_ad(rec_get_n_fields(rec) > 2); n_fields = rec_get_n_fields(rec) - 2; n_fields = rec_get_n_fields(ibuf_rec) - 2; types = rec_get_nth_field(ibuf_rec, 1, &len); field = rec_get_nth_field(rec, 2, &len); ut_ad(len == n_fields * DATA_ORDER_NULL_TYPE_BUF_SIZE); data_size = rec_get_data_size(rec) - (field - rec); for (i = 0; i < n_fields; i++) { data = rec_get_nth_field(ibuf_rec, i + 2, &len); dtype_read_for_order_and_null_size(&dtype, types + i * DATA_ORDER_NULL_TYPE_BUF_SIZE); if (len == UNIV_SQL_NULL) { data_size += dtype_get_sql_null_size(&dtype); } else { data_size += len; } } return(data_size + rec_get_converted_extra_size(data_size, n_fields) + page_dir_calc_reserved_space(1)); Loading
innobase/log/log0log.c +2 −1 Original line number Diff line number Diff line Loading @@ -327,7 +327,8 @@ log_pad_current_log_block(void) ulint i; dulint lsn; log_reserve_and_open(OS_FILE_LOG_BLOCK_SIZE); /* We retrieve lsn only because otherwise gcc crashed on HP-UX */ lsn = log_reserve_and_open(OS_FILE_LOG_BLOCK_SIZE); pad_length = OS_FILE_LOG_BLOCK_SIZE - (log_sys->buf_free % OS_FILE_LOG_BLOCK_SIZE) Loading