Oleksandr Byelkin
3bb36e9495
Merge branch '10.3' into 10.4
2022-07-27 11:02:57 +02:00
Mikhail Chalov
19af1890b5
Use memory safe snprintf() in Connect Engine
...
This commit replaces sprintf(buf, ...) with
snprintf(buf, sizeof(buf), ...),
specifically in the "easy" cases where buf is allocated with a size
known at compile time.
The changes make sure we are not write outside array/string bounds which
will lead to undefined behaviour. In case the code is trying to write
outside bounds - safe version of functions simply cut the string
messages so we process this gracefully.
All new code of the whole pull request, including one or several files
that are either new files or modified ones, are contributed under the BSD-new
license. I am contributing on behalf of my employer Amazon Web Services,
Inc.
bsonudf.cpp warnings cleanup by Daniel Black
Reviewer: Daniel Black
2022-07-26 16:28:59 +10:00
Oleksandr Byelkin
7841a7eb09
Merge branch '10.3' into 10.4
2021-07-31 22:59:58 +02:00
Olivier Bertrand
5f64276fb2
- Fix MDEV-25863 : Replace __WIN__ by _WIN32
...
modified: storage/connect/array.cpp
modified: storage/connect/blkfil.cpp
modified: storage/connect/block.h
modified: storage/connect/bson.cpp
modified: storage/connect/cmgoconn.cpp
modified: storage/connect/colblk.cpp
modified: storage/connect/domdoc.cpp
modified: storage/connect/filamap.cpp
modified: storage/connect/filamdbf.cpp
modified: storage/connect/filamfix.cpp
modified: storage/connect/filamgz.cpp
modified: storage/connect/filamtxt.cpp
modified: storage/connect/filamvct.cpp
modified: storage/connect/filamzip.cpp
modified: storage/connect/filter.cpp
modified: storage/connect/filter.h
modified: storage/connect/fmdlex.c
modified: storage/connect/global.h
modified: storage/connect/ha_connect.cc
modified: storage/connect/javaconn.cpp
modified: storage/connect/javaconn.h
modified: storage/connect/jdbconn.cpp
modified: storage/connect/jmgfam.cpp
modified: storage/connect/json.cpp
modified: storage/connect/macutil.cpp
modified: storage/connect/macutil.h
modified: storage/connect/maputil.cpp
modified: storage/connect/mycat.cc
modified: storage/connect/myconn.cpp
modified: storage/connect/myconn.h
modified: storage/connect/myutil.cpp
modified: storage/connect/odbconn.cpp
modified: storage/connect/odbconn.h
modified: storage/connect/os.h
modified: storage/connect/osutil.c
modified: storage/connect/plgdbsem.h
modified: storage/connect/plgdbutl.cpp
modified: storage/connect/plugutil.cpp
modified: storage/connect/rcmsg.c
modified: storage/connect/reldef.cpp
modified: storage/connect/reldef.h
modified: storage/connect/tabdos.cpp
modified: storage/connect/tabext.cpp
modified: storage/connect/tabfix.cpp
modified: storage/connect/tabfmt.cpp
modified: storage/connect/tabjdbc.cpp
modified: storage/connect/tabmac.cpp
modified: storage/connect/tabmac.h
modified: storage/connect/tabmul.cpp
modified: storage/connect/tabmul.h
modified: storage/connect/tabmysql.cpp
modified: storage/connect/taboccur.cpp
modified: storage/connect/tabodbc.cpp
modified: storage/connect/tabpivot.cpp
modified: storage/connect/tabrest.cpp
modified: storage/connect/tabrest.h
modified: storage/connect/tabsys.cpp
modified: storage/connect/tabtbl.cpp
modified: storage/connect/tabutil.cpp
modified: storage/connect/tabvct.cpp
modified: storage/connect/tabwmi.cpp
modified: storage/connect/tabxcl.cpp
modified: storage/connect/tabxml.cpp
modified: storage/connect/valblk.cpp
modified: storage/connect/value.cpp
modified: storage/connect/xindex.cpp
modified: storage/connect/xindex.h
- Fix Date errors and SSL warnings
modified: storage/connect/mysql-test/connect/r/jdbc.result
modified: storage/connect/mysql-test/connect/r/jdbc_new.result
modified: storage/connect/mysql-test/connect/t/jdbc.test
modified: storage/connect/mysql-test/connect/t/jdbc_new.test
- Update java source files
modified: storage/connect/Mongo2Interface.java
modified: storage/connect/Mongo3Interface.java
added: storage/connect/Client2.java
added: storage/connect/Client3.java
added: storage/connect/TestInsert2.java
added: storage/connect/TestInsert3.java
2021-06-08 17:44:43 +02:00
Olivier Bertrand
78ccc605a5
Fix compile error on LINUX (LARGE_INTEGER)
2020-11-03 23:19:22 +01:00
Olivier Bertrand
28af4212b6
- Implementation of the Json BJSON representation.
...
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
2020-11-03 18:40:28 +01:00
Monty
4d61f1247a
Fixed compiler warnings from gcc 7.4.1
...
- Fixed possible error in rocksdb/rdb_datadic.cc
2020-01-29 23:23:55 +02:00
Sergei Golubchik
ce38adddfa
MDEV-9617 solaris sparc build fails on 10.0
...
Spider:
SunPro only supports array declarations with
constant size. Spider already has a workaround for
that, inside #ifdef _MSC_VER. Enable this code
also for __SUNPRO_CC
Connect:
Don't use anonymous union.
Cast for mmap.
Don't pass gcc-ish -W... options to SunPro
2016-04-24 18:15:20 +02:00
Olivier Bertrand
b6a56370d6
Change all preprocessor compiler directives to use __WIN__ as the mean of
...
specifying Windows or not Windows compile. This is what MariaDB does.
modified: storage/connect/array.cpp
modified: storage/connect/blkfil.cpp
modified: storage/connect/block.h
modified: storage/connect/colblk.cpp
modified: storage/connect/domdoc.cpp
modified: storage/connect/filamap.cpp
modified: storage/connect/filamdbf.cpp
modified: storage/connect/filamfix.cpp
modified: storage/connect/filamtxt.cpp
modified: storage/connect/filamvct.cpp
modified: storage/connect/filamzip.cpp
modified: storage/connect/filter.cpp
modified: storage/connect/filter.h
modified: storage/connect/fmdlex.c
modified: storage/connect/global.h
modified: storage/connect/ha_connect.cc
modified: storage/connect/json.cpp
modified: storage/connect/macutil.cpp
modified: storage/connect/macutil.h
modified: storage/connect/maputil.cpp
modified: storage/connect/mycat.cc
modified: storage/connect/myconn.cpp
modified: storage/connect/myconn.h
modified: storage/connect/myutil.cpp
modified: storage/connect/odbconn.cpp
modified: storage/connect/odbconn.h
modified: storage/connect/os.h
modified: storage/connect/osutil.c
modified: storage/connect/plgdbsem.h
modified: storage/connect/plgdbutl.cpp
modified: storage/connect/plugutil.c
modified: storage/connect/rcmsg.c
modified: storage/connect/reldef.cpp
modified: storage/connect/reldef.h
modified: storage/connect/tabdos.cpp
modified: storage/connect/tabfix.cpp
modified: storage/connect/tabfmt.cpp
modified: storage/connect/tabjson.cpp
modified: storage/connect/tabmac.cpp
modified: storage/connect/tabmac.h
modified: storage/connect/tabmul.cpp
modified: storage/connect/tabmul.h
modified: storage/connect/tabmysql.cpp
modified: storage/connect/taboccur.cpp
modified: storage/connect/tabodbc.cpp
modified: storage/connect/tabpivot.cpp
modified: storage/connect/tabsys.cpp
modified: storage/connect/tabtbl.cpp
modified: storage/connect/tabutil.cpp
modified: storage/connect/tabvct.cpp
modified: storage/connect/tabwmi.cpp
modified: storage/connect/tabxcl.cpp
modified: storage/connect/tabxml.cpp
modified: storage/connect/valblk.cpp
modified: storage/connect/value.cpp
modified: storage/connect/xindex.cpp
modified: storage/connect/xindex.h
2015-05-27 16:23:38 +02:00
Olivier Bertrand
66ffa09491
- Fix a test failure. Due to mmap on void file being accepted on Windows
...
while returning an error on Linux. Now accepted on linux.
modified:
storage/connect/maputil.cpp
- Fix a BUG in the XHUGE class. lseek64 was wrongly regarded as in error
when returning 0 instead of -1. This produced wrong index files.
modified:
storage/connect/filamfix.cpp
storage/connect/maputil.cpp
storage/connect/xindex.cpp
- Fix length mismatch (tab instead of blanks?)
modified:
storage/connect/mysql-test/connect/r/updelx.result
2014-08-27 00:49:07 +02:00
Olivier Bertrand
9cb4b6c009
- FIX some MAP and XMAP errors (such as mapped indexes not closed)
...
Do not put version in XML files header
Remove HTON_NO_PARTITION for testing
Fix a wrong return (instead of DBUG_RETURN) in index_init
Plus a few typos
modified:
storage/connect/connect.cc
storage/connect/filter.cpp
storage/connect/ha_connect.cc
storage/connect/maputil.cpp
storage/connect/mysql-test/connect/r/alter_xml.result
storage/connect/mysql-test/connect/r/xml.result
storage/connect/table.cpp
storage/connect/tabxml.cpp
storage/connect/xindex.cpp
storage/connect/xindex.h
storage/connect/xtable.h
2014-05-10 12:21:08 +02:00
unknown
ad020e2c45
- Resetting chmod to non executable
...
modified:
storage/connect/maputil.cpp*
2013-03-11 18:35:51 +01:00
Olivier Bertrand
3342df63ef
- Commit changes on memory mapping that hopefully should now work on Linux.
...
modified:
storage/connect/maputil.cpp
storage/connect/tabdos.cpp
storage/connect/tabfmt.cpp
storage/connect/tabvct.cpp
2013-03-08 18:29:05 +01:00
Olivier Bertrand
07beddc421
- Working on the problem of writing to mapped files on Linux
...
modified:
storage/connect/maputil.cpp*
2013-03-08 00:41:24 +01:00
Olivier Bertrand
274b2f8c4a
- Fix a bug causing the server to crash when writing on a memory mapped
...
file on Linux.
modified:
storage/connect/maputil.cpp
2013-03-07 23:05:54 +01:00
Olivier Bertrand
079f053c66
- Fix bug causing a crash when writing to a memory mapped file on Linux.
...
modified:
storage/connect/maputil.cpp
2013-03-07 22:56:52 +01:00
Alexander Barkov
30c4b0ebc2
- Fixing TAB to 2 spaces
...
- Fixing line endings from "\r\n" to "\n"
2013-02-07 13:34:27 +04:00
Alexander Barkov
22a8fb03db
Introducing functions global_open() and global_fopen() for these purposes:
...
- Removing duplicate code to generate error message text
- In the future they will most likely check secure_file_priv directory.
modified:
storage/connect/filamdbf.cpp
storage/connect/filamfix.cpp
storage/connect/filamtxt.cpp
storage/connect/filamvct.cpp
storage/connect/libdoc.cpp
storage/connect/maputil.cpp
storage/connect/plgdbsem.h
storage/connect/plgdbutl.cpp
storage/connect/tabfmt.cpp
storage/connect/tabmul.cpp
storage/connect/tabxml.cpp
storage/connect/xindex.cpp
2013-02-06 15:17:34 +04:00
Alexander Barkov
c87004d817
Removing os2def.h
...
removed:
storage/connect/os2def.h
modified:
storage/connect/fmdlex.c
storage/connect/maputil.cpp
storage/connect/tabcol.cpp
storage/connect/tabfmt.cpp
storage/connect/tabmul.cpp
storage/connect/tabmysql.cpp
2013-01-29 23:23:03 +04:00
Alexander Barkov
d7143a4160
Adding the CONNECT storage engine sources.
2013-01-18 19:21:44 +04:00