Details
-
Task
-
Status: Open (View Workflow)
-
Critical
-
Resolution: Unresolved
-
None
Description
Currently we have two flags:
- STRICT_TRANS_TABLES
- STRICT_ALL_TABLES
These flags were originally added to control how to treat warnings that happen on updating table fields for transactional and non-transactional tables.
Gradually these flags spread all around the code to change the server behavior in contexts not directly related to tables, such as:
- SP variables, SP routine parameters, function return values
- Built-in SQL functions (e.g. badly formed strings)
- Too long comments
- Too long messages in SIGNAL
- Duplicate values in ENUM/SET
- Automatic VARCHAR -> BLOB conversion
During recent discussions we agreed (Bar, Elena, Serg) that STRICT_XXX_TABLES should not affect anything when no tables are involved.
To address this, we'll introduce a new STRICT_XXX flag that will control server behavior when no tables are involved.
The exact flags name is a subject to discussion.
Attachments
Issue Links
- blocks
-
MDEV-8300 CAST('' AS DECIMAL) is too strict on INSERT in strict mode
-
- Stalled
-
-
MDEV-11875 Inconsistent behavior of CREATE TABLE AS ... <string function> depending on strict mode
-
- Open
-
-
MDEV-11876 CONVERT produces a warning and result depends on strict mode
-
- Open
-
-
MDEV-11888 SELECT produces more warnings in non-strict mode than in strict mode
-
- Open
-
-
MDEV-28140 Unexpected error when UPDATE a NULL
-
- Confirmed
-
- relates to
-
MDEV-28069 A misleading warning message from the DELETE statement
-
- Open
-
-
MDEV-28142 Unexpected UPDATE behavior under strict sql_mode
-
- Open
-