summaryrefslogtreecommitdiff
path: root/storage
Commit message (Collapse)AuthorAgeFilesLines
* Change cURL option from > to -o. modified storage/connect/tabrest.cppOlivier Bertrand2020-11-141-3/+3
|
* Fix getting proper table type in discovery. modified ↵Olivier Bertrand2020-11-131-1/+5
| | | | storage/connect/ha_connect.cc
* Fix using a null pointer. modified storage/connect/tabrest.cppOlivier Bertrand2020-11-111-6/+13
|
* Add getting REST query answer via curl. modified storage/connect/tabrest.cppOlivier Bertrand2020-11-111-17/+68
|
* Fix compile error (sign-compare) Modified jsonudf.cpp jsonudf.hOlivier Bertrand2020-11-082-3/+4
|
* Re-fix compile error (conversion-null) Modified json.cppOlivier Bertrand2020-11-081-1/+1
|
* Re-fix compile error (sign-unsign) Modified filamtxt.cppOlivier Bertrand2020-11-071-1/+1
|
* Re-fix compile error (sign-unsign) Modified filamtxt.cppOlivier Bertrand2020-11-071-1/+1
|
* Re-fix compile error (overloaded-virtual)Olivier Bertrand2020-11-074-128/+112
|
* Fix compile error (overloaded-virtual)Olivier Bertrand2020-11-073-60/+72
|
* Fix compile error. Modified ha_connect.ccOlivier Bertrand2020-11-071-0/+1
|
* - Getting text of json items now includes all array membersOlivier Bertrand2020-11-0714-160/+182
| | | | | | | | | | | | | | | | | modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h modified: storage/connect/mysql-test/connect/r/json.result modified: storage/connect/mysql-test/connect/r/json_java_2.result modified: storage/connect/mysql-test/connect/r/json_mongo_c.result modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/mysql-test/connect/r/json_udf_bin.result modified: storage/connect/mysql-test/connect/r/zip.result modified: storage/connect/mysql-test/connect/t/zip.test modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h modified: storage/connect/xobject.h
* Update tests to cope with changesOlivier Bertrand2020-11-0613-8/+17
|
* Try to fix failing testsOlivier Bertrand2020-11-051-8/+16
|
* Try to fix failing testsOlivier Bertrand2020-11-051-9/+8
|
* Try to fix failing testsOlivier Bertrand2020-11-053-23/+21
|
* Try to fix that F..k gcc operator delete errorOlivier Bertrand2020-11-041-0/+1
|
* Fix crash on Json date columnsOlivier Bertrand2020-11-043-3/+14
|
* Fix compile error on LINUX (no suitable operator delete)Olivier Bertrand2020-11-042-6/+6
|
* Fix compile error on LINUX (LARGE_INTEGER)Olivier Bertrand2020-11-036-17/+39
|
* - Implementation of the Json BJSON representation.Olivier Bertrand2020-11-0352-1595/+2668
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VAL structures replace VALUE classes in binary trees. These parsed binary trees are swapped and saved on file Swapping is to replace pointers by offsets to make it portable. In restoring, class pointers to functions are realloced on place. Making BJSON files is done by the new UDF function jfile_bjson. modified: storage/connect/block.h modified: storage/connect/filamtxt.cpp modified: storage/connect/filamtxt.h modified: storage/connect/global.h modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h modified: storage/connect/value.h - Make file (record) length and map memory possibly larger than MAX_INT modified: storage/connect/filamap.cpp modified: storage/connect/filamvct.cpp modified: storage/connect/maputil.cpp modified: storage/connect/maputil.h modified: storage/connect/tabdos.cpp modified: storage/connect/xindex.cpp - Make column length as bytes (not characters) This when making column definitions modified: storage/connect/ha_connect.cc - Change the message when making index fails modified: storage/connect/ha_connect.cc - Update tests and results to reflect recent changes modified: storage/connect/mysql-test/connect/r/alter_xml.result modified: storage/connect/mysql-test/connect/r/alter_xml2.result modified: storage/connect/mysql-test/connect/r/jdbc_oracle.result modified: storage/connect/mysql-test/connect/r/json.result modified: storage/connect/mysql-test/connect/r/json_java_2.result modified: storage/connect/mysql-test/connect/r/json_java_3.result modified: storage/connect/mysql-test/connect/r/json_mongo_c.result modified: storage/connect/mysql-test/connect/r/mongo_c.result modified: storage/connect/mysql-test/connect/r/mongo_java_2.result modified: storage/connect/mysql-test/connect/r/mongo_java_3.result modified: storage/connect/mysql-test/connect/r/odbc_oracle.result modified: storage/connect/mysql-test/connect/r/xml.result modified: storage/connect/mysql-test/connect/r/xml2.result modified: storage/connect/mysql-test/connect/r/xml2_html.result modified: storage/connect/mysql-test/connect/r/xml2_mult.result modified: storage/connect/mysql-test/connect/r/xml2_zip.result modified: storage/connect/mysql-test/connect/r/xml_html.result modified: storage/connect/mysql-test/connect/r/xml_mult.result modified: storage/connect/mysql-test/connect/r/xml_zip.result modified: storage/connect/mysql-test/connect/t/alter_xml.test modified: storage/connect/mysql-test/connect/t/alter_xml2.test modified: storage/connect/mysql-test/connect/t/jdbc_oracle.test modified: storage/connect/mysql-test/connect/t/json.test modified: storage/connect/mysql-test/connect/t/mongo_test.inc modified: storage/connect/mysql-test/connect/t/odbc_oracle.test modified: storage/connect/mysql-test/connect/t/xml.test modified: storage/connect/mysql-test/connect/t/xml2.test modified: storage/connect/mysql-test/connect/t/xml2_html.test modified: storage/connect/mysql-test/connect/t/xml2_mult.test modified: storage/connect/mysql-test/connect/t/xml2_zip.test modified: storage/connect/mysql-test/connect/t/xml_html.test modified: storage/connect/mysql-test/connect/t/xml_mult.test modified: storage/connect/mysql-test/connect/t/xml_zip.test - Typo modified: storage/connect/value.cpp
* - Inline MakePtr and MakeOff with OFFSET as size_tOlivier Bertrand2020-10-1816-373/+848
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add a new member Saved_Size in the Global structure. modified: storage/connect/global.h modified: storage/connect/plugutil.cpp modified: storage/connect/user_connect.cc modified: storage/connect/jsonudf.cpp - Add session variables json_all_path and default_depth modified: storage/connect/ha_connect.cc modified: storage/connect/mongo.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/tabxml.cpp - ADD column options JPATH and XPATH Work as FIELD_FORMAT but are more readable modified: storage/connect/ha_connect.cc modified: storage/connect/ha_connect.h modified: storage/connect/mysql-test/connect/r/json_java_2.result modified: storage/connect/mysql-test/connect/r/json_java_3.result modified: storage/connect/mysql-test/connect/r/json_mongo_c.result - Handle negative numbes in the option list modified: storage/connect/ha_connect.cc - Fix Json parse that could crash the server. Was because it could use THROW out of the TRY block. Also handle all error by THROW. It is now done by a new class JSON. modified: storage/connect/json.cpp modified: storage/connect/json.h - Add a new UDF function jfile_translate. It translate a Json file to pretty = 0. Fast because it does not a real parse of the file. modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h - Add a now options JSIZE and STRINGIFY to Json tables. STRINGIFY makes Objects or Arrays to be returned by their json representation instead of by their concatenated values. JSIZE allows to specify the LRECL (was 256) defaults to 1024. Also fix a bug about locating the sub-table by its path. modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h
* Fix search for json subtable in tabjson.cppOlivier Bertrand2020-10-061-15/+33
|
* Fix compile error in tabjson.cpp (ULONG -> ulong)Olivier Bertrand2020-10-051-17/+20
|
* - Use BIN type when charset='binary'Olivier Bertrand2020-10-058-16/+64
| | | | | | | | | | | | | | | | | modified: storage/connect/ha_connect.cc - Allow JSON columns to be "binary" By setting their type as VARBINAY(132) and their name begin with Jbin_ modified: storage/connect/json.h modified: storage/connect/jsonudf.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/value.cpp modified: storage/connect/value.h - CHARSET BINARY cannot be used for text columns modified: storage/connect/mysql-test/connect/r/updelx.result modified: storage/connect/mysql-test/connect/t/updelx.test
* - Fix allocating work space larger than 4GBOlivier Bertrand2020-10-032-17/+26
| | | | | | The variable connect_work_size is now ulong or ulonglong for 64bit machines. modified: storage/connect/ha_connect.cc modified: storage/connect/user_connect.cc
* - Make possible to allocate work space larger than 4GBOlivier Bertrand2020-10-0112-82/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | All variables handling sizes that were uint are now size_t. The variable connect_work_size is now ulong (was uint); Also make Json functiosn to allocate a larger memory (M=9 was 7) modified: storage/connect/global.h modified: storage/connect/ha_connect.cc modified: storage/connect/json.cpp modified: storage/connect/jsonudf.cpp modified: storage/connect/plgdbutl.cpp modified: storage/connect/plugutil.cpp modified: storage/connect/user_connect.cc - Fix uninitialised variable (pretty) in Json_File. Make Jbin_file accept the same arguments as Json_File ones. modified: storage/connect/jsonudf.cpp - Change the Level option to Depth (the word currently used) (Level being still accepted) modified: storage/connect/mongo.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/tabxml.cpp - Suppress 2nd argument default value for MYSQLtoPLG function modified: storage/connect/myutil.h - Allow REST tables to be create not specifying a file_name modified: storage/connect/tabrest.cpp
* Fix compile error for KVM. Modified filamdbf.cppOlivier Bertrand2020-07-131-1/+1
|
* - Fix MDEV-22561 Unable to access DBF inside a ZIP archiveOlivier Bertrand2020-07-1314-100/+490
| | | | | | | | | | | | | | | | | | | | | modified: storage/connect/filamdbf.cpp modified: storage/connect/filamdbf.h modified: storage/connect/filamzip.cpp modified: storage/connect/filamzip.h modified: storage/connect/ha_connect.cc modified: storage/connect/plgxml.cpp modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabfix.h - Add/Init Level class member modified: storage/connect/mongo.cpp modified: storage/connect/mongo.h modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h - Typo modified: storage/connect/connect.cc
* - Fix MDEV-22571 and MDEV-22572. Allow multiple ZIP tableOlivier Bertrand2020-05-193-2/+15
| | | | | | | | | and enable using special column in them. modified: storage/connect/tabzip.cpp modified: storage/connect/tabzip.h - Fix some compiler errors modified: storage/connect/tabcmg.cpp
* - Fix ↵Olivier Bertrand2020-03-112-4/+8
| | | | | | | | | | https://stackoverflow.com/questions/60625778/import-complex-xml-from-multiple-files-in-mariadb/60637429#60637429 Import complex XML from multiple files in MariaDB Some row results are missing and replaced by the last file one. Thats because Nx and Sx column members are not reset when changing file. modified: storage/connect/tabxml.cpp modified: storage/connect/tabxml.h
* - Fix MDEV-21450Olivier Bertrand2020-01-123-9/+19
| | | | | | | | | | | | Failed compile when XML table type is not supported. Was because XMLDEF was unconditionally called from REST table. modified: storage/connect/tabrest.cpp - Make cmake less verbose modified: storage/connect/CMakeLists.txt - Hide Switch_to_definer_security_ctx not defined for 10.1 and 10.0 modified: storage/connect/ha_connect.cc
* Make LIKE_FUNC only for version >= 10.2 in ha_connect.ccOlivier Bertrand2019-12-101-0/+2
|
* Fix reldef.cpp (wrong flag for catalog columns)Olivier Bertrand2019-12-041-6/+4
|
* Fix tabrest.cpp when used for OEMOlivier Bertrand2019-12-031-8/+9
|
* Make restGetFile extern COlivier Bertrand2019-12-033-4/+8
|
* comment out <dlfnc.h> in tabrest.cppcOlivier Bertrand2019-12-011-3/+3
|
* <dlfnc.h> in tabrest.cpp and redef.cppOlivier Bertrand2019-12-012-4/+4
|
* Add include <dlfnc.h> in tabrest.cppOlivier Bertrand2019-11-301-1/+4
|
* - Fix MDEV-13782Olivier Bertrand2019-11-266-34/+53
| | | | | | | | | | | | | | Problem with NOT LIKE queries. modified: storage/connect/ha_connect.cc modified: sql/item_cmpfunc.h - Fix MDEV-21084 Misusage of strncat could cause buffer overflow. modified: storage/connect/reldef.cpp modified: storage/connect/tabcmg.cpp modified: storage/connect/tabjson.cpp modified: storage/connect/tabrest.cpp modified: storage/connect/tabxml.cpp
* These changed were made after pulling 10.2.30 from originOlivier Bertrand2019-11-244-41/+44
| | | | | | | | | | | | --------------------------------------------------------- - Temporarily fix MDEV-13782 by commenting out LIKE_FUNC in CondFilter modified: storage/connect/ha_connect.cc - Remove use of hack tables modified: storage/connect/connect.cc modified: storage/connect/connect.h modified: storage/connect/ha_connect.cc modified: storage/connect/xtable.h
* Fix compile error (missing declaration) in tabrest.cppOlivier Bertrand2019-11-212-14/+19
|
* Fix compile error (missing declaration) in tabrest.cppOlivier Bertrand2019-11-211-5/+5
|
* Fix compile error (imcomplete switch) in ha_connect.ccOlivier Bertrand2019-11-211-0/+4
|
* These changed were made after pulling 10.2.30 from originOlivier Bertrand2019-11-213043-28773/+39519
|\ | | | | | | | | | | | | | | | | | | | | | | --------------------------------------------------------- - Temporarily fix MDEV-13782 by commenting out LIKE_FUNC i, CondFilter modified: storage/connect/ha_connect.cc - Make Rest available for MariaDB binary distributed versions. modified: storage/connect/CMakeLists.txt - Remove unused declaration modified: storage/connect/filter.h
| * MDEV-21082: isnan/isinf compilation errors, isfinite warnings on MacOSVlad Lesin2019-11-197-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix consists of three commits backported from 10.3: 1) Cleanup isnan() portability checks (cherry picked from commit 7ffd7fe9627d1f750a3712aebb4503e5ae8aea8e) 2) Cleanup isinf() portability checks Original problem reported by Wlad: re-compilation of 10.3 on top of 10.2 build would cache undefined HAVE_ISINF from 10.2, whereas it is expected to be 1 in 10.3. std::isinf() seem to be available on all supported platforms. (cherry picked from commit bc469a0bdf85400f7a63834f5b7af1a513dcdec9) 3) Use std::isfinite in C++ code This is addition to parent revision fixing build failures. (cherry picked from commit 54999f4e75f42baca484ae436b382ca8817df1dd)
| * MDEV-21069 Crash on DROP TABLE if the data file is corruptedMarko Mäkelä2019-11-198-43/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | buf_read_ibuf_merge_pages(): Discard any page numbers that are outside the current bounds of the tablespace, by invoking the function ibuf_delete_recs() that was introduced in MDEV-20934. This could avoid an infinite change buffer merge loop on innodb_fast_shutdown=0, because normally the change buffer merge would only be attempted if a page was successfully loaded into the buffer pool. dict_drop_index_tree(): Add the parameter trx_t*. To prevent the DROP TABLE crash, do not invoke btr_free_if_exists() if the entire .ibd file will be dropped. Thus, we will avoid a crash if the BTR_SEG_LEAF or BTR_SEG_TOP of the index is corrupted, and we will also avoid unnecessarily accessing the to-be-dropped tablespace via the buffer pool. In MariaDB 10.2, we disable the DROP TABLE fix if innodb_safe_truncate=0, because the backup-unsafe MySQL 5.7 WL#6501 form of TRUNCATE TABLE requires that the individual pages be freed inside the tablespace.
| * MDEV-20949 Stop issuing 'row size' error on DMLEugene Kosov2019-11-1310-262/+326
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move row size check to early CREATE/ALTER TABLE phase. Stop checking on table open. dict_index_add_to_cache(): remove parameter 'strict', stop checking row size dict_index_t::record_size_info_t: this is a result of row size check operation create_table_info_t::row_size_is_acceptable(): performs row size check. Issues error or warning. Writes first overflow field to InnoDB log. create_table_info_t::create_table(): add row size check dict_index_t::record_size_info(): this is a refactored version of dict_index_t::rec_potentially_too_big(). New version doesn't change global state of a program but return all interesting info. And it's callers who decide how to handle row size overflow. dict_index_t::rec_potentially_too_big(): removed
| * Clean up mtr_t::commit() furtherMarko Mäkelä2019-11-131-129/+68
| | | | | | | | | | | | memo_block_unfix(), memo_latch_release(): Merge to ReleaseLatches. memo_slot_release(), ReleaseAll: Clean up the formatting.
| * MDEV-20934: Correct a debug assertionMarko Mäkelä2019-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | A search with PAGE_CUR_GE may land on the supremum record on a leaf page that is not the rightmost leaf page. This could occur when all keys on the current page are smaller than the search key, and the smallest key on the successor page is larger than the search key. ibuf_delete_recs(): Correct the debug assertion accordingly.