Skip to content

2.25.1.0-b353

@yamen-haddad yamen-haddad tagged this 14 Feb 09:07
Summary:
Now that protection against users performing write-DMLs or DDLs in sessions where yb_read_time is set has been added D41664, users are only allowed to perform read-only DMLS in time-traveling sessions. We want to enhance the message that the user sees when setting the yb_read_time GUC variable to reflect the new changes.
The new proposed message:

```yb_read_time should only be set for read-only queries. Write-DML or DDL queries are not allowed when yb_read_time is set.```

The message will only be shown to users when yb_read_time is set to nonzero. As setting the variable to zero means the default db behavior, and thus, we do not block writes.
Jira: DB-15357

Test Plan:
Tested manually as follows:
```
yugabyte=# set yb_read_time to 1739491719190989;
NOTICE:  yb_read_time should only be set for read-only queries. Write-DML or DDL queries are not allowed when yb_read_time is set.
SET
yugabyte=# insert into t values (1);
ERROR:  Write DML operation can not be performed while yb_read_time is set to nonzero.
yugabyte=# set yb_read_time to 0;
SET
yugabyte=# insert into t values (1);
INSERT 0 1
```

Reviewers: asrivastava, slingam

Reviewed By: asrivastava

Subscribers: yql, ybase

Differential Revision: https://phorge.dev.yugabyte.com/D41913
Assets 2
Loading