Details

      Description

      Currently, lock_t is a union of table locks and record lock bitmaps. There can be multiple record lock bitmaps in a transaction. A record lock bitmap is specific to an index leaf page and a locking mode. It could be more efficient to use a single bitmap per page, with 3 bits per record heap number to represent the 6 combinations of lock modes: {not held,shared,exclusive}×{record,gap}.
      (An exclusive gap lock would correspond to LOCK_INSERT_INTENTION.)

      A transaction can wait for at most one record. It might be simplest to not create a separate bitmap for that, but instead store the attributes of the lock request in the trx_t object.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                kevg Eugene Kosov
                Reporter:
                marko Marko Mäkelä
              • Votes:
                1 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: