~percona-core/percona-server/5.5

« back to all changes in this revision

Viewing changes to Percona-Server/storage/innobase/include/trx0sys.h

  • Committer: jenkins at percona
  • Date: 2013-03-26 01:40:02 UTC
  • mfrom: (450.9.2 bug1131189)
  • Revision ID: jenkins@jenkins.percona.com-20130326014002-1m2hg8pt1b27chq2
MergeĀ lp:~akopytov/percona-server/bug1131189

Show diffs side-by-side

added added

removed removed

Lines of Context:
249
249
trx_sys_get_new_trx_id(void);
250
250
/*========================*/
251
251
 
 
252
/*************************************************************//**
 
253
Find a slot for a given trx ID in a descriptors array.
 
254
@return: slot pointer */
 
255
UNIV_INLINE
 
256
trx_id_t*
 
257
trx_find_descriptor(
 
258
/*================*/
 
259
        const trx_id_t* descriptors,    /*!< in: descriptors array */
 
260
        ulint           n_descr,        /*!< in: array size */
 
261
        trx_id_t        trx_id);        /*!< in: trx pointer */
 
262
 
252
263
#ifdef UNIV_DEBUG
253
264
/* Flag to control TRX_RSEG_N_SLOTS behavior debugging. */
254
265
extern uint                     trx_rseg_n_slots_debug;
633
644
         | TRX_SYS_FILE_FORMAT_TAG_MAGIC_N_LOW)
634
645
/* @} */
635
646
 
 
647
#define TRX_DESCR_ARRAY_INITIAL_SIZE    1000
 
648
 
636
649
#ifndef UNIV_HOTBACKUP
637
650
/** Doublewrite control struct */
638
651
struct trx_doublewrite_struct{
660
673
        trx_id_t        max_trx_id;     /*!< The smallest number not yet
661
674
                                        assigned as a transaction id or
662
675
                                        transaction number */
 
676
        char            pad1[64];       /*!< Ensure max_trx_id does not share
 
677
                                        cache line with other fields. */
 
678
        trx_id_t*       descriptors;    /*!< Array of trx descriptors */
 
679
        ulint           descr_n_max;    /*!< The current size of the descriptors
 
680
                                        array. */
 
681
        char            pad2[64];       /*!< Ensure static descriptor fields
 
682
                                        do not share cache lines with
 
683
                                        descr_n_used */
 
684
        ulint           descr_n_used;   /*!< Number of used elements in the
 
685
                                        descriptors array. */
 
686
        char            pad3[64];       /*!< Ensure descriptors do not share
 
687
                                        cache line with other fields */
663
688
        UT_LIST_BASE_NODE_T(trx_t) trx_list;
664
689
                                        /*!< List of active and committed in
665
690
                                        memory transactions, sorted on trx id,
666
691
                                        biggest first */
 
692
        char            pad4[64];       /*!< Ensure list base nodes do not
 
693
                                        share cache line with other fields */
667
694
        UT_LIST_BASE_NODE_T(trx_t) mysql_trx_list;
668
695
                                        /*!< List of transactions created
669
696
                                        for MySQL */
 
697
        char            pad5[64];       /*!< Ensure list base nodes do not
 
698
                                        share cache line with other fields */
 
699
        UT_LIST_BASE_NODE_T(trx_t) trx_serial_list;
 
700
                                        /*!< trx->no ordered List of
 
701
                                        transactions in either TRX_PREPARED or
 
702
                                        TRX_ACTIVE which have already been
 
703
                                        assigned a serialization number */
 
704
        char            pad6[64];       /*!< Ensure trx_serial_list does not
 
705
                                        share cache line with other fields */
670
706
        UT_LIST_BASE_NODE_T(trx_rseg_t) rseg_list;
671
707
                                        /*!< List of rollback segment
672
708
                                        objects */
 
709
        char            pad7[64];       /*!< Ensure list base nodes do not
 
710
                                        share cache line with other fields */
673
711
        trx_rseg_t*     latest_rseg;    /*!< Latest rollback segment in the
674
712
                                        round-robin assignment of rollback
675
713
                                        segments to transactions */