- 12 Jul, 2011 1 commit
-
-
Alexey Botchkov authored
We cannot cut a line from a polygon. So if the polygon fits the condition, and the intersection of a line and the polygon doesn't, we just skip the line. That rule wasn't applied if the line start was inside the polygon, which leaded to the assertion. per-file comments: mysql-test/r/gis-precise.result Fix for bug #801217 Assertion `t1->result_range' in Gcalc_operation_reducer::end_couple. test result updated. mysql-test/t/gis-precise.test Fix for bug #801217 Assertion `t1->result_range' in Gcalc_operation_reducer::end_couple. test case added. sql/gcalc_tools.cc Fix for bug #801217 Assertion `t1->result_range' in Gcalc_operation_reducer::end_couple. Don't mark the line as a border if it's inside a polygon that fits the result condition.
-
- 08 Jul, 2011 1 commit
-
-
Alexey Botchkov authored
A polygon has no right to have holes that are actually points. So just skip them when we collect the result of an operation. per-file comments: mysql-test/r/gis-precise.result Fix for bug #804259 Second assertion in Gis_geometry_collection::init_from_opresult. test result updated. mysql-test/t/gis-precise.test Fix for bug #804259 Second assertion in Gis_geometry_collection::init_from_opresult. test case added. sql/gcalc_tools.cc Fix for bug #804259 Second assertion in Gis_geometry_collection::init_from_opresult. Skip the point in the result if it's the hole inside a polygon.
-
- 07 Jul, 2011 2 commits
-
-
Alexey Botchkov authored
Fix for bug #805860 Second assertion Assertion `n > 0 && n < SINUSES_CALCULATED*2+1' in get_n_sincos. Just typo-style mistake. Should be '||' instead of '&&'. per-file comments: mysql-test/r/gis-precise.result Fix for bug #805860 Second assertion Assertion `n > 0 && n < SINUSES_CALCULATED*2+1' in get_n_sincos. test result updated. mysql-test/t/gis-precise.test Fix for bug #805860 Second assertion Assertion `n > 0 && n < SINUSES_CALCULATED*2+1' in get_n_sincos. test case added. sql/item_geofunc.cc Fix for bug #805860 Second assertion Assertion `n > 0 && n < SINUSES_CALCULATED*2+1' in get_n_sincos. condition fixed.
-
Alexey Botchkov authored
There were actually two bugs. One was when the line that intersects itself the intersection point treated as it doesn't belong to the line. Second when edges partly coincide, wrong result produced when we try to find their intersection. per-file comments: mysql-test/r/gis-precise.result Fix for bug #804324 Assertion 0 in Gcalc_scan_iterator::pop_suitable_intersection test result updated. mysql-test/t/gis-precise.test Fix for bug #804324 Assertion 0 in Gcalc_scan_iterator::pop_suitable_intersection test case added. sql/gcalc_slicescan.cc Fix for bug #804324 Assertion 0 in Gcalc_scan_iterator::pop_suitable_intersection skip the intersection if it just line that intersects itself. sql/gcalc_tools.cc Fix for bug #804324 Assertion 0 in Gcalc_scan_iterator::pop_suitable_intersection if edges coincide, just pick the first coinciding poing as an intersection.
-
- 05 Jul, 2011 1 commit
-
-
Alexey Botchkov authored
That crash happened with the complicated topology of the result. If we found a hole in a polygon whose outside border was already found, we need to paste the hole right after it and respectively shift polygons after it. Also we need to update poly_position fields in these polygons. That last thing wasn't properly done that led to the crash. To fix that we keep the list of the found polygons and update the poly_positions that are bigger or equal to where we placed the next hole. per-file comments: mysql-test/r/gis-precise.result bug #804305 Crash in wkb_get_double with ST_INTERSECTION. test result updated. mysql-test/t/gis-precise.test bug #804305 Crash in wkb_get_double with ST_INTERSECTION. test result added. sql/gcalc_tools.cc bug #804305 Crash in wkb_get_double with ST_INTERSECTION. keep the list of the found polygons and update their poly_position fields respectively. sql/gcalc_tools.h bug #804305 Crash in wkb_get_double with ST_INTERSECTION. Gcalc_result_receiver::move_hole interface changed.
-
- 04 Jul, 2011 2 commits
-
-
Alexey Botchkov authored
The ::val_str() method has to return NULL if it calculated the null_value, not just set the related flag. per-file comments: mysql-test/r/gis-precise.result fix for bug #801212 Assertion with ST_INTERSECTION on NULL values test result updated. mysql-test/t/gis-precise.test fix for bug #801212 Assertion with ST_INTERSECTION on NULL values test case added. sql/item_geofunc.cc fix for bug #801212 Assertion with ST_INTERSECTION on NULL values return NULL from the val_str if we get the null_value.
-
Alexey Botchkov authored
Collections were treated mistakenly, so the counter for the final UNION operation received the wrong value. As a fix we implement Item_func_buffer::Transporter::start_collection() method, where we set the proper operation and the operand counter. start_poly() and start_line() were also modified to function correctly for the polygon as a part of a collection. per-file comments: mysql-test/r/gis-precise.result bug #801199 Infinite recursion in Gcalc_function::count_internal with ST_BUFFER over MULTIPOINT test result updated. mysql-test/t/gis-precise.test bug #801199 Infinite recursion in Gcalc_function::count_internal with ST_BUFFER over MULTIPOINT test case added. sql/item_geofunc.cc bug #801199 Infinite recursion in Gcalc_function::count_internal with ST_BUFFER over MULTIPOINT start_collection() implemented. sql/item_geofunc.h bug #801199 Infinite recursion in Gcalc_function::count_internal with ST_BUFFER over MULTIPOINT Item_func_buffer::Transporter::start_collection() defined.
-
- 30 Jun, 2011 2 commits
-
-
Alexey Botchkov authored
Internal caclucations can't handle zero distance properly. As the ST_BUFFER(geom, 0) is in fact NOOP, we'll just return the 'geom' as the result here. per-file comments: mysql-test/r/gis-precise.result fix for bug #201189 ST_BUFFER asserts if radius = 0. test result updated. mysql-test/t/gis-precise.test fix for bug #201189 ST_BUFFER asserts if radius = 0. test case added. sql/item_geofunc.cc fix for bug #201189 ST_BUFFER asserts if radius = 0. return the first argument as the result of the ST_BUFFER, if the distance is 0 there.
-
Alexey Botchkov authored
fix for bug #801243 Assertion `(0)' failed in Gis_geometry_collection::init_from_opresult on ST_UNION If the result contains a polygon with a hole, consequitive shapes weren't calculated properly, as the hole appeared as shape in the result, but actually it's a single shape with the surrounding polygon. It's more natural to use the size of the result as a border instead of the number of resulting shapes. per-file comments: mysql-test/r/gis-precise.result fix for bug #801243 Assertion `(0)' failed in Gis_geometry_collection::init_from_opresult on ST_UNION test result updated. mysql-test/t/gis-precise.test fix for bug #801243 Assertion `(0)' failed in Gis_geometry_collection::init_from_opresult on ST_UNION test case added. sql/spatial.cc fix for bug #801243 Assertion `(0)' failed in Gis_geometry_collection::init_from_opresult on ST_UNION check the data lenght instead of number of shapes. sql/spatial.h fix for bug #801243 Assertion `(0)' failed in Gis_geometry_collection::init_from_opresult on ST_UNION check the data lenght instead of number of shapes.
-
- 19 Jun, 2011 1 commit
-
-
Alexey Botchkov authored
merging.
-
- 17 Jun, 2011 2 commits
-
-
Vladislav Vaintroub authored
-
Sergey Petrunya authored
-
- 16 Jun, 2011 1 commit
-
-
Igor Babaev authored
-
- 15 Jun, 2011 5 commits
-
-
Sergey Petrunya authored
-In do_sj_dups_weedout(), set nulls_ptr to point to NULL bytes (and not to length bytes) of the DuplicateWeedout column.
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- Testcase
-
Sergey Petrunya authored
BUG#761598: InnoDB: Error: row_search_for_mysql() is called without ha_innobase::external_lock() in maria-5.3 - Testcase
-
Sergey Petrunya authored
- Add testcase
-
- 14 Jun, 2011 2 commits
-
-
Sergei Golubchik authored
-
Alexey Botchkov authored
-
- 12 Jun, 2011 1 commit
-
-
Sergei Golubchik authored
-
- 14 Jun, 2011 1 commit
-
-
unknown authored
The previous patch partially fixed things by waiting for the old dump thread on the master to exit before injecting the DBUG error. This prevents the error injection going to the wrong thread. However, there is still the problem that the old dump thread may never exit, causing the wait to time out. This happens if the dump thread manages to write all events down the socket before the socket is closed by the slave. The master dump thread only checks for slave gone when writing a new event, so if no new events are generated, old dump threads can hang around forever on the master after the slave disconnects. Fix by explicitly killing the old dump thread if it is still around.
-
- 13 Jun, 2011 1 commit
-
-
Sergey Petrunya authored
(Changeset sp1r-igor@olga.mysql.com-20070526173301-38848 moved this loop from one place to another, then the merge of sp1r-gshchepa/uchum@gleb.loc-20070527192244-26330 have kept both copies).
-
- 11 Jun, 2011 4 commits
-
-
Sergey Petrunya authored
- move attempt to evaluate join->exec_const_cond() out of the "Extract constant part of each ON expression" loop (it got there by mistake when merging).
-
Michael Widenius authored
-
Michael Widenius authored
mysql-test/suite/maria/t/maria3.test: Fix when compiling with safemalloc storage/maria/ha_maria.cc: Fix that MAX_FILE_SIZE is not limited on 32 bit machines.
-
Michael Widenius authored
-
- 10 Jun, 2011 6 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Michael Widenius authored
-
Sergey Petrunya authored
- Add a testcase (the bug has already been fixed)
-
Sergey Petrunya authored
- Handle the case when the subquery's join is degenerate and so has zero tables.
-
Sergei Golubchik authored
from an ad hoc set of limitations to a correct rule
-
- 09 Jun, 2011 7 commits
-
-
Michael Widenius authored
Fixed reference to not initialized memory detected by valgrind sql/sql_select.cc: A bit better fix for tmp-table problem: Use only dynamic_record format for group by and distinct. storage/maria/ma_create.c: DYNAMIC_RECORD format doesn't pack VARCHAR fields. This change fixes a non-fatal uninitialized memory copy.
-
Igor Babaev authored
The function generate_derived_keys did not take into account the fact that the last element in the array of keyuses could be just a barrier element. In some cases it could lead to a crash of the server. Also fixed a couple of other bugs in generate_derived_keys: the inner loop in the body of if this function did not change the cycle variables properly.
-
Michael Widenius authored
-
Michael Widenius authored
-
Michael Widenius authored
The reason for this is that BLOCK_RECORD format is not good when there is a lot of duplicated keys as it first writes the data (to get the row position) and then writes the key (and thus checks for duplicates).
-
Sergei Golubchik authored
Fix Field_time_hires::reset()
-
Sergei Golubchik authored
microsecond(TIME) alter table datetime<->datetime(6) max(TIME), mix(TIME) mysql-test/t/func_if.test: fix the test case of avoid overflow sql/field.cc: don't use make_date() and make_time() sql/field.h: correct eq_def() for temporal fields sql/item.cc: move datetime caching from Item_cache_int to Item_cache_temporal sql/item.h: move datetime caching from Item_cache_int to Item_cache_temporal sql/item_func.cc: use existing helper methods, don't duplicate sql/item_sum.cc: argument cache must use argument's cmp_type, not result_type. sql/item_timefunc.cc: use existing methods, don't tuplicate. remove unused function. fix micorseconds() to support TIME argument sql/mysql_priv.h: dead code sql/time.cc: dead code
-