Subject | Question to FB teem about solution of CORE-2348 |
---|---|
Author | karolbieniaszewski |
Post date | 2011-04-11T06:21:22Z |
Hi
i post few days ago
proposition how solve feature "reuse transaction id"
http://tracker.firebirdsql.org/browse/CORE-2348
is this good way?
"
When transaction id reach e.g. 1 500 000 000 value (shuld be big as possible but have also big difference to max integer value)
server should look for situation when 0 transaction are active.
This situation is possible becouse normally transactions are very short.
When the server detects that there is no active transaction then
1. start speciall think of garbage collector
remove all old record versions and also set transaction id flag for all others records (with transaction id flag less then or equal to 1 500 000 000) to value 1 5000 000 000.
2. when this will be done - then server should look for second time when 0 transactions are active.
3. then reset transaction counter to 0 also oldest active transaction value to 0.
4. start another speciall think of garbage collector
Should remove all record versions and leave only the most recent one with the largest value transaction id.
5. and reset transaction id flag for all record versions greater than or equal to 1 500 000 000 to 0 value.
"
Vlad Khorsun say that
"Is was discussed some time ago but no good solution was offered, iirc
"
is this solution or i'am wrong?
Karol Bieniaszewski
i post few days ago
proposition how solve feature "reuse transaction id"
http://tracker.firebirdsql.org/browse/CORE-2348
is this good way?
"
When transaction id reach e.g. 1 500 000 000 value (shuld be big as possible but have also big difference to max integer value)
server should look for situation when 0 transaction are active.
This situation is possible becouse normally transactions are very short.
When the server detects that there is no active transaction then
1. start speciall think of garbage collector
remove all old record versions and also set transaction id flag for all others records (with transaction id flag less then or equal to 1 500 000 000) to value 1 5000 000 000.
2. when this will be done - then server should look for second time when 0 transactions are active.
3. then reset transaction counter to 0 also oldest active transaction value to 0.
4. start another speciall think of garbage collector
Should remove all record versions and leave only the most recent one with the largest value transaction id.
5. and reset transaction id flag for all record versions greater than or equal to 1 500 000 000 to 0 value.
"
Vlad Khorsun say that
"Is was discussed some time ago but no good solution was offered, iirc
"
is this solution or i'am wrong?
Karol Bieniaszewski