- 18 Sep, 2024 1 commit
-
-
Dave Gosselin authored
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.
-
- 16 Sep, 2024 17 commits
-
-
Dave Gosselin authored
-
Sergei Golubchik authored
-
StefanoPetrilli authored
Implements the DISTINCT modifier for ST_Collect Author: StefanoPetrilli <stefanop_1999@hotmail.it>
-
Stefano Petrilli authored
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 <stefanop_1999@hotmail.it> Co-authored-by: Torje Digernes <torje.digernes@oracle.com> Co-authored-by: Steinar H. Gunderson <steinar.gunderson@oracle.com>
-
Stefano Petrilli authored
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 <stefanop_1999@hotmail.it> Co-authored-by: Torje Digernes <torje.digernes@oracle.com> Co-authored-by: Hans H Melby <hans.h.melby@oracle.com> Co-authored-by: Jon Olav Hauglid <jon.hauglid@oracle.com> Co-authored-by: Erlend Dahl <erlend.dahl@oracle.com> Co-authored-by: Norvald H. Ryeng <norvald.ryeng@oracle.com> Co-authored-by: David.Zhao <david.zhao@oracle.com> Co-authored-by: Pavan <pavan.naik@oracle.com>
-
StefanoPetrilli authored
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 <stefanop_1999@hotmail.it> Co-authored-by: Ahmed Ibrahim <ahmed.ibr.hashim@gmail.com> Co-authored-by: Jon Olav Hauglid <jon.hauglid@oracle.com> Co-authored-by: Erlend Dahl <erlend.dahl@oracle.com> Co-authored-by: Norvald H. Ryeng <norvald.ryeng@oracle.com> Co-authored-by: Menelaos Karavelas <menelaos.karavelas@oracle.com> Co-authored-by: David.Zhao <david.zhao@oracle.com> Co-authored-by: Pavan <pavan.naik@oracle.com>
-
Stefano Petrilli authored
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 <david.zhao@oracle.com> Co-authored-by: Pavan Naik <pavan.naik@oracle.com> Co-authored-by: Norvald H. Ryeng <norvald.ryeng@oracle.com> Co-authored-by: Erlend Dahl <erlend.dahl@oracle.com> Co-authored-by: Jon Hauglid <jon.hauglid@oracle.com> Co-authored-by: Hans H Melby <hans.h.melby@oracle.com> Co-authored-by: Tor Didriksen <tor.didriksen@oracle.com>
-
StefanoPetrilli authored
-
StefanoPetrilli authored
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 <stefanop_1999@hotmail.it> Co-authored-by: Ahmed Ibrahim <ahmed.ibr.hashim@gmail.com> Co-authored-by: Jon Olav Hauglid <jon.hauglid@oracle.com> Co-authored-by: Erlend Dahl <erlend.dahl@oracle.com> Co-authored-by: Norvald H. Ryeng <norvald.ryeng@oracle.com> Co-authored-by: Menelaos Karavelas <menelaos.karavelas@oracle.com> Co-authored-by: David.Zhao <david.zhao@oracle.com> Co-authored-by: Pavan <pavan.naik@oracle.com>
-
StefanoPetrilli authored
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 <stefanop_1999@hotmail.it> Co-authored-by: kevincheng2 <chengyf112@gmail.com> Co-authored-by: Catalin Besleaga <catalin.besleaga@oracle.com> Co-authored-by: Gleb Shchepa <gleb.shchepa@oracle.com> Co-authored-by: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com> Co-authored-by: Martin Hansson <martin.hansson@oracle.com> Co-authored-by: Deepa Dixit <deepa.dixit@oracle.com> Co-authored-by: Hans H Melby <hans.h.melby@oracle.com> Co-authored-by: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com> Co-authored-by: Erlend Dahl <erlend.dahl@oracle.com> Co-authored-by: Norvald H. Ryeng <norvald.ryeng@oracle.com> Co-authored-by: BennyWang <benny.wang@oracle.com> Co-authored-by: David.Zhao <david.zhao@oracle.com> Co-authored-by: Erik Froseth <erik.froseth@oracle.com>
-
Stefano Petrilli authored
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 <stefanop_1999@hotmail.it> Co-authored-by: kevincheng2 <chengyf112@gmail.com> Co-authored-by: Catalin Besleaga <catalin.besleaga@oracle.com> Co-authored-by: Gleb Shchepa <gleb.shchepa@oracle.com> Co-authored-by: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com> Co-authored-by: Martin Hansson <martin.hansson@oracle.com> Co-authored-by: Deepa Dixit <deepa.dixit@oracle.com> Co-authored-by: Hans H Melby <hans.h.melby@oracle.com> Co-authored-by: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com> Co-authored-by: Erlend Dahl <erlend.dahl@oracle.com> Co-authored-by: Norvald H. Ryeng <norvald.ryeng@oracle.com> Co-authored-by: BennyWang <benny.wang@oracle.com> Co-authored-by: David.Zhao <david.zhao@oracle.com> Co-authored-by: Erik Froseth <erik.froseth@oracle.com>
-
Stefano Petrilli authored
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 <stefanop_1999@hotmail.it> Co-authored-by: kevincheng2 <chengyf112@gmail.com> Co-authored-by: Catalin Besleaga <catalin.besleaga@oracle.com> Co-authored-by: Gleb Shchepa <gleb.shchepa@oracle.com> Co-authored-by: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com> Co-authored-by: Martin Hansson <martin.hansson@oracle.com> Co-authored-by: Deepa Dixit <deepa.dixit@oracle.com> Co-authored-by: Hans H Melby <hans.h.melby@oracle.com> Co-authored-by: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com> Co-authored-by: Erlend Dahl <erlend.dahl@oracle.com> Co-authored-by: Norvald H. Ryeng <norvald.ryeng@oracle.com> Co-authored-by: BennyWang <benny.wang@oracle.com> Co-authored-by: David.Zhao <david.zhao@oracle.com> Co-authored-by: Erik Froseth <erik.froseth@oracle.com>
-
StefanoPetrilli authored
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 <erlend.dahl@oracle.com> Co-authored-by: Norvald H. Ryeng <norvald.ryeng@oracle.com> Co-authored-by: Martin Hansson <martin.hansson@oracle.com> Co-authored-by: Erik Froseth <erik.froseth@oracle.com> Co-authored-by: Hans H Melby <hans.h.melby@oracle.com> Co-authored-by: Jens Even Berg Blomsøy <jens.even.blomosoy@oracle.com> Co-authored-by: David Zhao <david.zhao@oracle.com> Co-authored-by: BennyWang <benny.wang@oracle.com>
-
Stefano Petrilli authored
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 <stefanop_1999@hotmail.it> Co-authored-by: kevincheng2 <chengyf112@gmail.com> Co-authored-by: Catalin Besleaga <catalin.besleaga@oracle.com> Co-authored-by: Gleb Shchepa <gleb.shchepa@oracle.com> Co-authored-by: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com> Co-authored-by: Martin Hansson <martin.hansson@oracle.com> Co-authored-by: Deepa Dixit <deepa.dixit@oracle.com> Co-authored-by: Hans H Melby <hans.h.melby@oracle.com> Co-authored-by: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com> Co-authored-by: Erlend Dahl <erlend.dahl@oracle.com> Co-authored-by: Norvald H. Ryeng <norvald.ryeng@oracle.com> Co-authored-by: BennyWang <benny.wang@oracle.com> Co-authored-by: David.Zhao <david.zhao@oracle.com> Co-authored-by: Erik Froseth <erik.froseth@oracle.com>
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
In case of error in one connection, issue KILL CONNECTION for all others, or server will still do LOAD FILE, possibly for hours, after we exited.
-
Vladislav Vaintroub authored
Alexey Botchkov complains there are problems with empty curly brackets initializer in old-ish gcc(4.9) Can't verify, but making all members are initialized by default constructor is easy enough.
-
- 10 Sep, 2024 1 commit
-
-
Yuchen Pei authored
These variables/parameters have the default read-only value of 1, and the only way to change them is through a command line flag together with a command line flag loading spider. After this change, the flag will have no effect.
-
- 05 Sep, 2024 1 commit
-
-
Libing Song authored
crash recovery Summary ======= When doing server recovery, the active transactions will be rolled back by InnoDB background rollback thread automatically. The prepared transactions will be committed or rolled back accordingly by binlog recovery. Binlog recovery is done in main thread before the server can provide service to users. If there is a big transaction to rollback, the server will not available for a long time. This patch provides a way to rollback the prepared transactions asynchronously. Thus the rollback will not block server startup. Design ====== - Handler::recover_rollback_by_xid() This patch provides a new handler interface to rollback transactions in recover phase. InnoDB just set the transaction's state to active. Then the transaction will be rolled back by the background rollback thread. - Handler::signal_tc_log_recover_done() This function is called after tc log is opened(typically binlog opened) has done. When this function is called, all transactions will be rolled back have been reverted to ACTIVE state. Thus it starts rollback thread to rollback the transactions. - Background rollback thread With this patch, background rollback thread is defered to run until binlog recovery is finished. It is started by innobase_tc_log_recovery_done().
-
- 04 Sep, 2024 3 commits
-
-
Kristian Nielsen authored
If a slave replicating an event has waited for more than @@slave_abort_blocking_timeout for a conflicting metadata lock held by a non-replication thread, the blocking query is killed to allow replication to proceed and not be blocked indefinitely by a user query. Reviewed-by: Monty <monty@mariadb.org> Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 29 Aug, 2024 7 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The recent commit 4ca355d8 (MDEV-33894) caused a serious regression for online InnoDB ib_logfile0 resizing, breaking crash-safety unless the memory-mapped log file interface is being used. However, the log resizing was broken also before this. To prevent such regressions in the future, we extend the test innodb.log_file_size_online with a kill and restart of the server and with some writes running concurrently with the log size change. When run enough many times, this test revealed all the bugs that are being fixed by the code changes. log_t::resize_start(): Do not allow the resized log to start before the current log sequence number. In this way, there is no need to copy anything to the first block of resize_buf. The previous logic regarding that was incorrect in two ways. First, we would have to copy from the last written buffer (buf or flush_buf). Second, we failed to ensure that the mini-transaction end marker bytes would be 1 in the buffer. If the source ib_logfile0 had wrapped around an odd number of times, the end marker would be 0. This was occasionally observed when running the test innodb.log_file_size_online. log_t::resize_write_buf(): To adjust for the resize_start() change, do not write anything that would be before the resize_lsn. Take the buffer (resize_buf or resize_flush_buf) as a parameter. Starting with commit 4ca355d8 we no longer swap buffers when rewriting the last log block. log_t::append(): Define as a static function; only some debug assertions need to refer to the log_sys object. innodb_log_file_size_update(): Wake up the buf_flush_page_cleaner() if needed, and wait for it to complete a batch while waiting for the log resizing to be completed. If the current LSN is behind the resize target LSN, we will write redundant FILE_CHECKPOINT records to ensure that the log resizing completes. If the buf_pool.flush_list is empty or the buf_flush_page_cleaner() is stuck for some reason, our wait will time out in 5 seconds, so that we can periodically check if the execution of SET GLOBAL innodb_log_file_size was aborted. Previously, we could get into a busy loop here while the buf_flush_page_cleaner() would remain idle.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
Added missing method of Item_static_float_func
-
Marko Mäkelä authored
-
- 28 Aug, 2024 8 commits
-
-
Oleksandr Byelkin authored
--quick-max-column-width parameter added to limit field width in --quick mode.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
recv_recovery_from_checkpoint_start(): Abort startup due to log corruption if we were unable to parse the entire log between the latest log checkpoint and the corresponding FILE_CHECKPOINT record. Also, reduce some code bloat related to log output and log_sys.mutex. Reviewed by: Debarun Banerjee
-
Brandon Nesterenko authored
The option binlog_optimize_thread_scheduling was initially added to provide a safe alternative for the newly added binlog group commit logic, such that when 0, it would disable a leader thread from performing the binlog write for all transactions that are a part of the group commit. Any problems related to the binlog group commit optimization should be sorted out by now, so we can deprecate-to-eventually-remove the option altogether. This commit performs the deprecation, and the removal is tracked by MDEV-33745. Note, as the option is only able to be provided via configuration at startup time, users will not see a deprecation message unless looking through the CLI help message. Reviewed By ============ Kristian Nielsen <knielsen@knielsen-hq.org> Sergei Golubchik <serg@mariadb.org>
-
Alexander Barkov authored
Changing the alias LOCALTIME->CURRENT_TIMESTAMP to LOCALTIME->CURRENT_TIME. This changes the return type of LOCALTIME from DATETIME to TIME, according to the SQL Standard.
-
Yuchen Pei authored
This is the CS part of the implementation of MENT-2070.
-
Marko Mäkelä authored
In commit fa8a46eb (MDEV-33613) the parameter innodb_lru_flush_size ceased to have any effect. Let us declare the parameter as deprecated and additionally as MARIADB_REMOVED_OPTION, so that there will be a warning written to the error log in case the option is specified in the command line. Let us also do the same for the parameter innodb_purge_rseg_truncate_frequency that was deprecated&ignored earlier in MDEV-32050. Reviewed by: Debarun Banerjee
-
Andrew Hutchings authored
Coding standards and PR template now reference `main`.
-
- 27 Aug, 2024 2 commits
-
-
Daniel Black authored
Add Oracular to the allowed Ubuntu names.
-
Marko Mäkelä authored
-