~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/innobase/include/trx0sys.h

Merge Stewart - fix bug 587772: READ COMMITTED isolation level doesn't work (at least with InnoDB)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*****************************************************************************
2
2
 
3
 
Copyright (c) 1996, 2010, Innobase Oy. All Rights Reserved.
 
3
Copyright (c) 1996, 2009, Innobase Oy. All Rights Reserved.
4
4
 
5
5
This program is free software; you can redistribute it and/or modify it under
6
6
the terms of the GNU General Public License as published by the Free Software
333
333
void
334
334
trx_sys_file_format_tag_init(void);
335
335
/*==============================*/
336
 
#ifndef UNIV_HOTBACKUP
337
336
/*****************************************************************//**
338
337
Shutdown/Close the transaction system. */
339
338
UNIV_INTERN
340
339
void
341
340
trx_sys_close(void);
342
341
/*===============*/
343
 
#endif /* !UNIV_HOTBACKUP */
344
342
/*****************************************************************//**
345
343
Get the name representation of the file format from its id.
346
344
@return pointer to the name */
431
429
        const ulint     id);    /*!< in: id of the file format */
432
430
 
433
431
#endif /* !UNIV_HOTBACKUP */
434
 
/*********************************************************************
435
 
Creates the rollback segments */
436
 
UNIV_INTERN
437
 
void
438
 
trx_sys_create_rsegs(
439
 
/*=================*/
440
 
        ulint   n_rsegs);       /*!< number of rollback segments to create */
441
 
 
442
432
/* The automatically created system rollback segment has this id */
443
433
#define TRX_SYS_SYSTEM_RSEG_ID  0
444
434
 
473
463
                                        slots */
474
464
/*------------------------------------------------------------- @} */
475
465
 
476
 
/* Max number of rollback segments: the number of segment specification slots
477
 
in the transaction system array; rollback segment id must fit in one (signed)
478
 
byte, therefore 128; each slot is currently 8 bytes in size. If you want
479
 
to raise the level to 256 then you will need to fix some assertions that
480
 
impose the 7 bit restriction. e.g., mach_write_to_3() */
481
 
#define TRX_SYS_N_RSEGS                 128
482
 
/* Originally, InnoDB defined TRX_SYS_N_RSEGS as 256 but created only one
483
 
rollback segment.  It initialized some arrays with this number of entries.
484
 
We must remember this limit in order to keep file compatibility. */
485
 
#define TRX_SYS_OLD_N_RSEGS             256
 
466
/** Maximum number of rollback segments: the number of segment
 
467
specification slots in the transaction system array; rollback segment
 
468
id must fit in one byte, therefore 256; each slot is currently 8 bytes
 
469
in size */
 
470
#define TRX_SYS_N_RSEGS         256
486
471
 
487
472
/** Maximum length of MySQL binlog file name, in bytes.
488
473
@see trx_sys_mysql_master_log_name
510
495
                                                within that file */
511
496
#define TRX_SYS_MYSQL_LOG_NAME          12      /*!< MySQL log file name */
512
497
 
 
498
#ifndef UNIV_HOTBACKUP
513
499
/** Doublewrite buffer */
514
500
/* @{ */
515
501
/** The offset of the doublewrite buffer header on the trx system header page */
561
547
#define TRX_SYS_DOUBLEWRITE_BLOCK_SIZE  FSP_EXTENT_SIZE
562
548
/* @} */
563
549
 
564
 
#ifndef UNIV_HOTBACKUP
565
550
/** File format tag */
566
551
/* @{ */
567
552
/** The offset of the file format tag on the trx system header page
568
553
(TRX_SYS_PAGE_NO of TRX_SYS_SPACE) */
569
554
#define TRX_SYS_FILE_FORMAT_TAG         (UNIV_PAGE_SIZE - 16)
570
555
 
571
 
/** Contents of TRX_SYS_FILE_FORMAT_TAG when valid. The file format
 
556
/** Contents of TRX_SYS_FILE_FORMAT_TAG when valid.  The file format
572
557
identifier is added to this constant. */
573
558
#define TRX_SYS_FILE_FORMAT_TAG_MAGIC_N_LOW     3645922177UL
574
559
/** Contents of TRX_SYS_FILE_FORMAT_TAG+4 when valid */
575
560
#define TRX_SYS_FILE_FORMAT_TAG_MAGIC_N_HIGH    2745987765UL
576
 
/** Contents of TRX_SYS_FILE_FORMAT_TAG when valid. The file format
577
 
identifier is added to this 64-bit constant. */
578
 
#define TRX_SYS_FILE_FORMAT_TAG_MAGIC_N                                 \
579
 
        ((ib_uint64_t) TRX_SYS_FILE_FORMAT_TAG_MAGIC_N_HIGH << 32       \
580
 
         | TRX_SYS_FILE_FORMAT_TAG_MAGIC_N_LOW)
581
561
/* @} */
582
562
 
583
563
/** Doublewrite control struct */