~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/innobase/include/trx0trx.ic

Made the_query_id private. Thanks Jay.

Show diffs side-by-side

added added

removed removed

Lines of Context:
96
96
        return(trx->new_rec_locks[0] == index
97
97
               || trx->new_rec_locks[1] == index);
98
98
}
 
99
 
 
100
/********************************************************************
 
101
Retrieves the error_info field from a trx. */
 
102
UNIV_INLINE
 
103
const dict_index_t*
 
104
trx_get_error_info(
 
105
/*===============*/
 
106
                                /* out: the error info */
 
107
        const trx_t*    trx)    /* in: trx object */
 
108
{
 
109
        return(trx->error_info);
 
110
}
 
111
 
 
112
/***********************************************************************
 
113
Retrieves transacion's id, represented as unsigned long long. */
 
114
UNIV_INLINE
 
115
ullint
 
116
trx_get_id(
 
117
/*=======*/
 
118
                                /* out: transaction's id */
 
119
        const trx_t*    trx)    /* in: transaction */
 
120
{
 
121
        return((ullint)ut_conv_dulint_to_longlong(trx->id));
 
122
}
 
123
 
 
124
/***********************************************************************
 
125
Retrieves transaction's que state in a human readable string. The string
 
126
should not be free()'d or modified. */
 
127
UNIV_INLINE
 
128
const char*
 
129
trx_get_que_state_str(
 
130
/*==================*/
 
131
                                /* out: string in the data segment */
 
132
        const trx_t*    trx)    /* in: transaction */
 
133
{
 
134
        /* be sure to adjust TRX_QUE_STATE_STR_MAX_LEN if you change this */
 
135
        switch (trx->que_state) {
 
136
        case TRX_QUE_RUNNING:
 
137
                return("RUNNING");
 
138
        case TRX_QUE_LOCK_WAIT:
 
139
                return("LOCK WAIT");
 
140
        case TRX_QUE_ROLLING_BACK:
 
141
                return("ROLLING BACK");
 
142
        case TRX_QUE_COMMITTING:
 
143
                return("COMMITTING");
 
144
        default:
 
145
                return("UNKNOWN");
 
146
        }
 
147
}
 
148
 
 
149
/**************************************************************************
 
150
Determine if a transaction is a dictionary operation. */
 
151
UNIV_INLINE
 
152
enum trx_dict_op
 
153
trx_get_dict_operation(
 
154
/*===================*/
 
155
                                /* out: dictionary operation mode */
 
156
        const trx_t*    trx)    /* in: transaction */
 
157
{
 
158
        enum trx_dict_op op = (enum trx_dict_op) trx->dict_operation;
 
159
 
 
160
#ifdef UNIV_DEBUG
 
161
        switch (op) {
 
162
        case TRX_DICT_OP_NONE:
 
163
        case TRX_DICT_OP_TABLE:
 
164
        case TRX_DICT_OP_INDEX:
 
165
                return(op);
 
166
        }
 
167
        ut_error;
 
168
#endif /* UNIV_DEBUG */
 
169
        return((enum trx_dict_op) UNIV_EXPECT(op, TRX_DICT_OP_NONE));
 
170
}
 
171
/**************************************************************************
 
172
Flag a transaction a dictionary operation. */
 
173
UNIV_INLINE
 
174
void
 
175
trx_set_dict_operation(
 
176
/*===================*/
 
177
        trx_t*                  trx,    /* in/out: transaction */
 
178
        enum trx_dict_op        op)     /* in: operation, not
 
179
                                        TRX_DICT_OP_NONE */
 
180
{
 
181
#ifdef UNIV_DEBUG
 
182
        enum trx_dict_op        old_op = trx_get_dict_operation(trx);
 
183
 
 
184
        switch (op) {
 
185
        case TRX_DICT_OP_NONE:
 
186
                ut_error;
 
187
                break;
 
188
        case TRX_DICT_OP_TABLE:
 
189
                switch (old_op) {
 
190
                case TRX_DICT_OP_NONE:
 
191
                case TRX_DICT_OP_INDEX:
 
192
                case TRX_DICT_OP_TABLE:
 
193
                        goto ok;
 
194
                }
 
195
                ut_error;
 
196
                break;
 
197
        case TRX_DICT_OP_INDEX:
 
198
                ut_ad(old_op == TRX_DICT_OP_NONE);
 
199
                break;
 
200
        }
 
201
ok:
 
202
#endif /* UNIV_DEBUG */
 
203
 
 
204
        trx->dict_operation = op;
 
205
}