[MDEV-13006] update_time column of on i_s.tables remains NULL for sequence objects Created: 2017-06-06 Updated: 2018-04-07 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Sequences, Storage Engine - InnoDB |
| Affects Version/s: | 10.3 |
| Fix Version/s: | 10.4 |
| Type: | Bug | Priority: | Major |
| Reporter: | Andrii Nikitin (Inactive) | Assignee: | Marko Mäkelä |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
Following code returns NULL for InnoDB
The same for aria or myisam returns correct timestamp:
|
| Comments |
| Comment by Elena Stepanova [ 2017-06-06 ] |
|
For a note, update_time for InnoDB tables in I_S is pretty useless anyway, as it doesn't survive server restart. If it can be fixed as well, it would be great of course. |
| Comment by Marko Mäkelä [ 2017-06-06 ] |
|
I wouldn’t fix this before we get a persistent update_time. That field would have to be stored somewhere in the data file (clustered index root page?). It is doable for sequences (which consist of a single page anyway), but could create a performance bottleneck for general tables if we really update it in real-time. On the other hand, that is what we are doing to the persistent AUTO_INCREMENT, and nobody complained yet that the root page is becoming a bottleneck. |
| Comment by Marko Mäkelä [ 2017-06-07 ] |
|
A simple change that we could do is to report the .ibd file timestamp as the update_time, and NULL if the sequence is stored in a shared tablespace file. |
| Comment by Marko Mäkelä [ 2017-11-23 ] |
|
Starting with MariaDB 10.2.2, InnoDB maintains a non-persistent update_time for persistent transactional tables (it will be forgotten across server restart). Sequence objects are not transactional; they are only persisted. Thus, sequence objects would requires some other kind of update_time mechanism. Maybe at the same time with implementing update_time for InnoDB sequences, we should implement persistent update_time for InnoDB tables. |