mirror of
https://github.com/MariaDB/server.git
synced 2025-11-27 05:41:41 +03:00
This is a major update concerning many source files.
Fix MDEV-12035. modified: storage/connect/jsonudf.cpp Working on MDEV-11832: Srcdef performance enhancement This require to mark place holders into srcdef to indicate where to insert the where/having clauses that are retrieved in push_cond. However this also make necessary to handle aliases in the srcdef. This was the opportunity to base all external tables on common classes called EXTDEF, TABEXT and EXTCOL. modified: storage/connect/array.cpp modified: storage/connect/array.h modified: storage/connect/colblk.cpp modified: storage/connect/connect.cc modified: storage/connect/filamdbf.cpp modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/mycat.cc modified: storage/connect/myconn.cpp modified: storage/connect/odbconn.cpp modified: storage/connect/plgdbsem.h modified: storage/connect/reldef.cpp modified: storage/connect/reldef.h modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.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/tabmac.h modified: storage/connect/tabmul.cpp modified: storage/connect/tabmul.h modified: storage/connect/tabmysql.cpp modified: storage/connect/tabmysql.h modified: storage/connect/taboccur.cpp 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/tabtbl.cpp modified: storage/connect/tabutil.cpp modified: storage/connect/tabutil.h modified: storage/connect/tabvct.cpp modified: storage/connect/tabvct.h modified: storage/connect/tabvir.cpp modified: storage/connect/tabwmi.cpp modified: storage/connect/tabxcl.cpp modified: storage/connect/tabxcl.h modified: storage/connect/tabxml.cpp modified: storage/connect/tabxml.h modified: storage/connect/xindex.cpp modified: storage/connect/xindex.h modified: storage/connect/xobject.h modified: storage/connect/xtable.h added: storage/connect/tabext.cpp added: storage/connect/tabext.h
This commit is contained in:
@@ -35,8 +35,8 @@
|
||||
#include "global.h"
|
||||
#include "plgdbsem.h"
|
||||
#include "xobject.h"
|
||||
//#include "kindex.h"
|
||||
#include "xtable.h"
|
||||
#include "tabext.h"
|
||||
#include "odbccat.h"
|
||||
#include "tabodbc.h"
|
||||
#include "plgcnx.h" // For DB types
|
||||
@@ -413,12 +413,20 @@ PQRYRES ODBCColumns(PGLOBAL g, char *dsn, char *db, char *table,
|
||||
/**************************************************************************/
|
||||
PQRYRES ODBCSrcCols(PGLOBAL g, char *dsn, char *src, POPARM sop)
|
||||
{
|
||||
char *sqry;
|
||||
ODBConn *ocp = new(g) ODBConn(g, NULL);
|
||||
|
||||
if (ocp->Open(dsn, sop, 10) < 1) // openReadOnly + noOdbcDialog
|
||||
return NULL;
|
||||
|
||||
return ocp->GetMetaData(g, dsn, src);
|
||||
if (strstr(src, "%s")) {
|
||||
// Place holder for an eventual where clause
|
||||
sqry = (char*)PlugSubAlloc(g, NULL, strlen(src) + 3);
|
||||
sprintf(sqry, src, "1=1", "1=1"); // dummy where clause
|
||||
} else
|
||||
sqry = src;
|
||||
|
||||
return ocp->GetMetaData(g, dsn, sqry);
|
||||
} // end of ODBCSrcCols
|
||||
|
||||
#if 0
|
||||
@@ -1417,7 +1425,7 @@ int ODBConn::ExecDirectSQL(char *sql, ODBCCOL *tocols)
|
||||
b = true;
|
||||
|
||||
if (trace)
|
||||
htrc("ExecDirect hstmt=%p %.64s\n", hstmt, sql);
|
||||
htrc("ExecDirect hstmt=%p %.256s\n", hstmt, sql);
|
||||
|
||||
if (m_Tdb->Srcdef) {
|
||||
// Be sure this is a query returning a result set
|
||||
|
||||
Reference in New Issue
Block a user