Mikhail Chalov
2ff01e763e
Fix insecure use of strcpy, strcat and sprintf in Connect
...
Old style C functions `strcpy()`, `strcat()` and `sprintf()` are vulnerable to
security issues due to lacking memory boundary checks. Replace these in the
Connect storage engine with safe new and/or custom functions such as
`snprintf()` `safe_strcpy()` and `safe_strcat()`.
With this change FlawFinder and other static security analyzers report 287
fewer findings.
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.
2023-05-12 15:37:00 +01:00
Andrew Hutchings
fda5846704
MDEV-29397 CONNECT engine: Fix note turning into error ( #2325 )
...
* MDEV-29397 Fix note turning into error
ODBC Rewind triggered an error with no SQL, but this is sometimes a
valid condition (as can be seen with other classes). Setting this to a 0
return stops errors firing when they shouldn't.
Also fixes ASAN hits from in MDEV-29687 tabext.cpp.
2022-11-08 15:49:52 +00:00
Anel
0c06320ae9
MDEV-29687:ODBC tables do not quote identifier names correctly ( #2295 )
...
Reviewer: andrew@mariadb.org
2022-10-21 13:26:06 +01: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
Olivier Bertrand
c819a7a71e
Fix MDEV-27055 (regression of MDEV-24493)
2021-11-26 12:07:23 +01:00
Olivier Bertrand
94fb9d9377
Fix MDEV-24493
2021-10-15 12:20:33 +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
Eugene Kosov
d36c107a6b
imporve clang build
...
cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug
Maintainer mode makes all warnings errors. This patch fix warnings. Mostly about
deprecated `register` keyword.
Too much warnings came from Mroonga and I gave up on it.
2019-06-25 13:21:36 +03:00
Olivier Bertrand
70e567f576
Squashed commit of connect/10.0:
...
commit 02d8c21380f
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Sat Oct 6 16:27:13 2018 +0200
- Fix truncating error messages on first unrecognized latin1 character
modified: storage/connect/ha_connect.cc
- Fix MDEV-17343
Reject multi-table UPDATE/DELETE commands that crash on some systems
modified: storage/connect/ha_connect.cc
modified: storage/connect/tabext.cpp
- Try to fix failing tests (MariaDB version 10.0 only)
modified: storage/connect/mysql-test/connect/disabled.def
- Typo
modified: storage/connect/global.h
commit f83caed8569
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Tue Sep 25 15:49:26 2018 +0200
- Try to fix failing tests (MariaDB version 10.0 only)
modified: storage/connect/mysql-test/connect/disabled.def
modified: storage/connect/mysql-test/connect/r/grant2.result
modified: storage/connect/mysql-test/connect/r/infoschema2-9739.result
modified: storage/connect/mysql-test/connect/r/mysql_exec.result
commit 9fd6f178846
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Sun Sep 23 19:45:59 2018 +0200
- Implement the CHECK TABLE statement and accept REPAIR and ANALYZE
modified: storage/connect/connect.cc
modified: storage/connect/ha_connect.cc
modified: storage/connect/ha_connect.h
modified: storage/connect/tabjdbc.cpp
modified: storage/connect/tabmysql.cpp
modified: storage/connect/tabodbc.cpp
- MDEV-17212: Test if NumResultCols is implemented by the data source
modified: storage/connect/odbconn.cpp
- Change error type in Optimize
modified: storage/connect/ha_connect.cc
- Update version date
modified: storage/connect/ha_connect.cc
- Record new result from odbc_postgresql.test
modified: storage/connect/mysql-test/connect/r/odbc_postgresql.result
commit d8cf51319e1
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Wed Aug 8 12:18:52 2018 +0200
- Comment out failing Cyrillic test in xml2.test
modified: storage/connect/mysql-test/connect/r/xml2.result
modified: storage/connect/mysql-test/connect/t/xml2.test
commit 9df49e21f9e
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Tue Aug 7 15:01:06 2018 +0200
- Fix MDEV-16672 Connect: Warnings with 10.0
filamtxt.cpp: DOSFAM::RenameTempFile: Change sprintf to snprintf.
filamvct.cpp: VECFAM::RenameTempFile: Change sprintf to snprintf.
javaconn.cpp:
Add JAVAConn::GetUTFString function.
Use it instead of env->GetStringUTFChars.
Fix wrong identation.
javaconn.h: Add GetUTFString declaration.
jdbconn.cpp:
Use GetUTFString function instead of env->GetStringUTFChars.
jmgoconn.cpp:
Use GetUTFString function instead of env->GetStringUTFChars.
Fix wrong identation.
jsonudf.cpp: change 139 to BMX line 4631.
tabjmg.cpp:
Add ReleaseStringUTF.
Fix wrong identation.
tabpivot.cpp: Fix wrong identation.
tabutil.cpp: TDBPRX::GetSubTable: Change sprintf to snprintf.
modified: storage/connect/filamtxt.cpp
modified: storage/connect/filamvct.cpp
modified: storage/connect/javaconn.cpp
modified: storage/connect/javaconn.h
modified: storage/connect/jdbconn.cpp
modified: storage/connect/jmgoconn.cpp
modified: storage/connect/jsonudf.cpp
modified: storage/connect/tabjmg.cpp
modified: storage/connect/tabpivot.cpp
modified: storage/connect/tabutil.cpp
- Fix MDEV-16895 CONNECT engine's get_error_message can cause buffer
overflow and server crash with long queries
ha_connect_cc: Update version.
get_error_message: Remove charset conversion.
modified: storage/connect/ha_connect.cc
- Fix a server crash on inserting bigint to a JDBC table
JDBConn::SetUUID:
Suppress check on ctyp that causes a server crash because ctyp
can be negative and this triggers an DEBUG_ASSERT on return.
modified: storage/connect/jdbconn.cpp
- Delete an assert(qrp) from JCATPARM *AllocCatInfo that is called with
qrp=NULL from JDBConn::SetUUID. Also delete a clone of this function
that was duplicated in javaconn.cpp.
modified: storage/connect/javaconn.cpp
modified: storage/connect/jdbconn.cpp
- Update some disabled tests and results to avoid failure
modified: storage/connect/mysql-test/connect/r/jdbc.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/mongo_java_2.result
modified: storage/connect/mysql-test/connect/r/mongo_java_3.result
modified: storage/connect/mysql-test/connect/t/json_java_2.test
modified: storage/connect/mysql-test/connect/t/json_java_3.test
modified: storage/connect/mysql-test/connect/t/mongo_java_2.test
modified: storage/connect/mysql-test/connect/t/mongo_java_3.test
commit 415273eb193
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Thu Jun 28 19:37:49 2018 +0200
- Fix MDEV-16167 Cannot insert unsigned values into a VEC table
modified: storage/connect/filamvct.cpp
modified: storage/connect/tabvct.cpp
commit 9ffcb68a9f2
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Mon May 7 22:43:43 2018 +0200
- Fix MDEV-15735 CONNECT [filamtxt.cpp:429]: Suspicious condition
modified: storage/connect/filamtxt.cpp
- Fix compiler warnings
modified: storage/connect/domdoc.cpp
modified: storage/connect/ha_connect.cc
modified: storage/connect/json.h
modified: storage/connect/jsonudf.cpp
modified: storage/connect/tabext.cpp
modified: storage/connect/tabjson.cpp
modified: storage/connect/tabjson.h
- Miscelleanous from 10.3
modified: storage/connect/ha_connect.cc
modified: storage/connect/mycat.cc
modified: storage/connect/user_connect.cc
2018-10-28 10:41:31 +01:00
Sergei Golubchik
5ae2656b69
Squashed commit of connect/10.0:
...
commit c545d544378483bf68c4fb713cd4ec872d0df2c4
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Tue Mar 27 23:13:14 2018 +0200
- Fix MDEV-15577 CONNECT engine JDBC remote index prevents UPDATE
Fixed in TDBJDBC::OpenDB because query can be null for updates
modified: storage/connect/tabjdbc.cpp
commit c4f1fe2e8e74566e9c3296f435448d9f5c718b23
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Wed Mar 14 12:21:17 2018 +0100
- Fix MDEV-15429 CONNECT engine JDBC handling Postgresql UUID type
Also handle Postgresql sending type VARCHAR for TEXT column and
setting length to b x7FFFFFF when the length is unknown.
modified: storage/connect/Client.java
modified: storage/connect/JavaWrappers.jar
modified: storage/connect/JdbcInterface.java
modified: storage/connect/PostgresqlInterface.java
modified: storage/connect/global.h
modified: storage/connect/ha_connect.cc
modified: storage/connect/jdbconn.cpp
modified: storage/connect/jdbconn.h
modified: storage/connect/mysql-test/connect/r/jdbc_postgresql.result
modified: storage/connect/mysql-test/connect/t/jdbc_postgresql.test
modified: storage/connect/mysql-test/connect/t/jdbconn.inc
modified: storage/connect/plgdbsem.h
modified: storage/connect/tabjdbc.cpp
modified: storage/connect/tabjdbc.h
added: storage/connect/mysql-test/connect/std_data/JavaWrappers.jar
commit 3068bb4882a316c6c32c624609db2bf24ae3ad40
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Mon Feb 26 19:40:27 2018 +0100
Revert to old cmake file to avoid compile error
commit da8c1c0bd6a327fd03bd321be3170f468122ef67
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Mon Feb 26 16:13:39 2018 +0100
- Remove warning on not used tabtyp variable in connect_assisted_discovery
modified: storage/connect/ha_connect.cc
- Fix a bug causing CONNECT to loop when expanding a JSON column
when the expanded column value is null or void array.
- Adding the FullArray option to JSON tables.
- Skipping expanded JSON lines when the expanded column value is null.
modified: storage/connect/connect.cc
modified: storage/connect/tabdos.h
modified: storage/connect/tabjson.cpp
modified: storage/connect/tabjson.h
- Fix MDEV-13353 No file privilege for ODBC, JDBC, MONGO, MAC, WMI file types.
modified: storage/connect/ha_connect.cc
- Make some Json UDFs to accept a non JSON item as 1st parameter.
modified: storage/connect/json.cpp
modified: storage/connect/json.h
modified: storage/connect/jsonudf.cpp
modified: storage/connect/jsonudf.h
- Update Json UDF tests to cope with above changes.
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/vcol.result
modified: storage/connect/mysql-test/connect/t/json_udf.test
modified: storage/connect/mysql-test/connect/t/vcol.test
- Fix some compiler warning treated as error
PlugSubAlloc no more exported because it does throw.
modified: storage/connect/global.h
modified: storage/connect/ha_connect.cc
modified: storage/connect/jsonudf.cpp
modified: storage/connect/tabjson.cpp
modified: storage/connect/tabjson.h
- Other files modified (?) when going back to wrong merge
modified: storage/connect/CMakeLists.txt
modified: storage/connect/array.cpp
modified: storage/connect/colblk.cpp
modified: storage/connect/connect.cc
modified: storage/connect/csort.cpp
modified: storage/connect/domdoc.cpp
modified: storage/connect/filamap.cpp
modified: storage/connect/filamgz.cpp
modified: storage/connect/filamtxt.cpp
modified: storage/connect/filamzip.cpp
modified: storage/connect/filter.cpp
modified: storage/connect/fmdlex.c
modified: storage/connect/jdbconn.cpp
modified: storage/connect/macutil.cpp
modified: storage/connect/myconn.cpp
modified: storage/connect/odbconn.cpp
modified: storage/connect/plgdbutl.cpp
modified: storage/connect/plugutil.cpp
modified: storage/connect/preparse.h
modified: storage/connect/rcmsg.c
modified: storage/connect/rcmsg.h
modified: storage/connect/reldef.cpp
modified: storage/connect/tabdos.cpp
modified: storage/connect/tabfmt.cpp
modified: storage/connect/tabmac.cpp
modified: storage/connect/tabmul.cpp
modified: storage/connect/tabmysql.cpp
modified: storage/connect/tabmysql.h
modified: storage/connect/tabodbc.cpp
modified: storage/connect/tabtbl.cpp
modified: storage/connect/tabxml.cpp
modified: storage/connect/value.cpp
modified: storage/connect/xobject.cpp
commit 5095628b31ed8c94bd7c794c6b0162894a9040b1
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Tue Feb 13 14:29:00 2018 +0100
- Fix a bug causing CONNECT to loop when expanding a JSON column
when the expanded column value is null or void array.
- Adding the FullArray option to JSON tables.
- Skipping expanded JSON lines when the expanded column value is null.
modified: storage/connect/connect.cc
modified: storage/connect/tabdos.h
modified: storage/connect/tabjson.cpp
modified: storage/connect/tabjson.h
commit 9896174328da42016735630c893fd09eb128b48e
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Fri Feb 2 15:48:57 2018 +0100
- Remove warning on not used tabtyp variable in connect_assisted_discovery
modified: storage/connect/ha_connect.cc
commit d7e254c05f88173eb04d8dafc813013eb42ccdbe
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Wed Jan 31 14:42:45 2018 +0100
- Use delayed load for the MongoDB C Drive on Windows
modified: storage/connect/CMakeLists.txt
modified: storage/connect/cmgoconn.cpp
modified: storage/connect/ha_connect.cc
- Add FORCE to the connect_type_conv enum values
This will translate binary values to TYPE_STRING
modified: storage/connect/checklvl.h
modified: storage/connect/ha_connect.cc
modified: storage/connect/odbconn.cpp
- Change the connect_xtrace variable to from int to set
modified: storage/connect/array.cpp
modified: storage/connect/blkfil.cpp
modified: storage/connect/block.h
modified: storage/connect/cmgoconn.cpp
modified: storage/connect/colblk.cpp
modified: storage/connect/connect.cc
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/global.h
modified: storage/connect/ha_connect.cc
modified: storage/connect/inihandl.cpp
modified: storage/connect/javaconn.cpp
modified: storage/connect/jdbconn.cpp
modified: storage/connect/jmgfam.cpp
modified: storage/connect/jmgoconn.cpp
modified: storage/connect/json.cpp
modified: storage/connect/jsonudf.cpp
modified: storage/connect/libdoc.cpp
modified: storage/connect/mongo.cpp
modified: storage/connect/mycat.cc
modified: storage/connect/myconn.cpp
modified: storage/connect/odbconn.cpp
modified: storage/connect/plgdbutl.cpp
modified: storage/connect/plugutil.cpp
modified: storage/connect/reldef.cpp
modified: storage/connect/tabcol.cpp
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/tabjson.cpp
modified: storage/connect/table.cpp
modified: storage/connect/tabmul.cpp
modified: storage/connect/tabmysql.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/tabxml.cpp
modified: storage/connect/user_connect.cc
modified: storage/connect/valblk.cpp
modified: storage/connect/value.cpp
modified: storage/connect/xindex.cpp
- Restore connect_enable_mongo variable (but undocumented)
modified: storage/connect/ha_connect.cc
modified: storage/connect/mycat.cc
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/tbl_thread.result
modified: storage/connect/mysql-test/connect/t/mongo.inc
modified: storage/connect/mysql-test/connect/t/mongo_test.inc
modified: storage/connect/mysql-test/connect/t/tbl_thread.test
2018-04-26 14:15:18 +02:00
Vicențiu Ciorbaru
df2675a9cc
Merge connect/10.0 into 10.0
...
This is a squashed merge.
2017-09-19 02:05:11 +03:00
Olivier Bertrand
1c88b9a8d3
Fix wrong value of JSON column
...
When null and the column is NOT NULL the value was not reset.
modified: storage/connect/tabjson.cpp
Fix converting bstr_t string to set error message
modified: storage/connect/domdoc.cpp
Fix MDEV-12768: -Wformat-overflow compile warnings
modified: storage/connect/global.h
modified: storage/connect/jsonudf.cpp
modified: storage/connect/plugutil.cpp
modified: storage/connect/tabvct.cpp
Typo (in external_lock)
modified: storage/connect/ha_connect.cc
Remove some warnings
modified: storage/connect/odbconn.cpp
modified: storage/connect/tabmysql.cpp
Add MEM_RESERVE flag to virtualAlloc
modified: storage/connect/plgdbutl.cpp
Fix MDEV-12573:
Accept=1 may show incorrect value for NULL column in CONNECT TBL
modified: storage/connect/tabutil.cpp
Fix wrong setting of key size when greater than 2G
modified: storage/connect/xindex.cpp
Fixing MDEV-12149: compile errors on Windows with /Zc:strictStrings
Introduce typedef PCSZ and replace PSZ by it where it matters
All done on CONNECT but compile still fails because of an included system file
modified: storage/connect/array.cpp
modified: storage/connect/catalog.h
modified: storage/connect/colblk.cpp
modified: storage/connect/colblk.h
modified: storage/connect/connect.cc
modified: storage/connect/domdoc.cpp
modified: storage/connect/domdoc.h
modified: storage/connect/filamdbf.cpp
modified: storage/connect/filamdbf.h
modified: storage/connect/filamfix.cpp
modified: storage/connect/filamgz.cpp
modified: storage/connect/filamtxt.h
modified: storage/connect/filamvct.cpp
modified: storage/connect/filamvct.h
modified: storage/connect/filamzip.cpp
modified: storage/connect/filamzip.h
modified: storage/connect/ha_connect.cc
modified: storage/connect/ha_connect.h
modified: storage/connect/jdbccat.h
modified: storage/connect/jdbconn.cpp
modified: storage/connect/jdbconn.h
modified: storage/connect/json.cpp
modified: storage/connect/json.h
modified: storage/connect/jsonudf.cpp
modified: storage/connect/jsonudf.h
modified: storage/connect/libdoc.cpp
modified: storage/connect/macutil.cpp
modified: storage/connect/myconn.cpp
modified: storage/connect/myutil.cpp
modified: storage/connect/myutil.h
modified: storage/connect/odbccat.h
modified: storage/connect/odbconn.cpp
modified: storage/connect/odbconn.h
modified: storage/connect/os.h
modified: storage/connect/plgdbsem.h
modified: storage/connect/plgdbutl.cpp
modified: storage/connect/plgxml.cpp
modified: storage/connect/plgxml.h
modified: storage/connect/plugutil.cpp
modified: storage/connect/preparse.h
modified: storage/connect/reldef.cpp
modified: storage/connect/reldef.h
modified: storage/connect/tabdos.cpp
modified: storage/connect/tabdos.h
modified: storage/connect/tabext.cpp
modified: storage/connect/tabext.h
modified: storage/connect/tabfix.cpp
modified: storage/connect/tabfix.h
modified: storage/connect/tabfmt.cpp
modified: storage/connect/tabfmt.h
modified: storage/connect/tabjdbc.cpp
modified: storage/connect/tabjdbc.h
modified: storage/connect/tabjson.cpp
modified: storage/connect/tabjson.h
modified: storage/connect/table.cpp
modified: storage/connect/tabmac.cpp
modified: storage/connect/tabmul.cpp
modified: storage/connect/tabmul.h
modified: storage/connect/tabmysql.cpp
modified: storage/connect/tabmysql.h
modified: storage/connect/tabodbc.cpp
modified: storage/connect/tabodbc.h
modified: storage/connect/tabpivot.cpp
modified: storage/connect/tabpivot.h
modified: storage/connect/tabsys.cpp
modified: storage/connect/tabsys.h
modified: storage/connect/tabutil.cpp
modified: storage/connect/tabutil.h
modified: storage/connect/tabvir.cpp
modified: storage/connect/tabvir.h
modified: storage/connect/tabwmi.cpp
modified: storage/connect/tabwmi.h
modified: storage/connect/tabxml.cpp
modified: storage/connect/tabxml.h
modified: storage/connect/tabzip.cpp
modified: storage/connect/tabzip.h
modified: storage/connect/valblk.cpp
modified: storage/connect/valblk.h
modified: storage/connect/value.cpp
modified: storage/connect/value.h
modified: storage/connect/xindex.cpp
modified: storage/connect/xobject.cpp
modified: storage/connect/xobject.h
modified: storage/connect/xtable.h
Fix MDEV-12603 Insert replaces values in ZIP file
modified: storage/connect/filamzip.cpp
modified: storage/connect/filamzip.h
Fix MDEV-12686 Handle null in json
Fix MDEV-12688 Insert does not handle type TINYINT
modified: storage/connect/json.cpp
modified: storage/connect/tabjson.cpp
Fix MDEV-12653 Cannot add index for ZIP CONNECT table
modified: storage/connect/filamzip.cpp
modified: storage/connect/ha_connect.cc
modified: storage/connect/tabdos.cpp
modified: storage/connect/tabfmt.cpp
modified: storage/connect/tabjson.cpp
modified: storage/connect/xindex.cpp
2017-05-11 21:57:21 +02:00
Olivier Bertrand
92d283c026
Fix MDEV-12142 crash when creating CSV table
...
Was an unprepared longjmp (now throw)
Also fix a wrong calculation of To_Line sometimes causing a crash
because of buffer overflow.
modified: storage/connect/tabdos.cpp
Fix a wrong setting of USER for JDBC tables in connect_assisted_discovery.
Update jdbc_new.test after that fix, which changed errors.
modified: storage/connect/ha_connect.cc
modified: storage/connect/mysql-test/connect/r/jdbc_new.result
modified: storage/connect/mysql-test/connect/t/jdbc_new.test
Make using try/catch/throw the default option
modified: storage/connect/CMakeLists.txt
Typo
modified: storage/connect/xindex.cpp
Replace setjmp-longjmp's by try_catch-throw
modified: storage/connect/CMakeLists.txt
modified: storage/connect/array.cpp
modified: storage/connect/blkfil.cpp
modified: storage/connect/colblk.cpp
modified: storage/connect/connect.cc
modified: storage/connect/filamtxt.cpp
modified: storage/connect/filamvct.cpp
modified: storage/connect/filter.cpp
modified: storage/connect/global.h
modified: storage/connect/ha_connect.cc
modified: storage/connect/jdbconn.cpp
modified: storage/connect/json.cpp
modified: storage/connect/jsonudf.cpp
modified: storage/connect/odbconn.cpp
modified: storage/connect/osutil.c
modified: storage/connect/plgdbutl.cpp
deleted: storage/connect/plugutil.c
added: storage/connect/plugutil.cpp
modified: storage/connect/tabdos.cpp
modified: storage/connect/tabfix.cpp
modified: storage/connect/tabfmt.cpp
modified: storage/connect/tabjdbc.cpp
modified: storage/connect/tabjdbc.h
modified: storage/connect/tabjson.cpp
modified: storage/connect/tabmul.cpp
modified: storage/connect/tabmul.h
modified: storage/connect/tabmysql.cpp
modified: storage/connect/tabodbc.cpp
modified: storage/connect/tabodbc.h
modified: storage/connect/tabpivot.cpp
modified: storage/connect/tabsys.cpp
modified: storage/connect/tabvct.cpp
modified: storage/connect/tabvir.cpp
modified: storage/connect/tabxml.cpp
modified: storage/connect/valblk.cpp
modified: storage/connect/value.cpp
modified: storage/connect/xindex.cpp
modified: storage/connect/xobject.cpp
2017-03-06 17:23:56 +01:00
Olivier Bertrand
6f34d8807c
All changes made on 10.1
2017-02-16 18:01:48 +01:00
Olivier Bertrand
a2934d2710
- JdbcInterface: change return type of ...Field function
...
modified: storage/connect/JdbcInterface.java
- Change Version number and date
modified: storage/connect/ha_connect.cc
- Implement the test on connect_type_conv YES/NO
modified: storage/connect/jdbconn.cpp
modified: storage/connect/odbconn.cpp
- Fix MDEV-10520. Local schema was confused with remote schema
modified: storage/connect/tabjdbc.cpp
modified: storage/connect/tabodbc.cpp
- Fix crash when using mapped indices. Was trying to write in a mapped
file declared as read only.
modified: storage/connect/xindex.cpp
2016-08-10 18:27:31 +02:00
Olivier Bertrand
44012db635
All changes made on 10.1 for last 11 commits
2016-07-14 20:12:22 +02:00
Olivier Bertrand
4a1ffc3853
Add forgotten changes made on 10.1
2016-05-12 23:26:40 +02:00
Olivier Bertrand
fb9e2fa33f
- Fix MDEV-9603 compiler error.
...
modified: storage/connect/tabmysql.cpp
- Test invalid CSV separator when creating the table (MDEV-9714)
modified: storage/connect/ha_connect.cc
- Stop using SQLDescribeParam anymore
modified: storage/connect/odbconn.cpp
- Fix MDEV-9723 Regression due to calling Cardinality instead of
GetMaxSize in info.
modified: storage/connect/tabtbl.h
modified: storage/connect/mysql-test/connect/r/tbl.result
modified: storage/connect/mysql-test/connect/t/tbl.test
- Typo
modified: storage/connect/tabodbc.cpp
2016-03-16 19:17:55 +01:00
Olivier Bertrand
481e6433f4
- Fix to MDEV-9542 Connect was not handling NULLs in the answer
...
from catalog functions and tables. It does now and when decimal
is NULL defines DOUBLE without parameters.
modified: storage/connect/ha_connect.cc
modified: storage/connect/mysql-test/connect/r/odbc.result
modified: storage/connect/mysql-test/connect/r/odbc_oracle.result
modified: storage/connect/mysql-test/connect/r/odbc_postgresql.result
modified: storage/connect/mysql-test/connect/r/odbc_sqlite3.result
modified: storage/connect/mysql-test/connect/r/odbc_xls.result
modified: storage/connect/odbconn.cpp
modified: storage/connect/table.cpp
modified: storage/connect/valblk.h
2016-02-15 23:41:59 +01:00
Olivier Bertrand
62a5e56c01
- Change SQL_NTS to 0 when the string is NULL
...
modified: storage/connect/odbconn.cpp
- Fix to MDEV-9446 (using Json UDFs when CONNECT is not installed)
modified: storage/connect/ha_connect.cc
modified: storage/connect/jsonudf.cpp
modified: storage/connect/jsonudf.h
modified: storage/connect/mysql-test/connect/r/json_udf.result
modified: storage/connect/mysql-test/connect/t/json_udf.inc
modified: storage/connect/mysql-test/connect/t/json_udf.test
modified: storage/connect/mysql-test/connect/t/json_udf2.inc
2016-01-25 18:44:51 +01:00
Olivier Bertrand
6d46c977a7
Fix crash when SetValue_char is called with a negative length value.
...
This can happen in odbconn.cpp when SQLFetch returns SQL_NO_TOTAL (-4) as length.
modified: storage/connect/odbconn.cpp
modified: storage/connect/value.cpp
2015-08-14 14:23:14 +02:00
Olivier Bertrand
514a7d8462
Add unicode ODBC types to the types recognized by CONNECT.
...
Was added in function TranslateSQLType.
modified: storage/connect/ha_connect.cc
modified: storage/connect/odbconn.cpp
modified: storage/connect/value.h
Add some trace in particular in indexing routines.
modified: storage/connect/block.h
modified: storage/connect/ha_connect.cc
modified: storage/connect/plugutil.c
modified: storage/connect/xindex.cpp
modified: storage/connect/xindex.h
2015-05-30 10:59:34 +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
2bb42803df
This commit includes changes done in a previous (deleted) branch plus new ones.
...
From the previous branch:
commit eda4928ff122a0845baf5ade83b4aa29244a3a89
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Mon Mar 9 22:34:56 2015 +0100
- Add discovery to JSON tables
When columns are not defined, CONNECT analyses the json file to find column definitions.
This wors only on table that are an array of objects. Pair keys are used to generate the
column names and pair values are used for its definition. When the LEVEL option is defined
as a not null integer, the eventual JPATH is scanned up to the LEVEL value.
From the current one:
- Fix MDEV-7521 when column names are utf8 encoded (not a general multi-charset fix)
- Adds more to JSON discovery processing and UDF's
- Use PlugDup everywhere it replaces PlugSubAlloc + strcpy.
2015-03-18 13:30:14 +01:00
Olivier Bertrand
d862d7c049
- Implement random access to ODBC tables
...
modified:
storage/connect/odbconn.cpp
storage/connect/odbconn.h
- Fix get proper length of ODBC DECIMAL column in discovery
modified:
storage/connect/ha_connect.cc
storage/connect/mysql-test/connect/r/odbc_oracle.result
- Implement random access to JSON tables
modified:
storage/connect/tabjson.cpp
storage/connect/tabjson.h
- Fix MDEV-7636
modified:
storage/connect/tabutil.cpp
2015-02-28 23:01:55 +01:00
Olivier Bertrand
96ba1f1473
- Handle the use of date/time values when making queries for MYSQL or
...
ODBC. Was raised by 7549.
modified:
storage/connect/ha_connect.cc
storage/connect/odbconn.cpp
storage/connect/tabodbc.cpp
2015-02-08 18:17:29 +01:00
Olivier Bertrand
35548d577c
- Modify the connect_type_conv and connect_conv_size variables.
...
They were global (read-only) now they are session (not read-only)
modified:
storage/connect/checklvl.h
storage/connect/ha_connect.cc
storage/connect/myconn.cpp
storage/connect/myutil.cpp
storage/connect/tabutil.cpp
- Suppress the compver variable on Linux compile. Was not
debian reproductible because using __DATE__ and __TIME__ macros.
modified:
storage/connect/ha_connect.cc
- ODBC LONGVARVAR type conversion now uses connect_conv_size.
modified:
storage/connect/odbconn.cpp
2015-02-07 11:33:52 +01:00
Olivier Bertrand
22367ba71f
- Add or correct some tracing code
...
modified:
storage/connect/odbconn.cpp
storage/connect/tabodbc.cpp
2015-02-02 19:34:35 +01:00
Olivier Bertrand
6a78371991
- Fix a bug causing UseCnc not being initialized for ODBC catalog tables.
...
This made errors by calling SQLConnect or SQLDriverConnect randomly
with incorrect parameters.
modified:
storage/connect/tabodbc.cpp
- Removing GCC warnings
modified:
storage/connect/ha_connect.cc
- Typo
modified:
storage/connect/odbconn.cpp
2015-02-01 12:16:30 +01:00
Olivier Bertrand
180b2be63c
- Add the possibility to establish an ODBC connection via SQLConnect (the
...
default being still to use SQLDriverConnect)
modified:
storage/connect/ha_connect.cc
storage/connect/odbccat.h
storage/connect/odbconn.cpp
storage/connect/odbconn.h
storage/connect/tabodbc.cpp
storage/connect/tabodbc.h
- Cardinality testing not possible for TBL tables
modified:
storage/connect/tabtbl.cpp
- Make all line ending LF instead of CRLF
modified:
storage/connect/tabjson.cpp
2015-01-31 15:05:43 +01:00
Olivier Bertrand
70b4e6d368
- Add ConnectTimout and QueryTimout options for ODBC tables. Should
...
fix MDEV-7415. (To be specified in option_list)
modified:
storage/connect/ha_connect.cc
storage/connect/odbccat.h
storage/connect/odbconn.cpp
storage/connect/odbconn.h
storage/connect/tabodbc.cpp
storage/connect/tabodbc.h
2015-01-13 17:24:31 +01:00
Olivier Bertrand
d4bf64556e
- Typo to eliminate some GCC warnings
...
modified:
storage/connect/odbconn.cpp
storage/connect/plgdbsem.h
2015-01-06 11:32:40 +01:00
Olivier Bertrand
8761f22a11
- Temporary fix for MDEV-7304.
...
modified:
storage/connect/rcmsg.c
- Avoid Memory copying when reading an ODBC table when the entire table
is already in the result set.
modified:
storage/connect/odbconn.cpp
storage/connect/odbconn.h
storage/connect/tabodbc.cpp
storage/connect/tabodbc.h
2014-12-14 22:47:12 +01:00
Olivier Bertrand
c89b8a38de
- Enhance the implementation of ODBC tables when using scrollable cursor
...
modified:
storage/connect/odbconn.cpp
storage/connect/odbconn.h
storage/connect/tabodbc.cpp
2014-11-24 18:26:44 +01:00
Olivier Bertrand
b2db891c19
- Remove gcc warning (variable n is set and not used)
...
modified:
storage/connect/odbconn.cpp
2014-11-20 23:18:51 +01:00
Olivier Bertrand
c144cf38bd
- Implement putting in memory the result set from an ODBC query.
...
modified:
storage/connect/odbconn.cpp
storage/connect/odbconn.h
storage/connect/tabodbc.cpp
storage/connect/tabodbc.h
- Moving the calls to VerifyConnect and GetConnectInfo into the try block
in ODBConn::Open (potential crash in case of throw)
modified:
storage/connect/odbconn.cpp
- Handling all ODBC data date types (91, 92, 93)
modified:
storage/connect/ha_connect.cc
storage/connect/odbconn.cpp
- Not assuming string results from ODBC catalog functions are zero terminated
modified:
storage/connect/odbconn.cpp
2014-11-20 11:00:02 +01:00
Olivier Bertrand
5d8311960a
- Implement the NEWMSG and XMSG methods
...
They are still experimental and should not be used in production.
added:
storage/connect/encas.h
storage/connect/english.msg
storage/connect/enids.h
storage/connect/frcas.h
storage/connect/french.msg
storage/connect/frids.h
storage/connect/frmsg.h
modified:
storage/connect/connect.cc
storage/connect/engmsg.h
storage/connect/filamdbf.cpp
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/msgid.h
storage/connect/plgdbutl.cpp
storage/connect/plugutil.c
storage/connect/rcmsg.c
storage/connect/resource.h
storage/connect/tabfmt.h
- Fix global variable not being properly initialized (MDEV-6690, MDEV-7094)
modified:
storage/connect/ha_connect.cc
storage/connect/plugutil.c
storage/connect/user_connect.cc
storage/connect/xindex.cpp
- Implement Rewind for ODBC tables (MDEV-7097)
modified:
storage/connect/odbconn.cpp
storage/connect/odbconn.h
storage/connect/tabmysql.cpp
storage/connect/tabodbc.cpp
- Reset N when reopening MYSQL tables
modified:
storage/connect/tabmysql.cpp
2014-11-15 18:28:24 +01:00
Olivier Bertrand
56e2771321
1) Handling string memory allocation with a new STRING class. This is only
...
the beginning. Defining the STRING class and begining to use it (MYSQL)
2) Change the xtrace, use_tempfile and exact_info connect variables from
GLOBAL to SESSION. Remaining GLOBAL variables have been made readonly.
3) Take care of LEX_STRING variables. The .str should not be regarded as
allways being 0 terminated. This is handled by the Strz functions that
make sure to return 0 terminated strings.
Bug fix:
- When inserting in MYSQL table with special column(s) a query such as:
insert into t2 values(0,4,'new04'),(0,5,'new05');
failed saying: column id (the special column) not found in t2.
It is now accepted but must be counted in values (these 0 are ignored)
- ROWID was returning row numbers based 0. Now it is from base 1.
modified:
storage/connect/array.cpp
storage/connect/blkfil.cpp
storage/connect/colblk.cpp
storage/connect/connect.cc
storage/connect/filamap.cpp
storage/connect/filamdbf.cpp
storage/connect/filamfix.cpp
storage/connect/filamtxt.cpp
storage/connect/filamvct.cpp
storage/connect/filamzip.cpp
storage/connect/filamzip.h
storage/connect/filter.cpp
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/libdoc.cpp
storage/connect/mycat.cc
storage/connect/myconn.cpp
storage/connect/odbconn.cpp
storage/connect/plgdbutl.cpp
storage/connect/plugutil.c
storage/connect/reldef.cpp
storage/connect/tabcol.cpp
storage/connect/tabdos.cpp
storage/connect/tabfix.cpp
storage/connect/tabfmt.cpp
storage/connect/table.cpp
storage/connect/tabmul.cpp
storage/connect/tabmysql.cpp
storage/connect/tabmysql.h
storage/connect/taboccur.cpp
storage/connect/tabodbc.cpp
storage/connect/tabpivot.cpp
storage/connect/tabsys.cpp
storage/connect/tabtbl.cpp
storage/connect/tabutil.cpp
storage/connect/tabvct.cpp
storage/connect/tabwmi.cpp
storage/connect/tabwmi.h
storage/connect/tabxcl.cpp
storage/connect/tabxml.cpp
storage/connect/user_connect.cc
storage/connect/valblk.cpp
storage/connect/value.cpp
storage/connect/value.h
storage/connect/xindex.cpp
storage/connect/xobject.cpp
storage/connect/xobject.h
storage/connect/xtable.h
2014-10-21 17:29:51 +02:00
Olivier Bertrand
3743e1e0f6
- Fix gcc error and warnings
...
modified:
storage/connect/odbconn.cpp
storage/connect/xindex.cpp
2014-05-06 16:00:48 +02:00
Olivier Bertrand
e9bb12acdb
- Do not throw an error on empty ODBC CATFUNC (MDEV-5455)
...
modified:
storage/connect/ha_connect.cc
storage/connect/odbconn.cpp
2014-04-25 15:34:02 +02:00
Alexander Barkov
6075c82467
Merge 10.0 -> 10.0-connect
2014-04-21 14:57:10 +04:00
Sergei Golubchik
98c0659150
compilation error in CONNECT with ODBC
2014-02-27 08:43:54 +01:00
Olivier Bertrand
e71bd28f3f
- Fix bug MDEV-5486 (fail to create or drop a table dbn.tbn when no default database)
...
modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
- Typo
modified:
storage/connect/odbconn.cpp
storage/connect/user_connect.h
2013-12-31 13:08:29 +01:00
Olivier Bertrand
c055e5e0ef
- Add the DECIMAL data type (TYPE_DECIM)
...
Change the variable name of the DOUBLE type from TYPE_FLOAT to TYPE_DOUBLE
Change some names to reflect ODBC version 3. This affects some variable
names, function names and catalog table column names.
Qualifier -> Catalog
Owner (Creator) -> Schema
Length -> Precision
Prec -> Scale
modified:
storage/connect/catalog.h
storage/connect/colblk.cpp
storage/connect/colblk.h
storage/connect/filamdbf.cpp
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/myconn.cpp
storage/connect/mysql-test/connect/r/mysql_new.result
storage/connect/mysql-test/connect/r/odbc_oracle.result
storage/connect/myutil.cpp
storage/connect/odbconn.cpp
storage/connect/plgdbutl.cpp
storage/connect/rcmsg.c
storage/connect/reldef.cpp
storage/connect/reldef.h
storage/connect/tabcol.cpp
storage/connect/tabcol.h
storage/connect/tabdos.cpp
storage/connect/tabfmt.cpp
storage/connect/tabmysql.cpp
storage/connect/tabodbc.cpp
storage/connect/tabodbc.h
storage/connect/tabsys.cpp
storage/connect/tabutil.cpp
storage/connect/tabwmi.cpp
storage/connect/tabxml.cpp
storage/connect/valblk.cpp
storage/connect/value.cpp
storage/connect/value.h
storage/connect/xindex.cpp
storage/connect/xobject.cpp
storage/connect/xobject.h
- Fix crash when GetTDB returned NULL in Open_Table
modified:
storage/connect/ha_connect.cc
- Fix assert error setting double values from PSZ
modified:
storage/connect/valblk.cpp
2013-12-28 15:46:49 +01:00
Olivier Bertrand
ec906f928b
- Fix MDEV-5340
...
modified:
storage/connect/odbconn.cpp
2013-12-20 12:24:24 +01:00
Olivier Bertrand
d05ccc2324
- Add extra column info in discovery
...
modified:
storage/connect/ha_connect.cc
storage/connect/myconn.cpp
storage/connect/odbconn.cpp
storage/connect/plgdbsem.h
2013-12-19 12:56:06 +01:00
Olivier Bertrand
18112a3f0c
- Fix logical error in STRBLK::SetValue
...
modified:
storage/connect/valblk.cpp
- Fix compiler warning in ODBConn::GetCatInfo
modified:
storage/connect/odbconn.cpp
2013-12-16 17:40:42 +01:00
Olivier Bertrand
e2804d9b74
- Fix MDEV-5393 and MDEV-5434. It is a major update of ODBC catalog tables
...
processing that takes care of:
- Drastically reduce the amount of storge needed to process them.
- Handle longjmp's.
- Makes the line limit an opion (MAXRES)
- Schema can also be specified with the DBNAME option.
- Issue warnings on fetch errors or when result lines have been limited.
- Change some column names to reflect ODBC version 3 standard.
The documentation have been updated accordingly
modified:
storage/connect/filamdbf.cpp
storage/connect/ha_connect.cc
storage/connect/myconn.cpp
storage/connect/mysql-test/connect/r/odbc.result
storage/connect/mysql-test/connect/r/odbc_postgresql.result
storage/connect/mysql-test/connect/r/odbc_sqlite3.result
storage/connect/mysql-test/connect/r/odbc_xls.result
storage/connect/mysql-test/connect/r/xml.result
storage/connect/mysql-test/connect/t/odbc_postgresql.test
storage/connect/odbccat.h
storage/connect/odbconn.cpp
storage/connect/odbconn.h
storage/connect/plgdbsem.h
storage/connect/plgdbutl.cpp
storage/connect/rcmsg.c
storage/connect/tabfmt.cpp
storage/connect/table.cpp
storage/connect/tabodbc.cpp
storage/connect/tabodbc.h
storage/connect/tabutil.cpp
storage/connect/tabwmi.cpp
storage/connect/user_connect.cc
storage/connect/valblk.cpp
storage/connect/valblk.h
storage/connect/value.cpp
2013-12-16 01:32:47 +01:00
Olivier Bertrand
7e8504b523
- Add longjmp initialization in PlgAllocResult
...
modified:
storage/connect/plgdbutl.cpp
- Update type translation to take care of type_modifiers
modified:
storage/connect/ha_connect.cc
storage/connect/myutil.cpp
storage/connect/myutil.h
storage/connect/odbconn.cpp
2013-12-11 23:33:36 +01:00
Alexander Barkov
f19f8f0ee4
MDEV-5341 ConnectSE: discovery for ODBC tables does not work if tables
...
with the same names present in multiple schemas
The "TABNAME" option now supports qualified table names,
to connect to tables residing in a particular schema and catalog.
Qualified table names have the following format:
[[CatalogName.]SchemaName.]TableName
Qualified table names can be used:
1. In "normal" tables:
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=ConnectEng;UID=mtr;PWD=mtr'
TABNAME='schema1.t1';
2. In catalog tables (CATFUNC=Tables and CATFUNC=Columns)
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=postgresql;UID=user;PWD=password'
TABNAME='schema1.t1';
Note, the % and _ wildcards are supported in
the schema name and the table name parts:
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=postgresql;UID=user;PWD=password'
TABNAME='%.t1';
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=postgresql;UID=user;PWD=password'
TABNAME='schema1.%';
2013-12-11 18:47:46 +04:00