diff options
author | Sergei Golubchik <serg@mariadb.org> | 2018-04-24 20:28:31 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2018-04-26 14:15:18 +0200 |
commit | 5ae2656b69e8a232107890aa0be517358739e997 (patch) | |
tree | 7f044f33d7fbfeb8bb4b9c008296008bd3b99c9e /storage/connect/xindex.cpp | |
parent | 1bd33ca82b951dd408b50b010b25a490063818e5 (diff) | |
download | mariadb-git-5ae2656b69e8a232107890aa0be517358739e997.tar.gz |
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
Diffstat (limited to 'storage/connect/xindex.cpp')
-rwxr-xr-x | storage/connect/xindex.cpp | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/storage/connect/xindex.cpp b/storage/connect/xindex.cpp index 30dce3b7fef..efefc17b5f5 100755 --- a/storage/connect/xindex.cpp +++ b/storage/connect/xindex.cpp @@ -344,7 +344,7 @@ bool XINDEX::Make(PGLOBAL g, PIXDEF sxp) } // endif n - if (trace) + if (trace(1)) htrc("XINDEX Make: n=%d\n", n); // File position must be stored @@ -417,7 +417,7 @@ bool XINDEX::Make(PGLOBAL g, PIXDEF sxp) if (kcp->Init(g, colp, n, true, 0)) return true; - if (trace) + if (trace(1)) htrc("Adding colp=%p Buf_Type=%d size=%d\n", colp, colp->GetResultType(), n); @@ -484,7 +484,7 @@ bool XINDEX::Make(PGLOBAL g, PIXDEF sxp) } else To_Rec[nkey] = Tdbp->GetRecpos(); - if (trace > 1) + if (trace(2)) htrc("Make: To_Rec[%d]=%d\n", nkey, To_Rec[nkey]); /*******************************************************************/ @@ -553,7 +553,7 @@ bool XINDEX::Make(PGLOBAL g, PIXDEF sxp) if ((Ndif = Qsort(g, Num_K)) < 0) goto err; // Error during sort - if (trace) + if (trace(1)) htrc("Make: Nk=%d n=%d Num_K=%d Ndif=%d addcolp=%p BlkFil=%p X=%p\n", Nk, n, Num_K, Ndif, addcolp, Tdbp->To_BlkFil, X); @@ -883,7 +883,7 @@ bool XINDEX::SaveIndex(PGLOBAL g, PIXDEF sxp) n[5] = Nblk; n[6] = Sblk; n[7] = Srtd ? 1 : 0; // Values are sorted in the file - if (trace) { + if (trace(1)) { htrc("Saving index %s\n", Xdp->GetName()); htrc("ID=%d Nk=%d nof=%d Num_K=%d Incr=%d Nblk=%d Sblk=%d Srtd=%d\n", ID, Nk, nof, Num_K, Incr, Nblk, Sblk, Srtd); @@ -926,7 +926,7 @@ bool XINDEX::SaveIndex(PGLOBAL g, PIXDEF sxp) // dup->ProgCur += 5; } // endfor kcp - if (trace) + if (trace(1)) htrc("Index %s saved, Size=%d\n", Xdp->GetName(), size); end: @@ -1016,7 +1016,7 @@ bool XINDEX::Init(PGLOBAL g) PlugSetPath(fn, fn, Tdbp->GetPath()); - if (trace) + if (trace(1)) htrc("Index %s file: %s\n", Xdp->GetName(), fn); /*********************************************************************/ @@ -1039,7 +1039,7 @@ bool XINDEX::Init(PGLOBAL g) } else Srtd = false; - if (trace) + if (trace(1)) htrc("nv=%d %d %d %d %d %d %d (%d)\n", nv[0], nv[1], nv[2], nv[3], nv[4], nv[5], nv[6], Srtd); @@ -1048,7 +1048,7 @@ bool XINDEX::Init(PGLOBAL g) if (/*nv[0] != ID ||*/ nv[1] != Nk) { sprintf(g->Message, MSG(BAD_INDEX_FILE), fn); - if (trace) + if (trace(1)) htrc("nv[0]=%d ID=%d nv[1]=%d Nk=%d\n", nv[0], ID, nv[1], Nk); goto err; @@ -1269,7 +1269,7 @@ bool XINDEX::MapInit(PGLOBAL g) PlugSetPath(fn, fn, Tdbp->GetPath()); - if (trace) + if (trace(1)) htrc("Index %s file: %s\n", Xdp->GetName(), fn); /*********************************************************************/ @@ -1300,7 +1300,7 @@ bool XINDEX::MapInit(PGLOBAL g) nv0 = nv[0]; } // endif nv - if (trace) + if (trace(1)) htrc("nv=%d %d %d %d %d %d %d %d\n", nv0, nv[1], nv[2], nv[3], nv[4], nv[5], nv[6], Srtd); @@ -1310,7 +1310,7 @@ bool XINDEX::MapInit(PGLOBAL g) // Not this index sprintf(g->Message, MSG(BAD_INDEX_FILE), fn); - if (trace) + if (trace(1)) htrc("nv0=%d ID=%d nv[1]=%d Nk=%d\n", nv0, ID, nv[1], Nk); goto err; @@ -1483,7 +1483,7 @@ bool XINDEX::GetAllSizes(PGLOBAL g,/* int &ndif,*/ int &numk) PlugSetPath(fn, fn, Tdbp->GetPath()); - if (trace) + if (trace(1)) htrc("Index %s file: %s\n", Xdp->GetName(), fn); /*********************************************************************/ @@ -1500,7 +1500,7 @@ bool XINDEX::GetAllSizes(PGLOBAL g,/* int &ndif,*/ int &numk) if (X->Read(g, nv, NZ, sizeof(int))) goto err; - if (trace) + if (trace(1)) htrc("nv=%d %d %d %d\n", nv[0], nv[1], nv[2], nv[3]); // The test on ID was suppressed because MariaDB can change an index ID @@ -1508,7 +1508,7 @@ bool XINDEX::GetAllSizes(PGLOBAL g,/* int &ndif,*/ int &numk) if (/*nv[0] != ID ||*/ nv[1] != Nk) { sprintf(g->Message, MSG(BAD_INDEX_FILE), fn); - if (trace) + if (trace(1)) htrc("nv[0]=%d ID=%d nv[1]=%d Nk=%d\n", nv[0], ID, nv[1], Nk); goto err; @@ -1770,7 +1770,7 @@ int XINDEX::Fetch(PGLOBAL g) if (Num_K == 0) return -1; // means end of file - if (trace > 1) + if (trace(2)) htrc("XINDEX Fetch: Op=%d\n", Op); /*********************************************************************/ @@ -1834,7 +1834,7 @@ int XINDEX::Fetch(PGLOBAL g) Nth++; - if (trace > 1) + if (trace(2)) htrc("Fetch: Looking for new value Nth=%d\n", Nth); Cur_K = FastFind(); @@ -1907,7 +1907,7 @@ int XINDEX::FastFind(void) sup = To_KeyCol->Ndf; } // endif Nblk - if (trace > 2) + if (trace(4)) htrc("XINDEX FastFind: Nblk=%d Op=%d inf=%d sup=%d\n", Nblk, Op, inf, sup); @@ -1985,7 +1985,7 @@ int XINDEX::FastFind(void) curk = (kcp->Kof) ? kcp->Kof[kcp->Val_K] : kcp->Val_K; } // endfor kcp - if (trace > 2) + if (trace(4)) htrc("XINDEX FastFind: curk=%d\n", curk); return curk; @@ -2123,7 +2123,7 @@ int XINDXS::Fetch(PGLOBAL g) if (Num_K == 0) return -1; // means end of file - if (trace > 1) + if (trace(2)) htrc("XINDXS Fetch: Op=%d\n", Op); /*********************************************************************/ @@ -2176,7 +2176,7 @@ int XINDXS::Fetch(PGLOBAL g) else Nth++; - if (trace > 1) + if (trace(2)) htrc("Fetch: Looking for new value Nth=%d\n", Nth); Cur_K = FastFind(); @@ -2243,7 +2243,7 @@ int XINDXS::FastFind(void) sup = Ndif; } // endif Nblk - if (trace > 2) + if (trace(4)) htrc("XINDXS FastFind: Nblk=%d Op=%d inf=%d sup=%d\n", Nblk, Op, inf, sup); @@ -2269,7 +2269,7 @@ int XINDXS::FastFind(void) n = 0; } // endif sup - if (trace > 2) + if (trace(4)) htrc("XINDXS FastFind: n=%d i=%d\n", n, i); // Loop on kcp because of dynamic indexing @@ -2337,7 +2337,7 @@ bool XFILE::Open(PGLOBAL g, char *filename, int id, MODE mode) } // endswitch mode if (!(Xfile= global_fopen(g, MSGID_OPEN_ERROR_AND_STRERROR, filename, pmod))) { - if (trace) + if (trace(1)) htrc("Open: %s\n", g->Message); return true; @@ -2354,7 +2354,7 @@ bool XFILE::Open(PGLOBAL g, char *filename, int id, MODE mode) NewOff.v.Low = (int)ftell(Xfile); - if (trace) + if (trace(1)) htrc("XFILE Open: NewOff.v.Low=%d\n", NewOff.v.Low); } else if (mode == MODE_WRITE) { @@ -2365,7 +2365,7 @@ bool XFILE::Open(PGLOBAL g, char *filename, int id, MODE mode) fseek(Xfile, 0, SEEK_END); NewOff.v.Low = (int)ftell(Xfile); - if (trace) + if (trace(1)) htrc("XFILE Open: NewOff.v.Low=%d\n", NewOff.v.Low); } // endif id @@ -2377,7 +2377,7 @@ bool XFILE::Open(PGLOBAL g, char *filename, int id, MODE mode) return true; } // endif MAX_INDX - if (trace) + if (trace(1)) htrc("XFILE Open: noff[%d].v.Low=%d\n", id, noff[id].v.Low); // Position the cursor at the offset of this index @@ -2510,7 +2510,7 @@ bool XHUGE::Open(PGLOBAL g, char *filename, int id, MODE mode) return true; } // endif - if (trace) + if (trace(1)) htrc(" Xopen: filename=%s id=%d mode=%d\n", filename, id, mode); #if defined(__WIN__) @@ -2554,7 +2554,7 @@ bool XHUGE::Open(PGLOBAL g, char *filename, int id, MODE mode) return true; } // endif Hfile - if (trace) + if (trace(1)) htrc(" access=%p share=%p creation=%d handle=%p fn=%s\n", access, share, creation, Hfile, filename); @@ -2628,13 +2628,13 @@ bool XHUGE::Open(PGLOBAL g, char *filename, int id, MODE mode) if (Hfile == INVALID_HANDLE_VALUE) { /*rc = errno;*/ - if (trace) + if (trace(1)) htrc("Open: %s\n", g->Message); return true; } // endif Hfile - if (trace) + if (trace(1)) htrc(" oflag=%p mode=%d handle=%d fn=%s\n", oflag, mode, Hfile, filename); @@ -2647,7 +2647,7 @@ bool XHUGE::Open(PGLOBAL g, char *filename, int id, MODE mode) return true; } // endif - if (trace) + if (trace(1)) htrc("INSERT: NewOff=%lld\n", NewOff.Val); } else if (mode == MODE_WRITE) { @@ -2657,7 +2657,7 @@ bool XHUGE::Open(PGLOBAL g, char *filename, int id, MODE mode) NewOff.v.Low = write(Hfile, &noff, sizeof(noff)); } // endif id - if (trace) + if (trace(1)) htrc("WRITE: NewOff=%lld\n", NewOff.Val); } else if (mode == MODE_READ && id >= 0) { @@ -2667,7 +2667,7 @@ bool XHUGE::Open(PGLOBAL g, char *filename, int id, MODE mode) return true; } // endif read - if (trace) + if (trace(1)) htrc("noff[%d]=%lld\n", id, noff[id].Val); // Position the cursor at the offset of this index @@ -2705,13 +2705,13 @@ bool XHUGE::Seek(PGLOBAL g, int low, int high, int origin) if (lseek64(Hfile, pos, origin) < 0) { sprintf(g->Message, MSG(ERROR_IN_LSK), errno); - if (trace) + if (trace(1)) htrc("lseek64 error %d\n", errno); return true; } // endif lseek64 - if (trace) + if (trace(1)) htrc("Seek: low=%d high=%d\n", low, high); #endif // UNIX @@ -2750,13 +2750,13 @@ bool XHUGE::Read(PGLOBAL g, void *buf, int n, int size) #else // UNIX ssize_t count = (ssize_t)(n * size); - if (trace) + if (trace(1)) htrc("Hfile=%d n=%d size=%d count=%d\n", Hfile, n, size, count); if (read(Hfile, buf, count) != count) { sprintf(g->Message, MSG(READ_ERROR), "Index file", strerror(errno)); - if (trace) + if (trace(1)) htrc("read error %d\n", errno); rc = true; @@ -2810,7 +2810,7 @@ int XHUGE::Write(PGLOBAL g, void *buf, int n, int size, bool& rc) /***********************************************************************/ void XHUGE::Close(char *fn, int id) { - if (trace) + if (trace(1)) htrc("XHUGE::Close: fn=%s id=%d NewOff=%lld\n", fn, id, NewOff.Val); #if defined(__WIN__) @@ -3022,7 +3022,7 @@ bool KXYCOL::Init(PGLOBAL g, PCOL colp, int n, bool sm, int kln) Prefix = true; } // endif kln - if (trace) + if (trace(1)) htrc("KCOL(%p) Init: col=%s n=%d type=%d sm=%d\n", this, colp->GetName(), n, colp->GetResultType(), sm); @@ -3076,7 +3076,7 @@ BYTE* KXYCOL::MapInit(PGLOBAL g, PCOL colp, int *n, BYTE *m) Type = colp->GetResultType(); - if (trace) + if (trace(1)) htrc("MapInit(%p): colp=%p type=%d n=%d len=%d m=%p\n", this, colp, Type, n[0], len, m); @@ -3196,7 +3196,7 @@ bool KXYCOL::InitFind(PGLOBAL g, PXOB xp) Valp->SetValue_pval(xp->GetValue(), false); } // endif Type - if (trace > 1) { + if (trace(2)) { char buf[32]; htrc("KCOL InitFind: value=%s\n", Valp->GetCharString(buf)); @@ -3237,7 +3237,7 @@ int KXYCOL::Compare(int i1, int i2) // Do the actual comparison between values. register int k = Kblp->CompVal(i1, i2); - if (trace > 2) + if (trace(4)) htrc("Compare done result=%d\n", k); return (Asc) ? k : -k; @@ -3249,7 +3249,7 @@ int KXYCOL::Compare(int i1, int i2) int KXYCOL::CompVal(int i) { // Do the actual comparison between numerical values. - if (trace > 2) { + if (trace(4)) { register int k = (int)Kblp->CompVal(Valp, (int)i); htrc("Compare done result=%d\n", k); |