280
280
@return TRUE if update vector changes an ordering field in the index record */
283
row_upd_changes_ord_field_binary(
284
/*=============================*/
283
row_upd_changes_ord_field_binary_func(
284
/*==================================*/
285
dict_index_t* index, /*!< in: index of the record */
286
const upd_t* update, /*!< in: update vector for the row; NOTE: the
287
field numbers in this MUST be clustered index
290
const que_thr_t*thr, /*!< in: query thread */
291
#endif /* UNIV_DEBUG */
285
292
const dtuple_t* row, /*!< in: old value of row, or NULL if the
286
293
row and the data values in update are not
287
294
known when this function is called, e.g., at
289
dict_index_t* index, /*!< in: index of the record */
290
const upd_t* update);/*!< in: update vector for the row; NOTE: the
291
field numbers in this MUST be clustered index
296
const row_ext_t*ext) /*!< NULL, or prefixes of the externally
297
stored columns in the old row */
298
__attribute__((nonnull(1,2), warn_unused_result));
300
# define row_upd_changes_ord_field_binary(index,update,thr,row,ext) \
301
row_upd_changes_ord_field_binary_func(index,update,thr,row,ext)
302
#else /* UNIV_DEBUG */
303
# define row_upd_changes_ord_field_binary(index,update,thr,row,ext) \
304
row_upd_changes_ord_field_binary_func(index,update,row,ext)
305
#endif /* UNIV_DEBUG */
293
306
/***********************************************************//**
294
307
Checks if an update vector changes an ordering field of an index record.
295
308
This function is fast if the update vector is short or the number of ordering
462
475
#define UPD_NODE_INSERT_CLUSTERED 3 /* clustered index record should be
463
476
inserted, old record is already delete
465
#define UPD_NODE_UPDATE_ALL_SEC 4 /* an ordering field of the clustered
478
#define UPD_NODE_INSERT_BLOB 4 /* clustered index record should be
479
inserted, old record is already
480
delete-marked; non-updated BLOBs
481
should be inherited by the new record
482
and disowned by the old record */
483
#define UPD_NODE_UPDATE_ALL_SEC 5 /* an ordering field of the clustered
466
484
index record was changed, or this is
467
485
a delete operation: should update
468
486
all the secondary index records */
469
#define UPD_NODE_UPDATE_SOME_SEC 5 /* secondary index entries should be
487
#define UPD_NODE_UPDATE_SOME_SEC 6 /* secondary index entries should be
470
488
looked at and updated if an ordering