mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 19:41:47 +01:00
e5729127b8
in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h storage/connect/filamdbf.h storage/connect/filamfix.cpp storage/connect/filamfix.h storage/connect/filamtxt.cpp storage/connect/filamtxt.h storage/connect/filamvct.cpp storage/connect/filamvct.h storage/connect/filamzip.cpp storage/connect/filamzip.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
86 lines
3.1 KiB
C++
86 lines
3.1 KiB
C++
/************** FilAMFix H Declares Source Code File (.H) **************/
|
|
/* Name: FILAMFIX.H Version 1.2 */
|
|
/* */
|
|
/* (C) Copyright to the author Olivier BERTRAND 2005 - 2012 */
|
|
/* */
|
|
/* This file contains the FIX file access method classes declares. */
|
|
/***********************************************************************/
|
|
|
|
#ifndef __FILAMFIX_H
|
|
#define __FILAMFIX_H
|
|
|
|
#include "filamtxt.h"
|
|
|
|
typedef class FIXFAM *PFIXFAM;
|
|
typedef class BGXFAM *PBGXFAM;
|
|
|
|
/***********************************************************************/
|
|
/* This is the DOS/UNIX Access Method class declaration for standard */
|
|
/* files with fixed record format (FIX, BIN) */
|
|
/***********************************************************************/
|
|
class DllExport FIXFAM : public BLKFAM {
|
|
public:
|
|
// Constructor
|
|
FIXFAM(PDOSDEF tdp);
|
|
FIXFAM(PFIXFAM txfp);
|
|
|
|
// Implementation
|
|
virtual AMT GetAmType(void) {return TYPE_AM_FIX;}
|
|
virtual PTXF Duplicate(PGLOBAL g)
|
|
{return (PTXF)new(g) FIXFAM(this);}
|
|
|
|
// Methods
|
|
virtual int Cardinality(PGLOBAL g) {return TXTFAM::Cardinality(g);}
|
|
virtual bool AllocateBuffer(PGLOBAL g);
|
|
virtual void ResetBuffer(PGLOBAL g);
|
|
virtual int ReadBuffer(PGLOBAL g);
|
|
virtual int WriteBuffer(PGLOBAL g);
|
|
virtual int DeleteRecords(PGLOBAL g, int irc);
|
|
virtual void CloseTableFile(PGLOBAL g);
|
|
|
|
protected:
|
|
virtual bool CopyHeader(PGLOBAL g) {return false;}
|
|
virtual bool MoveIntermediateLines(PGLOBAL g, bool *b);
|
|
|
|
// No additional members
|
|
}; // end of class FIXFAM
|
|
|
|
|
|
/***********************************************************************/
|
|
/* This is the DOS/UNIX Access Method class declaration for files */
|
|
/* that are standard files with columns starting at fixed offset */
|
|
/* This class is for fixed formatted files of more than 2 gigabytes. */
|
|
/***********************************************************************/
|
|
class BGXFAM : public FIXFAM {
|
|
public:
|
|
// Constructor
|
|
BGXFAM(PDOSDEF tdp);
|
|
BGXFAM(PBGXFAM txfp);
|
|
|
|
// Implementation
|
|
virtual PTXF Duplicate(PGLOBAL g)
|
|
{return (PTXF)new(g) BGXFAM(this);}
|
|
|
|
// Methods
|
|
virtual int Cardinality(PGLOBAL g);
|
|
virtual bool OpenTableFile(PGLOBAL g);
|
|
virtual int ReadBuffer(PGLOBAL g);
|
|
virtual int WriteBuffer(PGLOBAL g);
|
|
virtual int DeleteRecords(PGLOBAL g, int irc);
|
|
virtual void CloseTableFile(PGLOBAL g);
|
|
virtual void Rewind(void);
|
|
|
|
protected:
|
|
bool BigSeek(PGLOBAL g, HANDLE h, BIGINT pos
|
|
, int org = FILE_BEGIN);
|
|
int BigRead(PGLOBAL g, HANDLE h, void *inbuf, int req);
|
|
bool BigWrite(PGLOBAL g, HANDLE h, void *inbuf, int req);
|
|
virtual bool OpenTempFile(PGLOBAL g);
|
|
virtual bool MoveIntermediateLines(PGLOBAL g, bool *b = NULL);
|
|
|
|
// Members
|
|
HANDLE Hfile; // Handle(descriptor) to big file
|
|
HANDLE Tfile; // Handle(descriptor) to big temp file
|
|
}; // end of class BGXFAM
|
|
|
|
#endif // __FILAMFIX_H
|