You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In context of #2934 aggressive buffering of write operation should be implemented.
Buffered operations will be stored in YBCPgSession object.
Buffering should also take transaction state into account. For example before committing transaction all buffered operations must be apply first, and in case transaction is rolled back buffered operations must be vanished.
To control write operation buffer state in YBCPgSession the following redesign should be implemented:
make YBCPgSession private member of PgApiImpl class
make PgTxnManager private member of PgApiImpl class
do not provide direct access to YBCPgSession PgTxnManager
create separate methods in PgApiImpl class to begin/commit/rollback transactions
With such approach PgApiImpl class will be able to clear/flush buffer of write operation in YBCPgSession object in case of transaction state changes.
The text was updated successfully, but these errors were encountered:
Summary:
1. Global variable `ybc_pg_session` is removed.
Now `PgSession` object is stored as a member in `PgApiImpl` object.
2. Standalone functions for commit/rollback/abort transaction are created.
Now it is possible to notify `PgSession` object to flush/clear buffers in case of transaction state change.
Test Plan: Jenkins
Reviewers: mihnea, mikhail
Reviewed By: mikhail
Subscribers: yql
Differential Revision: https://phabricator.dev.yugabyte.com/D7648
In context of #2934 aggressive buffering of write operation should be implemented.
Buffered operations will be stored in YBCPgSession object.
Buffering should also take transaction state into account. For example before committing transaction all buffered operations must be apply first, and in case transaction is rolled back buffered operations must be vanished.
To control write operation buffer state in YBCPgSession the following redesign should be implemented:
With such approach PgApiImpl class will be able to clear/flush buffer of write operation in YBCPgSession object in case of transaction state changes.
The text was updated successfully, but these errors were encountered: