提交 82caed0c authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Improve SELECT FOR UPDATE documentation and remove outdated comment

上级 3f120bc9
...@@ -74,6 +74,8 @@ If FOR UPDATE is specified, the tables or rows are locked for writing. ...@@ -74,6 +74,8 @@ If FOR UPDATE is specified, the tables or rows are locked for writing.
This clause is not allowed in DISTINCT queries and in queries with non-window aggregates, GROUP BY, or HAVING clauses. This clause is not allowed in DISTINCT queries and in queries with non-window aggregates, GROUP BY, or HAVING clauses.
When using default MVStore engine only the selected rows are locked as in an UPDATE statement; When using default MVStore engine only the selected rows are locked as in an UPDATE statement;
locking behavior for rows that were excluded from result using OFFSET / FETCH or QUALIFY is undefined. locking behavior for rows that were excluded from result using OFFSET / FETCH or QUALIFY is undefined.
Rows are processed one by one. Committed row is read, tested with WHERE criteria, locked, read again and re-tested,
because its value may be changed by concurrent transaction before lock acquisition.
With PageStore engine the whole tables are locked. With PageStore engine the whole tables are locked.
"," ","
SELECT * FROM TEST; SELECT * FROM TEST;
......
...@@ -606,8 +606,6 @@ public class TableFilter implements ColumnResolver { ...@@ -606,8 +606,6 @@ public class TableFilter implements ColumnResolver {
* @param current the current row * @param current the current row
*/ */
public void set(Row current) { public void set(Row current) {
// this is currently only used so that check constraints work - to set
// the current (new) row
this.current = current; this.current = current;
this.currentSearchRow = current; this.currentSearchRow = current;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论