summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge bk-internal.mysql.com:/home/bk/mysql-5.0-enginesistruewing@chilla.local2007-02-014-185/+407
|\ | | | | | | into chilla.local:/home/mydev/mysql-5.0-axmrg
| * After merge fix (WL#3567).svoj@mysql.com/june.mysql.com2007-01-312-2/+3
| |
| * Merge mysql.com:/home/svoj/devel/mysql/WL3567/mysql-4.1-enginessvoj@mysql.com/june.mysql.com2007-01-314-186/+407
| |\ | | | | | | | | | into mysql.com:/home/svoj/devel/mysql/WL3567/mysql-5.0-engines
| | * Merge mysql.com:/home/svoj/devel/bk/mysql-4.1-enginessvoj@mysql.com/june.mysql.com2007-01-314-180/+404
| | |\ | | | | | | | | | | | | into mysql.com:/home/svoj/devel/mysql/WL3567/mysql-4.1-engines
| | | * WL#3567 - MERGE engine: a check for underlying table conformancesvoj@mysql.com/june.mysql.com2007-01-314-180/+404
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a merge table is opened compare column and key definition of underlying tables against column and key definition of merge table. If any of underlying tables have different column/key definition refuse to open merge table.
* | | | Merge chilla.local:/home/mydev/mysql-4.1-axmrgistruewing@chilla.local2007-01-2912-47/+869
|\ \ \ \ | | | | | | | | | | | | | | | into chilla.local:/home/mydev/mysql-5.0-axmrg
| * \ \ \ Merge bk-internal.mysql.com:/home/bk/mysql-4.1istruewing@chilla.local2007-01-29111-838/+3599
| |\ \ \ \ | | |_|/ / | |/| | | | | | | | into chilla.local:/home/mydev/mysql-4.1-axmrg
| | * | | Merge mysql.com:/home/gluh/MySQL/Merge/4.1-optgluh@mysql.com/eagle.(none)2007-01-2685-874/+3298
| | |\ \ \ | | | | | | | | | | | | | | | | | | into mysql.com:/home/gluh/MySQL/Merge/4.1
| | | * \ \ Merge kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build-workdf@kahlann.erinye.com2007-01-241-1/+1
| | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
| | | | * \ \ Merge kahlann.erinye.com:/home/df/mysql/build/mysql-4.1df@kahlann.erinye.com2007-01-2410-19/+56
| | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build-work
| | | | * | | | Bug#25668 mysqld may core if cluster disconnectedtomas@poseidon.mysql.com2007-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - recommit in 4.1
| | | * | | | | Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1-buildjoerg@trift2.2007-01-2310-19/+56
| | | |\ \ \ \ \ | | | | |/ / / / | | | |/| | | | | | | | | | | | into trift2.:/MySQL/M41/push-4.1
| | | | * | | | Merge kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build-workdf@kahlann.erinye.com2007-01-2210-20/+51
| | | | |\ \ \ \ | | | | | |/ / / | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
| | | | * | | | Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1-builddf@kahlann.erinye.com2007-01-221-0/+6
| | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
| | | | | * \ \ \ Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1-builddf@kahlann.erinye.com2007-01-181-0/+6
| | | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
| | | | | | * \ \ \ Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1-builddf@kahlann.erinye.com2007-01-171-0/+6
| | | | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
| | | | | | | * \ \ \ Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1-builddf@kahlann.erinye.com2007-01-151-0/+6
| | | | | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
| | | | | | | | * \ \ \ Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1-builddf@kahlann.erinye.com2007-01-121-0/+6
| | | | | | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
| | | | | | | | | * \ \ \ Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1-builddf@kahlann.erinye.com2007-01-119-13/+16
| | | | | | | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
| | | | | | | | | * \ \ \ \ Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1-builddf@kahlann.erinye.com2007-01-072-2/+7
| | | | | | | | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
| | | | | | | | | * \ \ \ \ \ Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1-builddf@kahlann.erinye.com2007-01-051-0/+36
| | | | | | | | | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
| | | | | | | | | * \ \ \ \ \ \ Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1-builddf@kahlann.erinye.com2007-01-021-0/+6
| | | | | | | | | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
| | | * | | | | | | \ \ \ \ \ \ \ Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-4.0jani@a88-113-38-195.elisa-laajakaista.fi2007-01-2212-56/+876
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | |/ / / / / / / / / / / / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
| | | | * | | | | | | | | | | | | Fix for configure to detect library correctly.jani@a88-113-38-195.elisa-laajakaista.fi2007-01-228-151/+215
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix to check library in use during runtime. Fix for Bug#16995, "idle connections not being killed due to timeout when NPTL is used".
| * | | | | | | | | | | | | | | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1-enginesistruewing@chilla.local2007-01-242-3/+3
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into chilla.local:/home/mydev/mysql-4.1-bug24607
* | \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge mysql.com:/home/gluh/MySQL/Merge/5.0-optgluh@mysql.com/eagle.(none)2007-01-2651-334/+2264
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/gluh/MySQL/Merge/5.0
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-optsergefp@mysql.com2007-01-2514-262/+1299
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/psergey/mysql-5.0-bug8804-r12
| | * | | | | | | | | | | | | | | | | | BUG#24127: wrong result for (null,not-null) IN (SELECT a,b ...):sergefp@mysql.com2007-01-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed typo problem that surfaced after the merge
| | * | | | | | | | | | | | | | | | | | BUG#24127: merge fixes: If subselect is a union, dont allocate several sergefp@mysql.com2007-01-243-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | identical pushed_cond_guards arrays. Allocate only one always.
| | * | | | | | | | | | | | | | | | | | Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-optsergefp@mysql.com2007-01-2414-259/+1297
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/psergey/mysql-5.0-bug8804-r12
| | | * | | | | | | | | | | | | | | | | | BUG#24127: (a,b) IN (SELECT c,d ...) can produce wrong results if a and/or b ↵sergefp@mysql.com2007-01-1214-247/+1129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | are NULLs: - Make the code produce correct result: use an array of triggers to turn on/off equalities for each compared column. Also turn on/off optimizations based on those equalities. - Make EXPLAIN output show "Full scan on NULL key" for tables for which we switch between ref/unique_subquery/index_subquery and ALL access. - index_subquery engine now has HAVING clause when it is needed, and it is displayed in EXPLAIN EXTENDED - Fix incorrect presense of "Using index" for index/unique-based subqueries (BUG#22930) // bk trigger note: this commit refers to BUG#24127
| | | * | | | | | | | | | | | | | | | | | BUG#24085: Wrong result for NULL IN (SELECT not_null_val FROM ...)sergefp@mysql.com2007-01-124-24/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When transforming "oe IN (SELECT ie ...)" wrap the pushed-down predicates iff "oe can be null", not "ie can be null". The fix doesn't cover row-based subqueries, those will be fixed in #24127.
| * | | | | | | | | | | | | | | | | | | | Merge mysql.com:/home/gluh/MySQL/Merge/5.0gluh@mysql.com/eagle.(none)2007-01-2435-169/+637
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
| * | | | | | | | | | | | | | | | | | | | Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-optigor@olga.mysql.com2007-01-232-0/+51
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into olga.mysql.com:/home/igor/mysql-5.0-opt
| | * | | | | | | | | | | | | | | | | | | | Post-merge fix.igor@olga.mysql.com2007-01-231-13/+0
| | | | | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | | | | Merge olga.mysql.com:/home/igor/mysql-4.1-optigor@olga.mysql.com2007-01-232-0/+64
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | |_|_|_|/ / / / / / / / / / / / / / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into olga.mysql.com:/home/igor/mysql-5.0-opt
| | | * | | | | | | | | | | | | | | | | | | Fixed bug #25637: LEFT JOIN with BOOLEAN FULLTEXT loses left table matches.igor@olga.mysql.com2007-01-223-1/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug is actually a duplicate of the bug 14708. Down-ported the fix for 14708 from 5.0. Merged the test case for bug 14708 from 5.0.
| * | | | | | | | | | | | | | | | | | | | | Merge mysql.com:/home/gluh/MySQL/Merge/5.0gluh@mysql.com/eagle.(none)2007-01-2341-75/+917
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
| | * | | | | | | | | | | | | | | | | | | | sql_select.cc:evgen@moonbone.local2007-01-221-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code cleanup after fix for bug#23417.
| | * | | | | | | | | | | | | | | | | | | | sql_prepare.cc:evgen@moonbone.local2007-01-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Post fix for bug#25123.
| | * | | | | | | | | | | | | | | | | | | | Bug#25123: ON DUPLICATE KEY clause allows fields not from the insert table.evgen@moonbone.local2007-01-223-20/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When inserting into a join-based view the update fields from the ON DUPLICATE KEY UPDATE wasn't checked to be from the table being inserted into and were silently ignored. The new check_view_single_update() function is added to check that insert/update fields are being from the same single table of the view.
| | * | | | | | | | | | | | | | | | | | | | Merge olga.mysql.com:/home/igor/mysql-5.0-optigor@olga.mysql.com2007-01-196-7/+30
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25580
| | | * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-optevgen@moonbone.local2007-01-196-7/+30
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into moonbone.local:/work/25172-bug-5.0-opt-mysql
| | | | * | | | | | | | | | | | | | | | | | | | Bug#25172: Not checked buffer size leads to a server crash.evgen@moonbone.local2007-01-196-7/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After fix for bug#21798 JOIN stores the pointer to the buffer for sorting fields. It is used while sorting for grouping and for ordering. If ORDER BY clause has more elements then the GROUP BY clause then a memory overrun occurs. Now the length of the ORDER BY list is always passed to the make_unireg_sortorder() function and it allocates buffer big enough to be used for bigger list.
| | * | | | | | | | | | | | | | | | | | | | | | Merge olga.mysql.com:/home/igor/mysql-5.0-optigor@olga.mysql.com2007-01-194-3/+81
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | |/ / / / / / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25580
| | | * | | | | | | | | | | | | | | | | | | | | Fixed bug #25219: crash for a query that contains an EXIST subquery withigor@olga.mysql.com2007-01-194-3/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UNION over correlated and uncorrelated SELECTS. In such subqueries each uncorrelated SELECT should be considered as uncacheable. Otherwise join_free is called for it and in many cases it causes some problems.
| | * | | | | | | | | | | | | | | | | | | | | | Merge olga.mysql.com:/home/igor/mysql-5.0-optigor@olga.mysql.com2007-01-193-3/+87
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | |/ / / / / / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25580
| | | * | | | | | | | | | | | | | | | | | | | | Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-optgkodinov/kgeorge@rakia.gmz2007-01-183-3/+87
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | |/ / / / / / / / / / / / / / / / / / / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into rakia.gmz:/home/kgeorge/mysql/autopush/B25382-5.0-opt
| | | | * | | | | | | | | | | | | | | | | | | | Bug #25382: Passing NULL to an UDF called from stored procedures gkodinov/kgeorge@macbook.gmz2007-01-183-3/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | crashes server Check for null value is reliable only after calling some of the val_xxx() methods. If the val_xxx() method is not called the null_value flag will be set only for certain types of NULL values (like SQL constant NULLs for example). This caused a crash while trying to dereference a NULL pointer that is returned by val_str() for NULL values. Fixed by swapping the order of val_xxx() and null_value check.
| | * | | | | | | | | | | | | | | | | | | | | | Fixed bug #25580: incorrect stored representations of views in casesigor@olga.mysql.com2007-01-176-6/+45
| | |/ / / / / / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when they contain the '!' operator. Added an implementation for the method Item_func_not::print. The method encloses any NOT expression into extra parentheses to avoid incorrect stored representations of views that use the '!' operators. Without this change when a view was created that contained the expression !0*5 its stored representation contained not this expression but rather the expression not(0)*5 . The operator '!' is of a higher precedence than '*', while NOT is of a lower precedence than '*'. That's why the expression !0*5 is interpreted as not(0)*5, while the expression not(0)*5 is interpreted as not((0)*5) unless sql_mode is set to HIGH_NOT_PRECEDENCE. Now we translate !0*5 into (not(0))*5.