- 03 Apr, 2012 4 commits
-
-
Michael Widenius authored
-
Michael Widenius authored
-
Michael Widenius authored
The main problem was a bug in CSV where it provided wrong statistics (it claimed the table was empty when it wasn't) I also fixed wrong freeing of blob's in the CSV handler. (Any call to handler::read_first_row() on a CSV table with blobs would fail) mysql-test/r/csv.result: Added new test case mysql-test/r/partition_innodb.result: Updated test results after fixing bug with impossible partitions and const tables mysql-test/t/csv.test: Added new test case sql/sql_select.cc: Cleaned up code for handling of partitions. Fixed also a bug where we didn't threat a table with impossible partitions as a const table. storage/csv/ha_tina.cc: Allocate blobroot onces.
-
Michael Widenius authored
-
- 02 Apr, 2012 4 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Michael Widenius authored
-
Michael Widenius authored
Thanks to Maarten Vanraes for the patch sql/sql_plugin.cc: Fix plugin boolean variables to receive the value "1", not "-1", when they are set to 1. Aside from being bizarre, the existing behavior is unportable: machines where char is unsigned print "255" instead.
-
- 30 Mar, 2012 8 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Michael Widenius authored
-
Michael Widenius authored
-
Michael Widenius authored
-
Michael Widenius authored
Fixed that repair removes the 'table is moved' mark. mysql-test/suite/maria/r/maria-autozerofill.result: Test case for lp:967914 mysql-test/suite/maria/t/maria-autozerofill.test: Test case for lp:967914 storage/maria/ha_maria.cc: Fixed that repair removes the 'table is moved' mark.
-
Sergei Golubchik authored
-
- 29 Mar, 2012 5 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
unknown authored
-
- 28 Mar, 2012 3 commits
-
-
Michael Widenius authored
-
Michael Widenius authored
-
Michael Widenius authored
The issue was that check/optimize/anaylze did not zerofill the table before they started to work on it. Added one more element to not often used function handler::auto_repair() to allow handler to decide when to auto repair. mysql-test/suite/maria/r/maria-autozerofill.result: Test case for lp:944422 mysql-test/suite/maria/t/maria-autozerofill.test: Test case for lp:944422 sql/ha_partition.cc: Added argument to auto_repair() sql/ha_partition.h: Added argument to auto_repair() sql/handler.h: Added argument to auto_repair() sql/table.cc: Let auto_repair() decide which errors to trigger auto-repair storage/archive/ha_archive.h: Added argument to auto_repair() storage/csv/ha_tina.h: Added argument to auto_repair() storage/maria/ha_maria.cc: Give better error & warning messages for auto-repaired tables. storage/maria/ha_maria.h: Added argument to auto_repair() Always auto-repair in case of moved table. storage/maria/ma_open.c: Remove special handling of HA_ERR_OLD_FILE (this is now handled in auto_repair()) storage/myisam/ha_myisam.h: Added argument to auto_repair()
-
- 27 Mar, 2012 2 commits
-
-
Michael Widenius authored
Added feature request 'reading of my.cnf files' to mytop Thanks to Jean Weisbuch for the patch/suggestion. scripts/mytop.sh: Added feature request from lp:956585 "Feature request - prevent truncating query in mytop" Added feature request 'reading of my.cnf files'
-
Sergey Petrunya authored
- This is a regession introduced by fix for BUG#951937 - The problem was that there were scenarios where check_simple_equality() would create an Item_equal object but would not call item_equal->set_context_field() on it. - The fix was to add the missing calls.
-
- 26 Mar, 2012 8 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- The problem was with execution strategy for cases where FirstMatch's inner tables were interleaved with outer-uncorrelated tables. - I was unable to find any cases where such join orders would be practically useful, so fixed it by disabling them.
-
Michael Widenius authored
Bug fix for MySQL bug#61209 "auto_increment_offset != 1 + innodb_autoinc_lock_mode=1 => bulk inserts fail" Patch and test case by Patryk Pomykalski mysql-test/suite/innodb/r/innodb-autoinc.result: updated test case storage/innodb_plugin/handler/ha_innodb.cc: Fixed that we properly reserve values for auto_increment storage/xtradb/handler/ha_innodb.cc: Fixed that we properly reserve values for auto_increment
-
Michael Widenius authored
mysql-test/t/subselect_sj2.test: Added --sorted_result
-
Michael Widenius authored
Fixed lp:963603 "Assertion `lock_type != TL_UNLOCK && (lock_type == TL_IGNORE || file->lock.type == TL_UNLOCK)' failed in ha_maria::store_lock with DML, triggers, views" mysys/thr_lock.c: Ensure that all locks are marked as TL_UNLOCK in case of error (Safety fix) sql/lock.cc: Ensure that all locks are marked as TL_UNLOCK in case of error (This is the real fix for lp:963603)
-
Sergey Petrunya authored
-
Sergey Petrunya authored
BUG#951937: Wrong result (missing rows) with semijoin+materialization, IN subquery, InnoDB, TEMPTABLE view - Fix equality propagation to work with SJM nests and OR clauses (full descirption of problem and solution in the comment in the patch) (The second commit with post-review fixes)
-
Michael Widenius authored
-
- 25 Mar, 2012 1 commit
-
-
Sergey Petrunya authored
- The problem was that = we've picked a LooseScan that used full index scan (tab->type==JT_ALL) on certain index. = there was also a quick select (tab->quick!=NULL), that used other indexes. = some old code assumes that (tab->type==JT_ALL && tab->quick) -> means that the quick select should be used, which is not true. Fixed by discarding the quick select as soon as we know we're using LooseScan without using the quick select.
-
- 24 Mar, 2012 1 commit
-
-
unknown authored
Improve filesort performance for small sorts: Don't write pointers to records that we will never use.
-
- 23 Mar, 2012 4 commits
-
-
Michael Widenius authored
- Don't call update_virtual_fields() if table->vfield is not set - Don't prealloc memory for in open_tables() as this is very seldom used. sql/records.cc: Don't call update_virtual_fields() if table->vfield is not set sql/sql_base.cc: Don't prealloc memory for in open_tables() as this is very seldom used. Don't call update_virtual_fields() if table->vfield is not set sql/sql_delete.cc: Don't call update_virtual_fields() if table->vfield is not set sql/sql_handler.cc: Don't call update_virtual_fields() if table->vfield is not set sql/sql_join_cache.cc: Don't call update_virtual_fields() if table->vfield is not set Move some frequent values to local variables sql/sql_table.cc: Don't call update_virtual_fields() if table->vfield is not set sql/sql_update.cc: Don't call update_virtual_fields() if table->vfield is not set sql/table.cc: Assert if update_virtual_fields is called with wrong parameters
-
Michael Widenius authored
- Remove all references of MAX_TABLES from JOIN struct and make these dynamic - Updated Join_plan_state to allocate just as many elements as it's needed sql/opt_subselect.cc: Optimized version of Join_plan_state sql/sql_select.cc: Set join->positions and join->best_positions dynamicly Don't call update_virtual_fields() if table->vfield is not set. sql/sql_select.h: Remove all references of MAX_TABLES from JOIN struct and Join_plan_state and make these dynamic
-
Michael Widenius authored
- Optimize away calls to hp_rec_hashnr() by cashing hash - Try to get more rows / block (to minimize overhead of HP_PTRS) in HEAP tables. storage/heap/_check.c: Optimize away calls to hp_rec_hashnr() by cashing hash. Print cleanups storage/heap/heapdef.h: Added place to hold calculated hash value for row storage/heap/hp_create.c: Try to get more rows / block (to minimize overhead of HP_PTRS) storage/heap/hp_delete.c: Optimize away calls to hp_rec_hashnr() by cashing hash. storage/heap/hp_hash.c: Optimize away calls to hp_rec_hashnr() by cashing hash. Remove some not needed DBUG_PRINT storage/heap/hp_test2.c: Increased max table size as now heap tables takes a bit more space (a few %) storage/heap/hp_write.c: Optimize away calls to hp_rec_hashnr() by cashing hash. Remove duplicated code More DBUG_PRINT storage/maria/ma_create.c: More DBUG_PRINT
-
Igor Babaev authored
If the first component of a ref key happened to be a constant appeared after constant row substitution then no store_key element should be created for such a component. Yet create_ref_for_key() erroneously could create such an element that caused construction of invalid ref keys and wrong results for some joins.
-