Bug #27736 | Strict mode fails to detect a truncation on INSERT of expression. | ||
---|---|---|---|
Submitted: | 10 Apr 2007 17:00 | Modified: | 20 Nov 2007 11:58 |
Reporter: | Tobias Asplund | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: Data Types | Severity: | S2 (Serious) |
Version: | 5.0.37 Community/5.1 | OS: | MacOS (Linux) |
Assigned to: | Evgeny Potemkin | CPU Architecture: | Any |
[10 Apr 2007 17:00]
Tobias Asplund
[10 Apr 2007 22:34]
MySQL Verification Team
Thank you for the bug report.
[20 Nov 2007 11:58]
Sergei Golubchik
SQL Standard 2003, part 2: Foundation, section 9.2 Store assignment, General Rules, paragraph 2), case a), sub-case x): x) If the declared type of T is numeric, then Case: 1) If V is a member of the declared type of T, then T is set to V. 2) If a member of the declared type of T can be obtained from V by rounding or truncation, then T is set to that value. If the declared type of T is exact numeric, then it is implementation-defined whether the approximation is obtained by rounding or by truncation. 3) Otherwise, an exception condition is raised: "data exception -- numeric value out of range." =================== as you can see your example is covered by case 2), the data should be inserted, and no error should be generated.