1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! UPDATE statement subquery tests
//!
//! This module contains comprehensive tests for UPDATE statements with subqueries,
//! organized into focused sub-modules for maintainability.
//!
//! ## Test Organization
//!
//! Tests are split by subquery usage pattern:
//!
//! - **simple_scalar_subqueries**: Tests for scalar subqueries in SET clauses (single value
//! returns)
//! - **error_cases**: Tests for error handling (multiple rows, multiple columns, type mismatches)
//! - **where_in_subqueries**: Tests for IN/NOT IN subqueries in WHERE clauses
//! - **where_comparison_subqueries**: Tests for comparison operators with scalar subqueries in
//! WHERE clauses
//!
//! ## Test Coverage
//!
//! ### Simple Scalar Subqueries (SET clause)
//! - Single value subqueries
//! - Aggregate functions (MAX, MIN, AVG)
//! - NULL handling
//! - Empty result sets
//! - Multiple subqueries in one UPDATE
//! - Subqueries with WHERE clause filtering
//!
//! ### Error Cases
//! - Subquery returning multiple rows (should error)
//! - Subquery returning multiple columns (should error)
//!
//! ### WHERE Clause Subqueries
//! - IN operator with subqueries
//! - NOT IN operator with subqueries
//! - Comparison operators (=, <, >, etc.) with scalar subqueries
//! - Empty result sets in subqueries
//! - NULL handling in subqueries
//! - Aggregate functions in subqueries
//! - Complex conditions with subqueries
//! - Combined SET and WHERE subqueries
//!
//! ## Related Issues
//! - Issue #353: UPDATE WHERE with subquery support
//! - Issue #619: Refactor large test file into focused modules