Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Console View


Categories: connectors experimental galera main
Legend:   Passed Failed Warnings Failed Again Running Exception Offline No data

connectors experimental galera main
ParadoxV5
MDEV-36340: Reset `Connects_Tried` with `Master_Retry_Count=X`

CHANGE MASTER can set `Master_Retry_Count` to be lower than
`Connects_Tried`, which’ll look strange to those unaware of that CHANGE.

Now, setting `Master_Retry_Count` also resets `Connects_Tried` to 0.

Reviewed-by: Susil Behera <[email protected]>
Reviewed-by: Brandon Nesterenko <[email protected]>
Stefano Petrilli
MDEV-34159: Implements ST_LatFromGeoHash

The GIS function ST_LatFromGeoHash takes in input a geohash and returns
its latitude.
The latitude is returned as a numeric value in the interval [90, -90].
If the argument is NULL, the return value is NULL. If the argument is
invalid, an ER_INCORRECT_TYPE is thrown.

Author: StefanoPetrilli <[email protected]>
Co-authored-by: kevincheng2 <[email protected]>
Co-authored-by: Catalin Besleaga <[email protected]>
Co-authored-by: Gleb Shchepa <[email protected]>
Co-authored-by: Tatiana Azundris Nuernberg <[email protected]>
Co-authored-by: Martin Hansson <[email protected]>
Co-authored-by: Deepa Dixit <[email protected]>
Co-authored-by: Hans H Melby <[email protected]>
Co-authored-by: Jens Even Berg Blomsøy <[email protected]>
Co-authored-by: Erlend Dahl <[email protected]>
Co-authored-by: Norvald H. Ryeng <[email protected]>
Co-authored-by: BennyWang <[email protected]>
Co-authored-by: David.Zhao <[email protected]>
Co-authored-by: Erik Froseth <[email protected]>
StefanoPetrilli
MDEV-34177: Implements ST_PointFromGeoHash

The GIS function ST_PointFromGeoHash takes in input a geohash and
returns a point where the x is the longitude and the y is the latitude.
The latitude is returned as a numeric value in the interval [180, -180].
The longitude is returned as a numeric value in the interval [90, -90].
If the argument is NULL, the return value is NULL. If the argument is
invalid, an ER_GIS_INVALID_DATA is thrown.

Author: StefanoPetrilli <[email protected]>
Co-authored-by: kevincheng2 <[email protected]>
Co-authored-by: Catalin Besleaga <[email protected]>
Co-authored-by: Gleb Shchepa <[email protected]>
Co-authored-by: Tatiana Azundris Nuernberg <[email protected]>
Co-authored-by: Martin Hansson <[email protected]>
Co-authored-by: Deepa Dixit <[email protected]>
Co-authored-by: Hans H Melby <[email protected]>
Co-authored-by: Jens Even Berg Blomsøy <[email protected]>
Co-authored-by: Erlend Dahl <[email protected]>
Co-authored-by: Norvald H. Ryeng <[email protected]>
Co-authored-by: BennyWang <[email protected]>
Co-authored-by: David.Zhao <[email protected]>
Co-authored-by: Erik Froseth <[email protected]>
Dave Gosselin
MDEV-36167 Assertion in Item_sum_st with st_collect and group by

The GIS function st_collect can now be used with GROUP BY.  Previously, such
queries resulted in a crash because Item_func_stcollect did not specify
quick_group = false and did not implement reset_field, update_field methods.

With quick_group as false, an implementation of Item_sum tells the SQL layer
that the aggregate can be computed with the TemporaryTableWithPartialSums
algorithm.  That is the case for st_collect.  This is convenient because the
SQL layer will rely on the Item_sum to produce the correct, updated aggregate
value for a given result field.  Otherwise, using reset_field and
update_field implementations gives greater flexibility when computing the
aggregate but requires more complexity.
Dave Gosselin
MDEV-34969: test main.spatial_utility_function_simplify fails

The commented=out tests are known to have different results on
different architectures due to floating-point tolerance calculations
being slightly different; higher tolerance answers for the same
geometries match.
Stefano Petrilli
MDEV-34160: Implements ST_LongFromGeoHash

The GIS function ST_LongFromGeoHash takes in input a geohash and returns
its longitude.
The longitude is returned as a numeric value in the interval
[180, -180].
If the argument is NULL, the return value is NULL. If the argument is
invalid, an ER_GIS_INVALID_DATA is thrown.

Author: StefanoPetrilli <[email protected]>
Co-authored-by: kevincheng2 <[email protected]>
Co-authored-by: Catalin Besleaga <[email protected]>
Co-authored-by: Gleb Shchepa <[email protected]>
Co-authored-by: Tatiana Azundris Nuernberg <[email protected]>
Co-authored-by: Martin Hansson <[email protected]>
Co-authored-by: Deepa Dixit <[email protected]>
Co-authored-by: Hans H Melby <[email protected]>
Co-authored-by: Jens Even Berg Blomsøy <[email protected]>
Co-authored-by: Erlend Dahl <[email protected]>
Co-authored-by: Norvald H. Ryeng <[email protected]>
Co-authored-by: BennyWang <[email protected]>
Co-authored-by: David.Zhao <[email protected]>
Co-authored-by: Erik Froseth <[email protected]>
Dave Gosselin
MDEV-34940: Fix Item_func_collect inheritance

Creates new parent Item_sum_str for Item_func_group_concat and
Item_func_collect, migrating shared methods from each of those
latter classes to the former.  Simultaneously, tighten up the
method scopes.
Dave Gosselin
Initialize pointers to avoid MSAN warnings
Jan Lindström
MDEV-36620 : galera_toi_ddl_nonconflicting test failure

Test changes only. Idea of the test is to test two concurrent
nonconflicting DDL-clauses. Therefore, use debug sync to
really execute two DDL-clauses as concurrently as Galera
allows.

Signed-off-by: Julius Goryavsky <[email protected]>
Dave Gosselin
MDEV-35975 Server crashes after CREATE VIEW as SELECT ST_COLLECT...

Ensure that orig_args is populated during Item_func_collect::fix_fields_impl
StefanoPetrilli
fix typo spatial_ref_sys
ParadoxV5
MDEV-27669: Add `skip-slave-start` info message

When a slave does not start up the slave threads on restart,
but not reporting anything to the error log about startup failures
either, this can be due to `skip-slave-start` being set in the
config file(s) or on the command line (and most likely is).

Reviewed-by: Sergei Golubchik <[email protected]>
Stefano Petrilli
MDEV-34141: Implements the function ST_Simplify

The GIS function ST_Simplify takes ad input a geometry and a double. It
applies the Ramer-Douglas-Peucker algorithm on the geometry and returns
the resulting geometry. The tests have been cherry-picked from the MySQL
implementation of this function to grant compatibility among the two
implementations.

Co-authored-by: David Zhao <[email protected]>
Co-authored-by: Pavan Naik <[email protected]>
Co-authored-by: Norvald H. Ryeng <[email protected]>
Co-authored-by: Erlend Dahl <[email protected]>
Co-authored-by: Jon Hauglid <[email protected]>
Co-authored-by: Hans H Melby <[email protected]>
Co-authored-by: Tor Didriksen <[email protected]>
Dave Gosselin
GIS update get_copy overrides to do_get_copy const
Dave Gosselin
MDEV-35102 CREATE TABLE AS SELECT ST_collect ... does not work

Update max_length field during fix_fields to ensure that the column
has the correct length during CREATE TABLE.  st_collect now returns
a geometry type rather than a blob.
Stefano Petrilli
MDEV-34137: Implement the GIS function ST_Validate

The GIS function ST_Validate takes ad input a geometry and verifies that
- is compliant with the Well-Known Binary (WKB) format and Spatial
  Reference System Identifier (SRID) syntax.
- is geometrically valid.
If the input is valid return it, else it returns NULL. The use case of
this function is to filter out invalid geometry data.

Author: StefanoPetrilli <[email protected]>
Co-authored-by: Torje Digernes <[email protected]>
Co-authored-by: Hans H Melby <[email protected]>
Co-authored-by: Jon Olav Hauglid <[email protected]>
Co-authored-by: Erlend Dahl <[email protected]>
Co-authored-by: Norvald H. Ryeng <[email protected]>
Co-authored-by: David.Zhao <[email protected]>
Co-authored-by: Pavan <[email protected]>
Jan Lindström
MDEV-36516 : galera_3nodes.galera_gtid_2_cluster test failed on 10.5

Add wait-conditions to verify that INSERTs are replicated
before checking GTIDs.

Signed-off-by: Julius Goryavsky <[email protected]>
Stefano Petrilli
MDEV-34278: Implement the GIS function ST_Collect

The GIS function ST_Collect takes as input multiple geometries and
returns the aggregation of the distinct geometry arguments.
The resulting value type is choosen using the following policy:
  - If all arguments are Point values, the result is a MultiPoint value.
  - If all arguments are LineString values, the result is a
    MultiLineString value.
  - If all arguments are Polygon values, the result is a MultiPolygon
    value.
  - Otherwise, the result is a GeometryCollection value.

If there are multiple geometry arguments and those arguments are in the
same SRS, the return value is in that SRS. If those arguments are not
in the same SRS, an ER_GIS_DIFFERENT_SRIDS_AGGREGATION error occurs.

Author: StefanoPetrilli <[email protected]>
Co-authored-by: Torje Digernes <[email protected]>
Co-authored-by: Steinar H. Gunderson <[email protected]>
Dave Gosselin
MDEV-35062 Assertion failed in Binary_string::q_append

Reserve sufficient space in the result for q_append'ed data, as
q_append does not itself reserve space like it's append counterpart.
Faustin Lammler
MDEV-31134: sync galera settings with KB doc

The wsrep_provider setting is mandatory and needs to be present as a
guidance for the setup of Galera cluster. wsrep_cluster_name and
innodb_autoinc_lock_mode are not mandatory.

See: https://mariadb.com/kb/en/configuring-mariadb-galera-cluster/
StefanoPetrilli
MDEV-34276: Implements the function ST_IsValid

The GIS function ST_Simplify takes ad input a geometry and returns 1
if the argument is geometrically valid, 0 if the argument is not
geometrically valid.

Author: StefanoPetrilli <[email protected]>
Co-authored-by: Ahmed Ibrahim <[email protected]>
Co-authored-by: Jon Olav Hauglid <[email protected]>
Co-authored-by: Erlend Dahl <[email protected]>
Co-authored-by: Norvald H. Ryeng <[email protected]>
Co-authored-by: Menelaos Karavelas <[email protected]>
Co-authored-by: David.Zhao <[email protected]>
Co-authored-by: Pavan <[email protected]>
Dave Gosselin
Fix spatial_utility_function_simplify 'unknown column' errors
Dave Gosselin
Fix conflict on rebase of GIS functions to main branch
Dave Gosselin
MDEV-35103 CREATE TABLE AS SELECT ST_VALIDATE creates a column with datatype point, not geometry

Changes the type handler for geometry validate from 'point' to 'geometry'
Sergei Golubchik
GIS fixes for --view
ParadoxV5
Merge branch 'main' into mdev-27669
Jan Lindström
MDEV-36618 : galera.galera_as_slave_nonprim test: result content mismatch

Remove unnecessary sleeps and use wait_for_slave_to_stop instead.

Signed-off-by: Julius Goryavsky <[email protected]>
Dave Gosselin
MDEV-36042 Assertion failed in Binary_string::q_append

Like MDEV-35062, reserve sufficient space in the result for
q_append'ed data, as q_append does not itself reserve space like
it's append counterpart.
Alexey Botchkov
MDEV-35126 Wrong results from st_isvalid for multipolygon.

The Gis_polygon::is_valid() and the Gis_multi_polygon::is_valid()
  implemented with precise geometry engine.
Dave Gosselin
Fix MSAN failures in main.gis and main.spatial_utility_function_validate
Stefano Petrilli
MDEV-34158: Implement the GIS function ST_Geohash

The function returns the geohash corresponding to the input values.
The GIS function ST_GeoHash takes as input:

  (longitude, latitude, max_length), OR
  (point, max_length)

The longitue parameter is a numeric value in the interval [180, -180],
the latitude is a numeric value in the interval [90, -90].
In the case of point, the x coordinate is treated as the latitude and
the y coordinate is treated as the latitude. Even in the case of a
point, the same constraints apply.
The max_length parameter is the upper limit on the resulting string
size and cannot exceed 100.

Author: StefanoPetrilli <[email protected]>
Co-authored-by: kevincheng2 <[email protected]>
Co-authored-by: Catalin Besleaga <[email protected]>
Co-authored-by: Gleb Shchepa <[email protected]>
Co-authored-by: Tatiana Azundris Nuernberg <[email protected]>
Co-authored-by: Martin Hansson <[email protected]>
Co-authored-by: Deepa Dixit <[email protected]>
Co-authored-by: Hans H Melby <[email protected]>
Co-authored-by: Jens Even Berg Blomsøy <[email protected]>
Co-authored-by: Erlend Dahl <[email protected]>
Co-authored-by: Norvald H. Ryeng <[email protected]>
Co-authored-by: BennyWang <[email protected]>
Co-authored-by: David.Zhao <[email protected]>
Co-authored-by: Erik Froseth <[email protected]>
Vlad Lesin
MDEV-36639 innodb_snapshot_isolation=1 gives error for not committed row changes

Set solution is to check if transaction, which modified a record, is
still active in lock_clust_rec_read_check_and_lock(). if yes, then just
request a lock. If no, then, depending on if the current transaction read
view can see the changes, return eighter DB_RECORD_CHANGED or request a
lock.

We can do the check in lock_clust_rec_read_check_and_lock() because
transaction tries to set a lock on the record which cursor points to after
transaction resuming and cursor position restoring. If the lock already
exists, then we don't request the lock again. But for the current commit
it's important that lock_clust_rec_read_check_and_lock() will be invoked
again for the same record, so we can do the check again after
transaction, which modified a record, was committed or rolled back.

MDEV-33802(4aa9291) is partially reverted. If some transaction holds
implicit lock on some record and transaction with snapshot isolation level
requests conflicting lock on the same record, it should be blocked instead
of returning DB_RECORD_CHANGED to have ability to continue execution when
implicit lock owner is rolled back.

The construction
--------------------------------------------------------------------------
let $wait_condition=
  select count(*) = 1 from information_schema.processlist
  where state = 'Updating' and info = 'UPDATE t SET b = 2 WHERE a';
--source include/wait_condition.inc
--------------------------------------------------------------------------

is not reliable enought to make sure transaction is blocked in test
case, the test failed sporadically with
--------------------------------------------------------------------------
./mtr --max-test-fail=1 --parallel=96 lock_isolation{,,,,,,,}{,,,}{,,} \
--repeat=500
--------------------------------------------------------------------------

command. That's why it was replaced with debug sync-points.

Reviewed by: Marko Mäkelä
Alexey Botchkov
MDEV-35960 st_isvalid(NULL) should not end up with an error, but return NULL.

Now these return NULL if the argument is NULL and an error if the
argument is not a valid geometry.
Dave Gosselin
MDEV-36168 ASAN error in Item_func_latlongfromgeohash::decode_geohash

decode_geohash now properly filters non ASCII values from the input.
StefanoPetrilli
MDEV-34278: Implements DISTINCT for ST_Collect

Implements the DISTINCT modifier for ST_Collect

Author: StefanoPetrilli <[email protected]>
Dave Gosselin
MDEV-36491 Server crashes in Item_func_group_concat::print

Initialize orig_args with nullptr and allocate it if it hasn't yet
been allocated, either during construction or during fix_fields(),
depending on use.  THe SQL layer calls print() on conditions as a
way of validating that they're correct, but in the case of
Item_func_group_concat, this crashed because orig_args was not
allocated by that point for the test case included in this commit.
ParadoxV5
MDEV-35304 fixup: Timing-independent MTR test

Improve the `multi_source.connects_tried` feature test:
* Replace the main course from
  *checking `Connect_Tried` after sleeping a specific time* to
  *checking the duration after reaching a minimum `Connect_Tried`*
  * Not using a specific SLEEP eliminates the possibility (of failure)
    that it awakens before the `Connects_Tried` counter increments.
* In replacement-based tests of conventional views (SHOW & variants),
  assert the parallel values without distinguishing which is which
  * There were rare cases where both values end up equal (even though
    one was configured to tick more frequently than the other).
* Comment touchups

Reviewed-by: Kristian Nielsen <[email protected]>
StefanoPetrilli
MDEV-34276: Implements the function ST_IsValid

The GIS function ST_Simplify takes ad input a geometry and returns 1
if the argument is geometrically valid, 0 if the argument is not
geometrically valid.

Author: StefanoPetrilli <[email protected]>
Co-authored-by: Ahmed Ibrahim <[email protected]>
Co-authored-by: Jon Olav Hauglid <[email protected]>
Co-authored-by: Erlend Dahl <[email protected]>
Co-authored-by: Norvald H. Ryeng <[email protected]>
Co-authored-by: Menelaos Karavelas <[email protected]>
Co-authored-by: David.Zhao <[email protected]>
Co-authored-by: Pavan <[email protected]>
Dave Gosselin
MDEV-34158 st_geohash error reporting and null handling

st_geohash returns NULL when the passed length is NULL.

st_geohash has clearer error reporting for lengths outside the range [1, 100]
StefanoPetrilli
MDEV-34138: Implements the function MBRCoveredBy

Returns 1 or 0 to indicate whether the minimum bounding rectangle of g1
is covered by the minimum bounding rectangle of g2. The tests have been
cherry-picked from the MySQL implementation of this function to grant
compatibility among the two implementations.

Co-authored-by: Erlend Dahl <[email protected]>
Co-authored-by: Norvald H. Ryeng <[email protected]>
Co-authored-by: Martin Hansson  <[email protected]>
Co-authored-by: Erik Froseth <[email protected]>
Co-authored-by: Hans H Melby <[email protected]>
Co-authored-by: Jens Even Berg Blomsøy <[email protected]>
Co-authored-by: David Zhao <[email protected]>
Co-authored-by: BennyWang <[email protected]>