[MDEV-16096] system versioning by trx id doesn't seem to work properly Created: 2018-05-06 Updated: 2018-05-07 Resolved: 2018-05-07 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Versioned Tables |
| Affects Version/s: | 10.3.6 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Axel Schwenke | Assignee: | Sergei Golubchik |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
Test case:
Question 1: the KB does not mention that timestamps are stored along transaction ids. It's also not obvious where the timestamps are stored (not in the table, obviously) nor how InnoDB finds the correspondence between time and trx id. No we know that row existed between trx 115 and 126. Lets query by trx id:
Question 2: the start/end_trxid columns suggest that the row existed for transactions 115 to 126. But it is returned just for 115. How comes? Conclusion: the feature is at least underdocumented and behaves in unexpected ways. |
| Comments |
| Comment by Elena Stepanova [ 2018-05-06 ] |
|
Some notes: 1) about documentation for timestamps storage: mysql.transaction_registry was in fact documented recently, in scope of 2) about non-existing trx ids: it is not this smart (for now, at least), it only works with existing transaction id, doesn't estimate what could have been for those that don't exist. It's an open issue in progress: |
| Comment by Axel Schwenke [ 2018-05-07 ] |
|
Thanks elenst - I close this as duplicate of |