mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
=====================================================================
This new CONNECT version 1.07 fully implements NOSQL support. It allows working on JSON or XML data retrieved as REST query results from all binary distributions of MariaDB when cpprestsdk is installed and the GetRest library is available. ===================================================================== - Make Rest available for MariaDB binary distributed versions. Change RestGet function so it can be called from a library. modified: storage/connect/CMakeLists.txt modified: storage/connect/restget.cpp modified: storage/connect/tabrest.cpp - Make column FLAG option available to discovery functions. modified: storage/connect/ha_connect.cc modified: storage/connect/plgdbsem.h - Update CONNECT version number and date. modified: storage/connect/ha_connect.cc - Move OEMColumns function from mycat.cc to reldef.cpp. modified: storage/connect/mycat.cc modified: storage/connect/reldef.cpp - Allocate tables as TABREF (was RELDEF) modified: storage/connect/mycat.cc modified: storage/connect/mycat.h - Fix MDEV-20845 by commenting out TIMEOUT setting. modified: storage/connect/myconn.cpp - Call DefineAM before calling GetColCatInfo. Column offset is now based on record format instead of table type. The RECFM_VCT format was added. This enables tables to specify the record format and is useful in particular for OEM tables. 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/tabfmt.cpp modified: storage/connect/tabmysql.cpp modified: storage/connect/tabutil.cpp modified: storage/connect/tabutil.h modified: storage/connect/tabvct.cpp modified: storage/connect/xindex.cpp
This commit is contained in:
@@ -45,7 +45,7 @@
|
||||
#include "global.h"
|
||||
#include "osutil.h"
|
||||
#include "plgdbsem.h"
|
||||
#include "catalog.h"
|
||||
//#include "catalog.h"
|
||||
#include "mycat.h"
|
||||
#include "xindex.h"
|
||||
#include "filamap.h"
|
||||
@@ -161,7 +161,12 @@ bool DOSDEF::DefineAM(PGLOBAL g, LPCSTR am, int)
|
||||
//Last = GetIntCatInfo("Last", 0);
|
||||
Ending = GetIntCatInfo("Ending", CRLF);
|
||||
|
||||
if (Recfm == RECFM_FIX || Recfm == RECFM_BIN) {
|
||||
if (Ending <= 0) {
|
||||
Ending = (Recfm == RECFM_BIN || Recfm == RECFM_VCT) ? 0 : CRLF;
|
||||
SetIntCatInfo("Ending", Ending);
|
||||
} // endif ending
|
||||
|
||||
if (Recfm == RECFM_FIX || Recfm == RECFM_BIN) {
|
||||
Huge = GetBoolCatInfo("Huge", Cat->GetDefHuge());
|
||||
Padded = GetBoolCatInfo("Padded", false);
|
||||
Blksize = GetIntCatInfo("Blksize", 0);
|
||||
@@ -191,7 +196,8 @@ bool DOSDEF::GetOptFileName(PGLOBAL g, char *filename)
|
||||
case RECFM_FIX: ftype = ".fop"; break;
|
||||
case RECFM_BIN: ftype = ".bop"; break;
|
||||
case RECFM_VCT: ftype = ".vop"; break;
|
||||
case RECFM_DBF: ftype = ".dbp"; break;
|
||||
case RECFM_CSV: ftype = ".cop"; break;
|
||||
case RECFM_DBF: ftype = ".dbp"; break;
|
||||
default:
|
||||
sprintf(g->Message, MSG(INVALID_FTYPE), Recfm);
|
||||
return true;
|
||||
@@ -261,7 +267,8 @@ bool DOSDEF::DeleteIndexFile(PGLOBAL g, PIXDEF pxdf)
|
||||
case RECFM_FIX: ftype = ".fnx"; break;
|
||||
case RECFM_BIN: ftype = ".bnx"; break;
|
||||
case RECFM_VCT: ftype = ".vnx"; break;
|
||||
case RECFM_DBF: ftype = ".dbx"; break;
|
||||
case RECFM_CSV: ftype = ".cnx"; break;
|
||||
case RECFM_DBF: ftype = ".dbx"; break;
|
||||
default:
|
||||
sprintf(g->Message, MSG(BAD_RECFM_VAL), Recfm);
|
||||
return true;
|
||||
@@ -2257,7 +2264,7 @@ int TDBDOS::ReadDB(PGLOBAL g)
|
||||
/***********************************************************************/
|
||||
bool TDBDOS::PrepareWriting(PGLOBAL)
|
||||
{
|
||||
if (!Ftype && (Mode == MODE_INSERT || Txfp->GetUseTemp())) {
|
||||
if (Ftype == RECFM_VAR && (Mode == MODE_INSERT || Txfp->GetUseTemp())) {
|
||||
char *p;
|
||||
|
||||
/*******************************************************************/
|
||||
@@ -2542,7 +2549,8 @@ void DOSCOL::ReadColumn(PGLOBAL g)
|
||||
/*********************************************************************/
|
||||
/* For a variable length file, check if the field exists. */
|
||||
/*********************************************************************/
|
||||
if (tdbp->Ftype == RECFM_VAR && strlen(tdbp->To_Line) < (unsigned)Deplac)
|
||||
if ((tdbp->Ftype == RECFM_VAR || tdbp->Ftype == RECFM_CSV)
|
||||
&& strlen(tdbp->To_Line) < (unsigned)Deplac)
|
||||
field = 0;
|
||||
else if (Dsp)
|
||||
for(i = 0; i < field; i++)
|
||||
@@ -2552,7 +2560,8 @@ void DOSCOL::ReadColumn(PGLOBAL g)
|
||||
switch (tdbp->Ftype) {
|
||||
case RECFM_VAR:
|
||||
case RECFM_FIX: // Fixed length text file
|
||||
case RECFM_DBF: // Fixed length DBase file
|
||||
case RECFM_CSV: // Variable length CSV or FMT file
|
||||
case RECFM_DBF: // Fixed length DBase file
|
||||
if (Nod) switch (Buf_Type) {
|
||||
case TYPE_INT:
|
||||
case TYPE_SHORT:
|
||||
|
Reference in New Issue
Block a user