~percona-core/percona-server/5.5

« back to all changes in this revision

Viewing changes to Percona-Server/storage/innobase/include/trx0trx.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:
447
447
/*==================*/
448
448
        const trx_t*    trx);   /*!< in: transaction */
449
449
 
 
450
/*************************************************************//**
 
451
Callback function for trx_find_descriptor() to compare trx IDs. */
 
452
UNIV_INTERN
 
453
int
 
454
trx_descr_cmp(
 
455
/*==========*/
 
456
        const void *a,  /*!< in: pointer to first comparison argument */
 
457
        const void *b); /*!< in: pointer to second comparison argument */
 
458
 
 
459
/*************************************************************//**
 
460
Release a slot for a given trx in the global descriptors array. */
 
461
UNIV_INTERN
 
462
void
 
463
trx_release_descriptor(
 
464
/*===================*/
 
465
        trx_t* trx);    /*!< in: trx pointer */
 
466
 
450
467
/* Signal to a transaction */
451
468
struct trx_sig_struct{
452
469
        unsigned        type:3;         /*!< signal type */
477
494
        const char*     op_info;        /*!< English text describing the
478
495
                                        current operation, or an empty
479
496
                                        string */
480
 
        ulint           conc_state;     /*!< state of the trx from the point
481
 
                                        of view of concurrency control:
482
 
                                        TRX_ACTIVE, TRX_COMMITTED_IN_MEMORY,
483
 
                                        ... */
 
497
        ulint           state;          /*!< state of the trx from the point of
 
498
                                        view of concurrency control: TRX_ACTIVE,
 
499
                                        TRX_COMMITTED_IN_MEMORY, ...  This was
 
500
                                        called 'conc_state' in the upstream and
 
501
                                        has been renamed in Percona Server,
 
502
                                        because changing it's value to/from
 
503
                                        either TRX_ACTIVE or TRX_PREPARED
 
504
                                        requires calling
 
505
                                        trx_reserve_descriptor() /
 
506
                                        trx_release_descriptor(). Different name
 
507
                                        ensures we notice any new code changing
 
508
                                        the state. */
484
509
        /*------------------------------*/
485
510
        /* MySQL has a transaction coordinator to coordinate two phase
486
511
        commit between multiple storage engines and the binary log. When
495
520
                                        also be set to 1. This is used in the
496
521
                                        XA code */
497
522
        unsigned        called_commit_ordered:1;/* 1 if innobase_commit_ordered has run. */
 
523
        unsigned        is_in_trx_serial_list:1;
 
524
                                        /* Set when transaction is in the
 
525
                                        trx_serial_list */
498
526
        /*------------------------------*/
499
527
        ulint           isolation_level;/* TRX_ISO_REPEATABLE_READ, ... */
500
528
        ulint           check_foreigns; /* normally TRUE, but if the user
628
656
        UT_LIST_NODE_T(trx_t)
629
657
                        mysql_trx_list; /*!< list of transactions created for
630
658
                                        MySQL */
 
659
        UT_LIST_NODE_T(trx_t)
 
660
                        trx_serial_list;/*!< list node for
 
661
                                        trx_sys->trx_serial_list */
631
662
        /*------------------------------*/
632
663
        ulint           error_state;    /*!< 0 if no error, otherwise error
633
664
                                        number; NOTE That ONLY the thread