1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Get rid of GCC warnings about unused parameters

modified:   storage/connect/array.cpp
  modified:   storage/connect/blkfil.cpp
  modified:   storage/connect/block.h
  modified:   storage/connect/catalog.h
  modified:   storage/connect/colblk.cpp
  modified:   storage/connect/colblk.h
  modified:   storage/connect/connect.cc
  modified:   storage/connect/filamap.cpp
  modified:   storage/connect/filamdbf.cpp
  modified:   storage/connect/filamfix.cpp
  modified:   storage/connect/filamtxt.cpp
  modified:   storage/connect/filamtxt.h
  modified:   storage/connect/filamvct.cpp
  modified:   storage/connect/filamzip.cpp
  modified:   storage/connect/filter.h
  modified:   storage/connect/ha_connect.c
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/mycat.h
  modified:   storage/connect/myconn.cpp
  modified:   storage/connect/plgdbutl.cpp
  modified:   storage/connect/reldef.cpp
  modified:   storage/connect/reldef.h
  modified:   storage/connect/tabcol.cpp
  modified:   storage/connect/tabdos.cpp
  modified:   storage/connect/tabdos.h
  modified:   storage/connect/tabfix.cpp
  modified:   storage/connect/tabfmt.cpp
  modified:   storage/connect/tabfmt.h
  modified:   storage/connect/tabjson.cpp
  modified:   storage/connect/tabjson.h
  modified:   storage/connect/table.cpp
  modified:   storage/connect/tabmul.cpp
  modified:   storage/connect/tabmysql.cpp
  modified:   storage/connect/tabmysql.h
  modified:   storage/connect/taboccur.cpp
  modified:   storage/connect/tabpivot.cpp
  modified:   storage/connect/tabsys.cpp
  modified:   storage/connect/tabtbl.cpp
  modified:   storage/connect/tabtbl.h
  modified:   storage/connect/tabutil.cpp
  modified:   storage/connect/tabutil.h
  modified:   storage/connect/tabvct.cpp
  modified:   storage/connect/tabvir.cpp
  modified:   storage/connect/tabvir.h
  modified:   storage/connect/tabxcl.cpp
  modified:   storage/connect/tabxcl.h
  modified:   storage/connect/tabxml.cpp
  modified:   storage/connect/tabxml.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/xindex.h
  modified:   storage/connect/xobject.h
  modified:   storage/connect/xtable.h
This commit is contained in:
Olivier Bertrand
2015-05-10 11:58:23 +02:00
parent 1db5b849ab
commit 9dee994d99
60 changed files with 818 additions and 867 deletions

View File

@@ -1,7 +1,7 @@
/************* Array C++ Functions Source Code File (.CPP) *************/ /************* Array C++ Functions Source Code File (.CPP) *************/
/* Name: ARRAY.CPP Version 2.3 */ /* Name: ARRAY.CPP Version 2.3 */
/* */ /* */
/* (C) Copyright to the author Olivier BERTRAND 2005-2014 */ /* (C) Copyright to the author Olivier BERTRAND 2005-2015 */
/* */ /* */
/* This file contains the XOBJECT derived class ARRAY functions. */ /* This file contains the XOBJECT derived class ARRAY functions. */
/* ARRAY is used for elaborate type of processing, such as sorting */ /* ARRAY is used for elaborate type of processing, such as sorting */
@@ -186,7 +186,7 @@ ARRAY::ARRAY(PGLOBAL g, int type, int size, int length, int prec)
// The error message was built by PlgDBalloc // The error message was built by PlgDBalloc
Type = TYPE_ERROR; Type = TYPE_ERROR;
else if (type != TYPE_PCHAR) else if (type != TYPE_PCHAR)
Value = AllocateValue(g, type, Len, prec, NULL); Value = AllocateValue(g, type, Len, prec);
Constant = TRUE; Constant = TRUE;
} // end of ARRAY constructor } // end of ARRAY constructor
@@ -610,7 +610,7 @@ int ARRAY::Convert(PGLOBAL g, int k, PVAL vp)
// The error message was built by PlgDBalloc // The error message was built by PlgDBalloc
return TYPE_ERROR; return TYPE_ERROR;
else else
Value = AllocateValue(g, Type, Len, prec, NULL); Value = AllocateValue(g, Type, Len, prec);
/*********************************************************************/ /*********************************************************************/
/* Converting STRING to DATE can be done according to date format. */ /* Converting STRING to DATE can be done according to date format. */
@@ -848,7 +848,7 @@ void *ARRAY::GetSortIndex(PGLOBAL g)
/* the indication of whether the Find will be always true, always not */ /* the indication of whether the Find will be always true, always not */
/* true or other. */ /* true or other. */
/***********************************************************************/ /***********************************************************************/
int ARRAY::BlockTest(PGLOBAL g, int opc, int opm, int ARRAY::BlockTest(PGLOBAL, int opc, int opm,
void *minp, void *maxp, bool s) void *minp, void *maxp, bool s)
{ {
bool bin, bax, pin, pax, veq, all = (opm == 2); bool bin, bax, pin, pax, veq, all = (opm == 2);
@@ -1038,7 +1038,7 @@ void ARRAY::Print(PGLOBAL g, FILE *f, uint n)
/***********************************************************************/ /***********************************************************************/
/* Make string output of ARRAY contents. */ /* Make string output of ARRAY contents. */
/***********************************************************************/ /***********************************************************************/
void ARRAY::Print(PGLOBAL g, char *ps, uint z) void ARRAY::Print(PGLOBAL, char *ps, uint z)
{ {
if (z < 16) if (z < 16)
return; return;

View File

@@ -5,7 +5,7 @@
/* */ /* */
/* COPYRIGHT: */ /* COPYRIGHT: */
/* ---------- */ /* ---------- */
/* (C) Copyright to the author Olivier BERTRAND 2004-2014 */ /* (C) Copyright to the author Olivier BERTRAND 2004-2015 */
/* */ /* */
/* WHAT THIS PROGRAM DOES: */ /* WHAT THIS PROGRAM DOES: */
/* ----------------------- */ /* ----------------------- */
@@ -56,7 +56,7 @@ BLOCKFILTER::BLOCKFILTER(PTDBDOS tdbp, int op)
/***********************************************************************/ /***********************************************************************/
/* Make file output of BLOCKFILTER contents. */ /* Make file output of BLOCKFILTER contents. */
/***********************************************************************/ /***********************************************************************/
void BLOCKFILTER::Print(PGLOBAL g, FILE *f, uint n) void BLOCKFILTER::Print(PGLOBAL, FILE *f, uint n)
{ {
char m[64]; char m[64];
@@ -70,7 +70,7 @@ void BLOCKFILTER::Print(PGLOBAL g, FILE *f, uint n)
/***********************************************************************/ /***********************************************************************/
/* Make string output of BLOCKFILTER contents. */ /* Make string output of BLOCKFILTER contents. */
/***********************************************************************/ /***********************************************************************/
void BLOCKFILTER::Print(PGLOBAL g, char *ps, uint z) void BLOCKFILTER::Print(PGLOBAL, char *ps, uint z)
{ {
strncat(ps, "BlockFilter(s)", z); strncat(ps, "BlockFilter(s)", z);
} // end of Print } // end of Print
@@ -186,7 +186,7 @@ void BLKFILARI::Reset(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Evaluate block filter for arithmetic operators. */ /* Evaluate block filter for arithmetic operators. */
/***********************************************************************/ /***********************************************************************/
int BLKFILARI::BlockEval(PGLOBAL g) int BLKFILARI::BlockEval(PGLOBAL)
{ {
int mincmp, maxcmp, n; int mincmp, maxcmp, n;
@@ -306,7 +306,7 @@ void BLKFILAR2::MakeValueBitmap(void)
/***********************************************************************/ /***********************************************************************/
/* Evaluate XDB2 block filter for arithmetic operators. */ /* Evaluate XDB2 block filter for arithmetic operators. */
/***********************************************************************/ /***********************************************************************/
int BLKFILAR2::BlockEval(PGLOBAL g) int BLKFILAR2::BlockEval(PGLOBAL)
{ {
#if defined(_DEBUG) #if defined(_DEBUG)
assert (Colp->IsClustered()); assert (Colp->IsClustered());
@@ -428,7 +428,7 @@ void BLKFILMR2::MakeValueBitmap(void)
/***********************************************************************/ /***********************************************************************/
/* Evaluate XDB2 block filter for arithmetic operators. */ /* Evaluate XDB2 block filter for arithmetic operators. */
/***********************************************************************/ /***********************************************************************/
int BLKFILMR2::BlockEval(PGLOBAL g) int BLKFILMR2::BlockEval(PGLOBAL)
{ {
#if defined(_DEBUG) #if defined(_DEBUG)
assert (Colp->IsClustered()); assert (Colp->IsClustered());
@@ -514,7 +514,7 @@ void BLKSPCARI::Reset(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Evaluate block filter for arithmetic operators (ROWID) */ /* Evaluate block filter for arithmetic operators (ROWID) */
/***********************************************************************/ /***********************************************************************/
int BLKSPCARI::BlockEval(PGLOBAL g) int BLKSPCARI::BlockEval(PGLOBAL)
{ {
int mincmp, maxcmp, n, m; int mincmp, maxcmp, n, m;
@@ -605,7 +605,7 @@ BLKFILIN::BLKFILIN(PGLOBAL g, PTDBDOS tdbp, int op, int opm, PXOB *xp)
/***********************************************************************/ /***********************************************************************/
/* Reset: have the sorted array reset its Bot value to -1 (bottom). */ /* Reset: have the sorted array reset its Bot value to -1 (bottom). */
/***********************************************************************/ /***********************************************************************/
void BLKFILIN::Reset(PGLOBAL g) void BLKFILIN::Reset(PGLOBAL)
{ {
Arap->Reset(); Arap->Reset();
// MakeValueBitmap(); // Does nothing for class BLKFILIN // MakeValueBitmap(); // Does nothing for class BLKFILIN
@@ -736,7 +736,7 @@ void BLKFILIN2::MakeValueBitmap(void)
/* ended string in case of string argument. This is because the ARRAY */ /* ended string in case of string argument. This is because the ARRAY */
/* can have a different width than the char column. */ /* can have a different width than the char column. */
/***********************************************************************/ /***********************************************************************/
int BLKFILIN2::BlockEval(PGLOBAL g) int BLKFILIN2::BlockEval(PGLOBAL)
{ {
if (N < 0) if (N < 0)
return Result; // Was set in MakeValueBitmap return Result; // Was set in MakeValueBitmap
@@ -909,7 +909,7 @@ int BLKFILIN2::BlockEval(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* BLKSPCIN constructor. */ /* BLKSPCIN constructor. */
/***********************************************************************/ /***********************************************************************/
BLKSPCIN::BLKSPCIN(PGLOBAL g, PTDBDOS tdbp, int op, int opm, BLKSPCIN::BLKSPCIN(PGLOBAL, PTDBDOS tdbp, int op, int opm,
PXOB *xp, int bsize) PXOB *xp, int bsize)
: BLOCKFILTER(tdbp, op) : BLOCKFILTER(tdbp, op)
{ {
@@ -930,7 +930,7 @@ BLKSPCIN::BLKSPCIN(PGLOBAL g, PTDBDOS tdbp, int op, int opm,
/***********************************************************************/ /***********************************************************************/
/* Reset: have the sorted array reset its Bot value to -1 (bottom). */ /* Reset: have the sorted array reset its Bot value to -1 (bottom). */
/***********************************************************************/ /***********************************************************************/
void BLKSPCIN::Reset(PGLOBAL g) void BLKSPCIN::Reset(PGLOBAL)
{ {
Arap->Reset(); Arap->Reset();
} // end of Reset } // end of Reset

View File

@@ -50,7 +50,7 @@ class DllExport BLOCK {
#if !defined(__BORLANDC__) #if !defined(__BORLANDC__)
// Avoid warning C4291 by defining a matching dummy delete operator // Avoid warning C4291 by defining a matching dummy delete operator
void operator delete(void *, PGLOBAL, void *) {} void operator delete(void *, PGLOBAL, void *) {}
void operator delete(void *ptr,size_t size) {} void operator delete(void *, size_t) {}
#endif #endif
virtual ~BLOCK() {} virtual ~BLOCK() {}

View File

@@ -1,7 +1,7 @@
/*************** Catalog H Declares Source Code File (.H) **************/ /*************** Catalog H Declares Source Code File (.H) **************/
/* Name: CATALOG.H Version 3.3 */ /* Name: CATALOG.H Version 3.3 */
/* */ /* */
/* (C) Copyright to the author Olivier BERTRAND 2000-2014 */ /* (C) Copyright to the author Olivier BERTRAND 2000-2015 */
/* */ /* */
/* This file contains the CATALOG PlugDB classes definitions. */ /* This file contains the CATALOG PlugDB classes definitions. */
/***********************************************************************/ /***********************************************************************/
@@ -73,33 +73,29 @@ class DllExport CATALOG {
// Methods // Methods
virtual void Reset(void) {} virtual void Reset(void) {}
//virtual void SetDataPath(PGLOBAL g, const char *path) {} //virtual void SetDataPath(PGLOBAL g, const char *path) {}
virtual bool CheckName(PGLOBAL g, char *name) {return true;} virtual bool CheckName(PGLOBAL, char*) {return true;}
virtual bool ClearName(PGLOBAL g, PSZ name) {return true;} virtual bool ClearName(PGLOBAL, PSZ) {return true;}
virtual PRELDEF MakeOneTableDesc(PGLOBAL g, LPCSTR name, LPCSTR am) {return NULL;} virtual PRELDEF MakeOneTableDesc(PGLOBAL, LPCSTR, LPCSTR) {return NULL;}
virtual PRELDEF GetTableDescEx(PGLOBAL g, PTABLE tablep) {return NULL;} virtual PRELDEF GetTableDescEx(PGLOBAL, PTABLE) {return NULL;}
virtual PRELDEF GetTableDesc(PGLOBAL g, LPCSTR name, LPCSTR type, virtual PRELDEF GetTableDesc(PGLOBAL, LPCSTR, LPCSTR,
PRELDEF *prp = NULL) {return NULL;} PRELDEF* = NULL) {return NULL;}
virtual PRELDEF GetFirstTable(PGLOBAL g) {return NULL;} virtual PRELDEF GetFirstTable(PGLOBAL) {return NULL;}
virtual PRELDEF GetNextTable(PGLOBAL g) {return NULL;} virtual PRELDEF GetNextTable(PGLOBAL) {return NULL;}
virtual bool TestCond(PGLOBAL g, const char *name, const char *type) virtual bool TestCond(PGLOBAL, const char*, const char*) {return true;}
{return true;} virtual bool DropTable(PGLOBAL, PSZ, bool) {return true;}
virtual bool DropTable(PGLOBAL g, PSZ name, bool erase) {return true;} virtual PTDB GetTable(PGLOBAL, PTABLE,
virtual PTDB GetTable(PGLOBAL g, PTABLE tablep, MODE = MODE_READ, LPCSTR = NULL) {return NULL;}
MODE mode = MODE_READ, LPCSTR type = NULL) virtual void TableNames(PGLOBAL, char*, int, int[]) {}
{return NULL;} virtual void ColumnNames(PGLOBAL, char*, char*, int, int[]) {}
virtual void TableNames(PGLOBAL g, char *buffer, int maxbuf, int info[]) {} virtual void ColumnDefs(PGLOBAL, char*, char*, int, int[]) {}
virtual void ColumnNames(PGLOBAL g, char *tabname, char *buffer, virtual void *DecodeValues(PGLOBAL, char*, char*, char*,
int maxbuf, int info[]) {} int, int[]) {return NULL;}
virtual void ColumnDefs(PGLOBAL g, char *tabname, char *buffer, virtual int ColumnType(PGLOBAL, char*, char*) {return 0;}
int maxbuf, int info[]) {} virtual void ClearDB(PGLOBAL) {}
virtual void *DecodeValues(PGLOBAL g, char *tabname, char *colname,
char *buffer, int maxbuf, int info[]) {return NULL;}
virtual int ColumnType(PGLOBAL g, char *tabname, char *colname) {return 0;}
virtual void ClearDB(PGLOBAL g) {}
protected: protected:
virtual bool ClearSection(PGLOBAL g, const char *key, const char *section) {return true;} virtual bool ClearSection(PGLOBAL, const char*, const char*) {return true;}
virtual PRELDEF MakeTableDesc(PGLOBAL g, LPCSTR name, LPCSTR am) {return NULL;} virtual PRELDEF MakeTableDesc(PGLOBAL, LPCSTR, LPCSTR) {return NULL;}
// Members // Members
char *Cbuf; /* Buffer used for col section */ char *Cbuf; /* Buffer used for col section */

View File

@@ -1,7 +1,7 @@
/************* Colblk C++ Functions Source Code File (.CPP) ************/ /************* Colblk C++ Functions Source Code File (.CPP) ************/
/* Name: COLBLK.CPP Version 2.1 */ /* Name: COLBLK.CPP Version 2.1 */
/* */ /* */
/* (C) Copyright to the author Olivier BERTRAND 1998-2014 */ /* (C) Copyright to the author Olivier BERTRAND 1998-2015 */
/* */ /* */
/* This file contains the COLBLK class functions. */ /* This file contains the COLBLK class functions. */
/***********************************************************************/ /***********************************************************************/
@@ -111,7 +111,7 @@ bool COLBLK::Compare(PXOB xp)
/***********************************************************************/ /***********************************************************************/
/* SetFormat: function used to set SELECT output format. */ /* SetFormat: function used to set SELECT output format. */
/***********************************************************************/ /***********************************************************************/
bool COLBLK::SetFormat(PGLOBAL g, FORMAT& fmt) bool COLBLK::SetFormat(PGLOBAL, FORMAT& fmt)
{ {
fmt = Format; fmt = Format;
@@ -175,7 +175,7 @@ bool COLBLK::InitValue(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* SetBuffer: prepare a column block for write operation. */ /* SetBuffer: prepare a column block for write operation. */
/***********************************************************************/ /***********************************************************************/
bool COLBLK::SetBuffer(PGLOBAL g, PVAL value, bool ok, bool check) bool COLBLK::SetBuffer(PGLOBAL g, PVAL, bool, bool)
{ {
sprintf(g->Message, MSG(UNDEFINED_AM), "SetBuffer"); sprintf(g->Message, MSG(UNDEFINED_AM), "SetBuffer");
return true; return true;
@@ -214,7 +214,7 @@ void COLBLK::WriteColumn(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Make file output of a column descriptor block. */ /* Make file output of a column descriptor block. */
/***********************************************************************/ /***********************************************************************/
void COLBLK::Print(PGLOBAL g, FILE *f, uint n) void COLBLK::Print(PGLOBAL, FILE *f, uint n)
{ {
char m[64]; char m[64];
int i; int i;
@@ -237,7 +237,7 @@ void COLBLK::Print(PGLOBAL g, FILE *f, uint n)
/***********************************************************************/ /***********************************************************************/
/* Make string output of a column descriptor block. */ /* Make string output of a column descriptor block. */
/***********************************************************************/ /***********************************************************************/
void COLBLK::Print(PGLOBAL g, char *ps, uint z) void COLBLK::Print(PGLOBAL, char *ps, uint)
{ {
sprintf(ps, "R%d.%s", To_Tdb->GetTdb_No(), Name); sprintf(ps, "R%d.%s", To_Tdb->GetTdb_No(), Name);
} // end of Print } // end of Print
@@ -347,7 +347,7 @@ TIDBLK::TIDBLK(PCOLUMN cp) : SPCBLK(cp)
/***********************************************************************/ /***********************************************************************/
/* ReadColumn: what this routine does is to return the table ID. */ /* ReadColumn: what this routine does is to return the table ID. */
/***********************************************************************/ /***********************************************************************/
void TIDBLK::ReadColumn(PGLOBAL g) void TIDBLK::ReadColumn(PGLOBAL)
{ {
if (Tname == NULL) { if (Tname == NULL) {
Tname = (char*)To_Tdb->GetName(); Tname = (char*)To_Tdb->GetName();
@@ -406,7 +406,7 @@ SIDBLK::SIDBLK(PCOLUMN cp) : SPCBLK(cp)
/***********************************************************************/ /***********************************************************************/
/* ReadColumn: what this routine does is to return the server ID. */ /* ReadColumn: what this routine does is to return the server ID. */
/***********************************************************************/ /***********************************************************************/
void SIDBLK::ReadColumn(PGLOBAL g) void SIDBLK::ReadColumn(PGLOBAL)
{ {
//if (Sname == NULL) { //if (Sname == NULL) {
Sname = (char*)To_Tdb->GetServer(); Sname = (char*)To_Tdb->GetServer();

View File

@@ -1,7 +1,7 @@
/*************** Colblk H Declares Source Code File (.H) ***************/ /*************** Colblk H Declares Source Code File (.H) ***************/
/* Name: COLBLK.H Version 1.7 */ /* Name: COLBLK.H Version 1.7 */
/* */ /* */
/* (C) Copyright to the author Olivier BERTRAND 2005-2014 */ /* (C) Copyright to the author Olivier BERTRAND 2005-2015 */
/* */ /* */
/* This file contains the COLBLK and derived classes declares. */ /* This file contains the COLBLK and derived classes declares. */
/***********************************************************************/ /***********************************************************************/
@@ -23,7 +23,7 @@ class DllExport COLBLK : public XOBJECT {
// Default constructors used by derived classes // Default constructors used by derived classes
COLBLK(PCOLDEF cdp = NULL, PTDB tdbp = NULL, int i = 0); COLBLK(PCOLDEF cdp = NULL, PTDB tdbp = NULL, int i = 0);
COLBLK(PCOL colp, PTDB tdbp = NULL); // Used in copy process COLBLK(PCOL colp, PTDB tdbp = NULL); // Used in copy process
COLBLK(int n) {} // Used when changing a column class in TDBXML COLBLK(int) {} // Used when changing a column class in TDBXML
public: public:
// Implementation // Implementation
@@ -69,7 +69,7 @@ class DllExport COLBLK : public XOBJECT {
virtual bool IsSpecial(void) {return false;} virtual bool IsSpecial(void) {return false;}
virtual bool Eval(PGLOBAL g); virtual bool Eval(PGLOBAL g);
virtual bool SetBuffer(PGLOBAL g, PVAL value, bool ok, bool check); virtual bool SetBuffer(PGLOBAL g, PVAL value, bool ok, bool check);
virtual void SetTo_Val(PVAL valp) {} virtual void SetTo_Val(PVAL) {}
virtual void ReadColumn(PGLOBAL g); virtual void ReadColumn(PGLOBAL g);
virtual void WriteColumn(PGLOBAL g); virtual void WriteColumn(PGLOBAL g);
virtual void Print(PGLOBAL g, FILE *, uint); virtual void Print(PGLOBAL g, FILE *, uint);

View File

@@ -1,4 +1,4 @@
/* Copyright (C) Olivier Bertrand 2004 - 2012 /* Copyright (C) Olivier Bertrand 2004 - 2015
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@@ -237,7 +237,7 @@ PTDB CntGetTDB(PGLOBAL g, LPCSTR name, MODE mode, PHC h)
/* OPENTAB: Open a Table. */ /* OPENTAB: Open a Table. */
/***********************************************************************/ /***********************************************************************/
bool CntOpenTable(PGLOBAL g, PTDB tdbp, MODE mode, char *c1, char *c2, bool CntOpenTable(PGLOBAL g, PTDB tdbp, MODE mode, char *c1, char *c2,
bool del, PHC h) bool del, PHC)
{ {
char *p; char *p;
int i, n, rc; int i, n, rc;

View File

@@ -276,7 +276,7 @@ bool MAPFAM::SetPos(PGLOBAL g, int pos)
/***********************************************************************/ /***********************************************************************/
/* Record file position in case of UPDATE or DELETE. */ /* Record file position in case of UPDATE or DELETE. */
/***********************************************************************/ /***********************************************************************/
bool MAPFAM::RecordPos(PGLOBAL g) bool MAPFAM::RecordPos(PGLOBAL)
{ {
Fpos = Mempos; Fpos = Mempos;
return false; return false;
@@ -285,7 +285,7 @@ bool MAPFAM::RecordPos(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Initialize Fpos and Mempos for indexed DELETE. */ /* Initialize Fpos and Mempos for indexed DELETE. */
/***********************************************************************/ /***********************************************************************/
int MAPFAM::InitDelete(PGLOBAL g, int fpos, int spos) int MAPFAM::InitDelete(PGLOBAL, int fpos, int spos)
{ {
Fpos = Memory + (ptrdiff_t)fpos; Fpos = Memory + (ptrdiff_t)fpos;
Mempos = Memory + (ptrdiff_t)spos; Mempos = Memory + (ptrdiff_t)spos;
@@ -371,7 +371,7 @@ int MAPFAM::ReadBuffer(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* WriteBuffer: File write routine for MAP access method. */ /* WriteBuffer: File write routine for MAP access method. */
/***********************************************************************/ /***********************************************************************/
int MAPFAM::WriteBuffer(PGLOBAL g) int MAPFAM::WriteBuffer(PGLOBAL g __attribute__((unused)))
{ {
#if defined(_DEBUG) #if defined(_DEBUG)
// Insert mode is no more handled using file mapping // Insert mode is no more handled using file mapping
@@ -495,7 +495,7 @@ int MAPFAM::DeleteRecords(PGLOBAL g, int irc)
/***********************************************************************/ /***********************************************************************/
/* Table file close routine for MAP access method. */ /* Table file close routine for MAP access method. */
/***********************************************************************/ /***********************************************************************/
void MAPFAM::CloseTableFile(PGLOBAL g, bool abort) void MAPFAM::CloseTableFile(PGLOBAL g, bool)
{ {
PlugCloseFile(g, To_Fb); PlugCloseFile(g, To_Fb);
To_Fb = NULL; // To get correct file size in Cardinality To_Fb = NULL; // To get correct file size in Cardinality
@@ -551,7 +551,7 @@ int MBKFAM::Cardinality(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Skip one record in file. */ /* Skip one record in file. */
/***********************************************************************/ /***********************************************************************/
int MBKFAM::SkipRecord(PGLOBAL g, bool header) int MBKFAM::SkipRecord(PGLOBAL, bool)
{ {
return RC_OK; return RC_OK;
} // end of SkipRecord } // end of SkipRecord
@@ -685,7 +685,7 @@ bool MPXFAM::SetPos(PGLOBAL g, int pos)
/***********************************************************************/ /***********************************************************************/
/* Initialize CurBlk, CurNum, Mempos and Fpos for indexed DELETE. */ /* Initialize CurBlk, CurNum, Mempos and Fpos for indexed DELETE. */
/***********************************************************************/ /***********************************************************************/
int MPXFAM::InitDelete(PGLOBAL g, int fpos, int spos) int MPXFAM::InitDelete(PGLOBAL, int fpos, int)
{ {
Fpos = Memory + Headlen + (ptrdiff_t)fpos * Lrecl; Fpos = Memory + Headlen + (ptrdiff_t)fpos * Lrecl;
Mempos = Fpos + Lrecl; Mempos = Fpos + Lrecl;
@@ -740,7 +740,7 @@ int MPXFAM::ReadBuffer(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* WriteBuffer: File write routine for MAP access method. */ /* WriteBuffer: File write routine for MAP access method. */
/***********************************************************************/ /***********************************************************************/
int MPXFAM::WriteBuffer(PGLOBAL g) int MPXFAM::WriteBuffer(PGLOBAL g __attribute__((unused)))
{ {
#if defined(_DEBUG) #if defined(_DEBUG)
// Insert mode is no more handled using file mapping // Insert mode is no more handled using file mapping

View File

@@ -1,11 +1,11 @@
/*********** File AM Dbf C++ Program Source Code File (.CPP) ****************/ /*********** File AM Dbf C++ Program Source Code File (.CPP) ****************/
/* PROGRAM NAME: FILAMDBF */ /* PROGRAM NAME: FILAMDBF */
/* ------------- */ /* ------------- */
/* Version 1.7 */ /* Version 1.8 */
/* */ /* */
/* COPYRIGHT: */ /* COPYRIGHT: */
/* ---------- */ /* ---------- */
/* (C) Copyright to the author Olivier BERTRAND 2005-2014 */ /* (C) Copyright to the author Olivier BERTRAND 2005-2015 */
/* */ /* */
/* WHAT THIS PROGRAM DOES: */ /* WHAT THIS PROGRAM DOES: */
/* ----------------------- */ /* ----------------------- */
@@ -115,6 +115,7 @@ typedef struct _descriptor {
/* Side effects: */ /* Side effects: */
/* Moves file pointer to byte 32; fills buffer at buf with */ /* Moves file pointer to byte 32; fills buffer at buf with */
/* first 32 bytes of file. */ /* first 32 bytes of file. */
/* Converts numeric values to platform byte ordering (LE in file) */
/****************************************************************************/ /****************************************************************************/
static int dbfhead(PGLOBAL g, FILE *file, PSZ fn, DBFHEADER *buf) static int dbfhead(PGLOBAL g, FILE *file, PSZ fn, DBFHEADER *buf)
{ {
@@ -142,6 +143,11 @@ static int dbfhead(PGLOBAL g, FILE *file, PSZ fn, DBFHEADER *buf)
} else } else
strcpy(g->Message, MSG(DBASE_FILE)); strcpy(g->Message, MSG(DBASE_FILE));
// Convert numeric fields to have them in platform byte ordering
buf->Records = uint4korr(&buf->Records);
buf->Headlen = uint2korr(&buf->Headlen);
buf->Reclen = uint2korr(&buf->Reclen);
// Check last byte(s) of header // Check last byte(s) of header
if (fseek(file, buf->Headlen - dbc, SEEK_SET) != 0) { if (fseek(file, buf->Headlen - dbc, SEEK_SET) != 0) {
sprintf(g->Message, MSG(BAD_HEADER), fn); sprintf(g->Message, MSG(BAD_HEADER), fn);
@@ -565,8 +571,8 @@ bool DBFFAM::AllocateBuffer(PGLOBAL g)
header->Filedate[0] = datm->tm_year - 100; header->Filedate[0] = datm->tm_year - 100;
header->Filedate[1] = datm->tm_mon + 1; header->Filedate[1] = datm->tm_mon + 1;
header->Filedate[2] = datm->tm_mday; header->Filedate[2] = datm->tm_mday;
header->Headlen = (ushort)hlen; int2store(&header->Headlen, hlen);
header->Reclen = (ushort)reclen; int2store(&header->Reclen, reclen);
descp = (DESCRIPTOR*)header; descp = (DESCRIPTOR*)header;
// Currently only standard Xbase types are supported // Currently only standard Xbase types are supported
@@ -863,13 +869,14 @@ void DBFFAM::CloseTableFile(PGLOBAL g, bool abort)
if (n > Records) { if (n > Records) {
// Update the number of rows in the file header // Update the number of rows in the file header
char filename[_MAX_PATH]; char filename[_MAX_PATH], nRecords[4];
int4store(&nRecords, n);
PlugSetPath(filename, To_File, Tdbp->GetPath()); PlugSetPath(filename, To_File, Tdbp->GetPath());
if ((Stream= global_fopen(g, MSGID_OPEN_MODE_STRERROR, filename, "r+b"))) if ((Stream= global_fopen(g, MSGID_OPEN_MODE_STRERROR, filename, "r+b")))
{ {
fseek(Stream, 4, SEEK_SET); // Get header.Records position fseek(Stream, 4, SEEK_SET); // Get header.Records position
fwrite(&n, sizeof(int), 1, Stream); fwrite(nRecords, sizeof(nRecords), 1, Stream);
fclose(Stream); fclose(Stream);
Stream= NULL; Stream= NULL;
Records= n; // Update Records value Records= n; // Update Records value
@@ -944,13 +951,13 @@ bool DBMFAM::AllocateBuffer(PGLOBAL g)
/************************************************************************/ /************************************************************************/
DBFHEADER *hp = (DBFHEADER*)Memory; DBFHEADER *hp = (DBFHEADER*)Memory;
if (Lrecl != (int)hp->Reclen) { if (Lrecl != (int)uint2korr(&hp->Reclen)) {
sprintf(g->Message, MSG(BAD_LRECL), Lrecl, hp->Reclen); sprintf(g->Message, MSG(BAD_LRECL), Lrecl, uint2korr(&hp->Reclen));
return true; return true;
} // endif Lrecl } // endif Lrecl
Records = (int)hp->Records; Records = (int)uint4korr(&hp->Records);
Headlen = (int)hp->Headlen; Headlen = (int)uint2korr(&hp->Headlen);
} // endif Headlen } // endif Headlen
/**************************************************************************/ /**************************************************************************/
@@ -1004,7 +1011,7 @@ int DBMFAM::ReadBuffer(PGLOBAL g)
/* Data Base delete line routine for DBF access methods. */ /* Data Base delete line routine for DBF access methods. */
/* Deleted lines are just flagged in the first buffer character. */ /* Deleted lines are just flagged in the first buffer character. */
/****************************************************************************/ /****************************************************************************/
int DBMFAM::DeleteRecords(PGLOBAL g, int irc) int DBMFAM::DeleteRecords(PGLOBAL, int irc)
{ {
if (irc == RC_OK) if (irc == RC_OK)
*Fpos = '*'; *Fpos = '*';

View File

@@ -5,7 +5,7 @@
/* */ /* */
/* COPYRIGHT: */ /* COPYRIGHT: */
/* ---------- */ /* ---------- */
/* (C) Copyright to the author Olivier BERTRAND 2005-2014 */ /* (C) Copyright to the author Olivier BERTRAND 2005-2015 */
/* */ /* */
/* WHAT THIS PROGRAM DOES: */ /* WHAT THIS PROGRAM DOES: */
/* ----------------------- */ /* ----------------------- */
@@ -102,7 +102,7 @@ bool FIXFAM::SetPos(PGLOBAL g, int pos)
/***********************************************************************/ /***********************************************************************/
/* Initialize CurBlk and CurNum for indexed DELETE. */ /* Initialize CurBlk and CurNum for indexed DELETE. */
/***********************************************************************/ /***********************************************************************/
int FIXFAM::InitDelete(PGLOBAL g, int fpos, int spos) int FIXFAM::InitDelete(PGLOBAL, int fpos, int)
{ {
CurBlk = fpos / Nrec; CurBlk = fpos / Nrec;
CurNum = fpos % Nrec; CurNum = fpos % Nrec;
@@ -690,7 +690,8 @@ bool BGXFAM::BigSeek(PGLOBAL g, HANDLE h, BIGINT pos, int org)
/***********************************************************************/ /***********************************************************************/
/* Read from a big file. */ /* Read from a big file. */
/***********************************************************************/ /***********************************************************************/
int BGXFAM::BigRead(PGLOBAL g, HANDLE h, void *inbuf, int req) int BGXFAM::BigRead(PGLOBAL g __attribute__((unused)),
HANDLE h, void *inbuf, int req)
{ {
int rc; int rc;

View File

@@ -436,7 +436,7 @@ err:
/* The purpose of this function is to deal with access methods that */ /* The purpose of this function is to deal with access methods that */
/* are not coherent regarding the use of SetPos and GetPos. */ /* are not coherent regarding the use of SetPos and GetPos. */
/***********************************************************************/ /***********************************************************************/
int TXTFAM::InitDelete(PGLOBAL g, int fpos, int spos) int TXTFAM::InitDelete(PGLOBAL g, int, int)
{ {
strcpy(g->Message, "InitDelete should not be used by this table type"); strcpy(g->Message, "InitDelete should not be used by this table type");
return RC_FX; return RC_FX;
@@ -519,7 +519,7 @@ int DOSFAM::Cardinality(PGLOBAL g)
/* Use BlockTest to reduce the table estimated size. */ /* Use BlockTest to reduce the table estimated size. */
/* Note: This function is not really implemented yet. */ /* Note: This function is not really implemented yet. */
/***********************************************************************/ /***********************************************************************/
int DOSFAM::MaxBlkSize(PGLOBAL g, int s) int DOSFAM::MaxBlkSize(PGLOBAL, int s)
{ {
return s; return s;
} // end of MaxBlkSize } // end of MaxBlkSize
@@ -1272,7 +1272,7 @@ int BLKFAM::Cardinality(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Use BlockTest to reduce the table estimated size. */ /* Use BlockTest to reduce the table estimated size. */
/***********************************************************************/ /***********************************************************************/
int BLKFAM::MaxBlkSize(PGLOBAL g, int s) int BLKFAM::MaxBlkSize(PGLOBAL g, int)
{ {
int rc = RC_OK, savcur = CurBlk; int rc = RC_OK, savcur = CurBlk;
int size; int size;
@@ -1343,7 +1343,7 @@ int BLKFAM::GetNextPos(void)
/***********************************************************************/ /***********************************************************************/
/* SetPos: Replace the table at the specified position. */ /* SetPos: Replace the table at the specified position. */
/***********************************************************************/ /***********************************************************************/
bool BLKFAM::SetPos(PGLOBAL g, int pos) bool BLKFAM::SetPos(PGLOBAL g, int)
{ {
strcpy(g->Message, "Blocked variable tables cannot be used indexed"); strcpy(g->Message, "Blocked variable tables cannot be used indexed");
return true; return true;
@@ -1353,7 +1353,7 @@ bool BLKFAM::SetPos(PGLOBAL g, int pos)
/* Record file position in case of UPDATE or DELETE. */ /* Record file position in case of UPDATE or DELETE. */
/* Not used yet for blocked tables. */ /* Not used yet for blocked tables. */
/***********************************************************************/ /***********************************************************************/
bool BLKFAM::RecordPos(PGLOBAL g) bool BLKFAM::RecordPos(PGLOBAL)
{ {
Fpos = (CurNum + Nrec * CurBlk); // Computed file index Fpos = (CurNum + Nrec * CurBlk); // Computed file index
return false; return false;
@@ -1362,7 +1362,7 @@ bool BLKFAM::RecordPos(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Skip one record in file. */ /* Skip one record in file. */
/***********************************************************************/ /***********************************************************************/
int BLKFAM::SkipRecord(PGLOBAL g, bool header) int BLKFAM::SkipRecord(PGLOBAL, bool header)
{ {
if (header) { if (header) {
// For Delete // For Delete

View File

@@ -57,8 +57,8 @@ class DllExport TXTFAM : public BLOCK {
virtual int GetFileLength(PGLOBAL g); virtual int GetFileLength(PGLOBAL g);
virtual int Cardinality(PGLOBAL g); virtual int Cardinality(PGLOBAL g);
virtual int MaxBlkSize(PGLOBAL g, int s); virtual int MaxBlkSize(PGLOBAL g, int s);
virtual bool AllocateBuffer(PGLOBAL g) {return false;} virtual bool AllocateBuffer(PGLOBAL) {return false;}
virtual void ResetBuffer(PGLOBAL g) {} virtual void ResetBuffer(PGLOBAL) {}
virtual int GetNerr(void) {return 0;} virtual int GetNerr(void) {return 0;}
virtual int GetRowID(void) = 0; virtual int GetRowID(void) = 0;
virtual bool RecordPos(PGLOBAL g) = 0; virtual bool RecordPos(PGLOBAL g) = 0;

View File

@@ -279,7 +279,7 @@ bool VCTFAM::SetBlockInfo(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Use BlockTest to reduce the table estimated size. */ /* Use BlockTest to reduce the table estimated size. */
/***********************************************************************/ /***********************************************************************/
int VCTFAM::MaxBlkSize(PGLOBAL g, int s) int VCTFAM::MaxBlkSize(PGLOBAL g, int)
{ {
int rc = RC_OK, savcur = CurBlk; int rc = RC_OK, savcur = CurBlk;
int size; int size;
@@ -1716,7 +1716,7 @@ int VCMFAM::DeleteRecords(PGLOBAL g, int irc)
/***********************************************************************/ /***********************************************************************/
/* Move intermediate deleted or updated lines. */ /* Move intermediate deleted or updated lines. */
/***********************************************************************/ /***********************************************************************/
bool VCMFAM::MoveIntermediateLines(PGLOBAL g, bool *b) bool VCMFAM::MoveIntermediateLines(PGLOBAL, bool *)
{ {
int i, m, n; int i, m, n;
@@ -1765,7 +1765,7 @@ bool VCMFAM::MoveIntermediateLines(PGLOBAL g, bool *b)
/***********************************************************************/ /***********************************************************************/
/* Data Base close routine for VMP access method. */ /* Data Base close routine for VMP access method. */
/***********************************************************************/ /***********************************************************************/
void VCMFAM::CloseTableFile(PGLOBAL g, bool abort) void VCMFAM::CloseTableFile(PGLOBAL g, bool)
{ {
int wrc = RC_OK; int wrc = RC_OK;
MODE mode = Tdbp->GetMode(); MODE mode = Tdbp->GetMode();
@@ -1800,7 +1800,7 @@ void VCMFAM::CloseTableFile(PGLOBAL g, bool abort)
/***********************************************************************/ /***********************************************************************/
/* ReadBlock: Read column values from current block. */ /* ReadBlock: Read column values from current block. */
/***********************************************************************/ /***********************************************************************/
bool VCMFAM::ReadBlock(PGLOBAL g, PVCTCOL colp) bool VCMFAM::ReadBlock(PGLOBAL, PVCTCOL colp)
{ {
char *mempos; char *mempos;
int i = colp->Index - 1; int i = colp->Index - 1;
@@ -1830,7 +1830,7 @@ bool VCMFAM::ReadBlock(PGLOBAL g, PVCTCOL colp)
/* the mapped file, except when checking for Update but in this case */ /* the mapped file, except when checking for Update but in this case */
/* we do not want to write back the modifications either. */ /* we do not want to write back the modifications either. */
/***********************************************************************/ /***********************************************************************/
bool VCMFAM::WriteBlock(PGLOBAL g, PVCTCOL colp) bool VCMFAM::WriteBlock(PGLOBAL, PVCTCOL colp __attribute__((unused)))
{ {
#if defined(_DEBUG) #if defined(_DEBUG)
char *mempos; char *mempos;
@@ -2124,7 +2124,7 @@ bool VECFAM::AllocateBuffer(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Do initial action when inserting. */ /* Do initial action when inserting. */
/***********************************************************************/ /***********************************************************************/
bool VECFAM::InitInsert(PGLOBAL g) bool VECFAM::InitInsert(PGLOBAL)
{ {
// We come here in MODE_INSERT only // We come here in MODE_INSERT only
CurBlk = 0; CurBlk = 0;
@@ -2365,7 +2365,7 @@ bool VECFAM::MoveLines(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Move intermediate deleted or updated lines. */ /* Move intermediate deleted or updated lines. */
/***********************************************************************/ /***********************************************************************/
bool VECFAM::MoveIntermediateLines(PGLOBAL g, bool *bn) bool VECFAM::MoveIntermediateLines(PGLOBAL g, bool *)
{ {
int i, n; int i, n;
bool b = false; bool b = false;
@@ -3009,7 +3009,7 @@ int VMPFAM::DeleteRecords(PGLOBAL g, int irc)
/***********************************************************************/ /***********************************************************************/
/* Data Base close routine for VMP access method. */ /* Data Base close routine for VMP access method. */
/***********************************************************************/ /***********************************************************************/
void VMPFAM::CloseTableFile(PGLOBAL g, bool abort) void VMPFAM::CloseTableFile(PGLOBAL g, bool)
{ {
if (Tdbp->GetMode() == MODE_DELETE) { if (Tdbp->GetMode() == MODE_DELETE) {
// Set Block and Nrec values for TDBVCT::MakeBlockValues // Set Block and Nrec values for TDBVCT::MakeBlockValues

View File

@@ -5,7 +5,7 @@
/* */ /* */
/* COPYRIGHT: */ /* COPYRIGHT: */
/* ---------- */ /* ---------- */
/* (C) Copyright to the author Olivier BERTRAND 2005-2014 */ /* (C) Copyright to the author Olivier BERTRAND 2005-2015 */
/* */ /* */
/* WHAT THIS PROGRAM DOES: */ /* WHAT THIS PROGRAM DOES: */
/* ----------------------- */ /* ----------------------- */
@@ -247,7 +247,7 @@ int ZIPFAM::GetNextPos(void)
/***********************************************************************/ /***********************************************************************/
/* SetPos: Replace the table at the specified position. */ /* SetPos: Replace the table at the specified position. */
/***********************************************************************/ /***********************************************************************/
bool ZIPFAM::SetPos(PGLOBAL g, int pos) bool ZIPFAM::SetPos(PGLOBAL g, int pos __attribute__((unused)))
{ {
sprintf(g->Message, MSG(NO_SETPOS_YET), "ZIP"); sprintf(g->Message, MSG(NO_SETPOS_YET), "ZIP");
return true; return true;
@@ -267,7 +267,7 @@ bool ZIPFAM::SetPos(PGLOBAL g, int pos)
/***********************************************************************/ /***********************************************************************/
/* Record file position in case of UPDATE or DELETE. */ /* Record file position in case of UPDATE or DELETE. */
/***********************************************************************/ /***********************************************************************/
bool ZIPFAM::RecordPos(PGLOBAL g) bool ZIPFAM::RecordPos(PGLOBAL)
{ {
Zpos = gztell(Zfile); Zpos = gztell(Zfile);
return false; return false;
@@ -376,7 +376,7 @@ int ZIPFAM::WriteBuffer(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Data Base delete line routine for ZDOS access method. (NIY) */ /* Data Base delete line routine for ZDOS access method. (NIY) */
/***********************************************************************/ /***********************************************************************/
int ZIPFAM::DeleteRecords(PGLOBAL g, int irc) int ZIPFAM::DeleteRecords(PGLOBAL g, int)
{ {
strcpy(g->Message, MSG(NO_ZIP_DELETE)); strcpy(g->Message, MSG(NO_ZIP_DELETE));
return RC_FX; return RC_FX;
@@ -385,7 +385,7 @@ int ZIPFAM::DeleteRecords(PGLOBAL g, int irc)
/***********************************************************************/ /***********************************************************************/
/* Data Base close routine for DOS access method. */ /* Data Base close routine for DOS access method. */
/***********************************************************************/ /***********************************************************************/
void ZIPFAM::CloseTableFile(PGLOBAL g, bool abort) void ZIPFAM::CloseTableFile(PGLOBAL, bool)
{ {
int rc = gzclose(Zfile); int rc = gzclose(Zfile);
@@ -431,7 +431,7 @@ ZBKFAM::ZBKFAM(PZBKFAM txfp) : ZIPFAM(txfp)
/***********************************************************************/ /***********************************************************************/
/* Use BlockTest to reduce the table estimated size. */ /* Use BlockTest to reduce the table estimated size. */
/***********************************************************************/ /***********************************************************************/
int ZBKFAM::MaxBlkSize(PGLOBAL g, int s) int ZBKFAM::MaxBlkSize(PGLOBAL g, int)
{ {
int rc = RC_OK, savcur = CurBlk; int rc = RC_OK, savcur = CurBlk;
int size; int size;
@@ -503,7 +503,7 @@ int ZBKFAM::GetPos(void)
/* Record file position in case of UPDATE or DELETE. */ /* Record file position in case of UPDATE or DELETE. */
/* Not used yet for fixed tables. */ /* Not used yet for fixed tables. */
/***********************************************************************/ /***********************************************************************/
bool ZBKFAM::RecordPos(PGLOBAL g) bool ZBKFAM::RecordPos(PGLOBAL /*g*/)
{ {
//strcpy(g->Message, "RecordPos not implemented for zip blocked tables"); //strcpy(g->Message, "RecordPos not implemented for zip blocked tables");
//return true; //return true;
@@ -513,7 +513,7 @@ bool ZBKFAM::RecordPos(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Skip one record in file. */ /* Skip one record in file. */
/***********************************************************************/ /***********************************************************************/
int ZBKFAM::SkipRecord(PGLOBAL g, bool header) int ZBKFAM::SkipRecord(PGLOBAL /*g*/, bool)
{ {
//strcpy(g->Message, "SkipRecord not implemented for zip blocked tables"); //strcpy(g->Message, "SkipRecord not implemented for zip blocked tables");
//return RC_FX; //return RC_FX;
@@ -668,7 +668,7 @@ int ZBKFAM::DeleteRecords(PGLOBAL g, int irc)
/***********************************************************************/ /***********************************************************************/
/* Data Base close routine for ZBK access method. */ /* Data Base close routine for ZBK access method. */
/***********************************************************************/ /***********************************************************************/
void ZBKFAM::CloseTableFile(PGLOBAL g, bool abort) void ZBKFAM::CloseTableFile(PGLOBAL g, bool)
{ {
int rc = RC_OK; int rc = RC_OK;
@@ -1060,7 +1060,7 @@ int ZLBFAM::GetNextPos(void)
/***********************************************************************/ /***********************************************************************/
/* SetPos: Replace the table at the specified position. */ /* SetPos: Replace the table at the specified position. */
/***********************************************************************/ /***********************************************************************/
bool ZLBFAM::SetPos(PGLOBAL g, int pos) bool ZLBFAM::SetPos(PGLOBAL g, int pos __attribute__((unused)))
{ {
sprintf(g->Message, MSG(NO_SETPOS_YET), "ZIP"); sprintf(g->Message, MSG(NO_SETPOS_YET), "ZIP");
return true; return true;
@@ -1350,7 +1350,7 @@ bool ZLBFAM::WriteCompressedBuffer(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Table file close routine for DOS access method. */ /* Table file close routine for DOS access method. */
/***********************************************************************/ /***********************************************************************/
void ZLBFAM::CloseTableFile(PGLOBAL g, bool abort) void ZLBFAM::CloseTableFile(PGLOBAL g, bool)
{ {
int rc = RC_OK; int rc = RC_OK;

View File

@@ -1,7 +1,7 @@
/*************** Filter H Declares Source Code File (.H) ***************/ /*************** Filter H Declares Source Code File (.H) ***************/
/* Name: FILTER.H Version 1.2 */ /* Name: FILTER.H Version 1.2 */
/* */ /* */
/* (C) Copyright to the author Olivier BERTRAND 2010-2012 */ /* (C) Copyright to the author Olivier BERTRAND 2010-2015 */
/* */ /* */
/* This file contains the FILTER and derived classes declares. */ /* This file contains the FILTER and derived classes declares. */
/***********************************************************************/ /***********************************************************************/
@@ -105,7 +105,7 @@ class FILTERX : public FILTER {
virtual bool Eval(PGLOBAL) = 0; // just to prevent direct FILTERX use virtual bool Eval(PGLOBAL) = 0; // just to prevent direct FILTERX use
// Fake operator new used to change a filter into a derived filter // Fake operator new used to change a filter into a derived filter
void * operator new(size_t size, PFIL filp) {return filp;} void * operator new(size_t, PFIL filp) {return filp;}
#if defined(WIN32) #if defined(WIN32)
// Avoid warning C4291 by defining a matching dummy delete operator // Avoid warning C4291 by defining a matching dummy delete operator
void operator delete(void *, PFIL) {} void operator delete(void *, PFIL) {}

View File

@@ -193,7 +193,7 @@ extern "C" {
/* Utility functions. */ /* Utility functions. */
/***********************************************************************/ /***********************************************************************/
PQRYRES OEMColumns(PGLOBAL g, PTOS topt, char *tab, char *db, bool info); PQRYRES OEMColumns(PGLOBAL g, PTOS topt, char *tab, char *db, bool info);
PQRYRES VirColumns(PGLOBAL g, char *tab, char *db, bool info); PQRYRES VirColumns(PGLOBAL g, bool info);
PQRYRES JSONColumns(PGLOBAL g, char *dp, const char *fn, char *objn, PQRYRES JSONColumns(PGLOBAL g, char *dp, const char *fn, char *objn,
int pretty, int lvl, int mxr, bool info); int pretty, int lvl, int mxr, bool info);
PQRYRES XMLColumns(PGLOBAL g, char *dp, char *tab, PTOS topt, bool info); PQRYRES XMLColumns(PGLOBAL g, char *dp, char *tab, PTOS topt, bool info);
@@ -349,7 +349,7 @@ int GetConvSize(void) {return THDVAR(current_thd, conv_size);}
TYPCONV GetTypeConv(void) {return (TYPCONV)THDVAR(current_thd, type_conv);} TYPCONV GetTypeConv(void) {return (TYPCONV)THDVAR(current_thd, type_conv);}
uint GetJsonGrpSize(void) {return THDVAR(current_thd, json_grp_size);} uint GetJsonGrpSize(void) {return THDVAR(current_thd, json_grp_size);}
uint GetWorkSize(void) {return THDVAR(current_thd, work_size);} uint GetWorkSize(void) {return THDVAR(current_thd, work_size);}
void SetWorkSize(uint n) void SetWorkSize(uint)
{ {
// Changing the session variable value seems to be impossible here // Changing the session variable value seems to be impossible here
// and should be done in a check function // and should be done in a check function
@@ -664,7 +664,7 @@ static int connect_init_func(void *p)
@brief @brief
Plugin clean up Plugin clean up
*/ */
static int connect_done_func(void *p) static int connect_done_func(void *)
{ {
int error= 0; int error= 0;
PCONNECT pc, pn; PCONNECT pc, pn;
@@ -822,8 +822,6 @@ ha_connect::~ha_connect(void)
/****************************************************************************/ /****************************************************************************/
static PCONNECT GetUser(THD *thd, PCONNECT xp) static PCONNECT GetUser(THD *thd, PCONNECT xp)
{ {
const char *dbn= NULL;
if (!thd) if (!thd)
return NULL; return NULL;
@@ -835,7 +833,7 @@ static PCONNECT GetUser(THD *thd, PCONNECT xp)
break; break;
if (!xp) { if (!xp) {
xp= new user_connect(thd, dbn); xp= new user_connect(thd);
if (xp->user_init()) { if (xp->user_init()) {
delete xp; delete xp;
@@ -908,7 +906,8 @@ const char *ha_connect::index_type(uint inx)
If all_parts is set, MySQL wants to know the flags for the combined If all_parts is set, MySQL wants to know the flags for the combined
index, up to and including 'part'. index, up to and including 'part'.
*/ */
ulong ha_connect::index_flags(uint inx, uint part, bool all_parts) const //ong ha_connect::index_flags(uint inx, uint part, bool all_parts) const
ulong ha_connect::index_flags(uint, uint, bool) const
{ {
ulong flags= HA_READ_NEXT | HA_READ_RANGE | ulong flags= HA_READ_NEXT | HA_READ_RANGE |
HA_KEYREAD_ONLY | HA_KEY_SCAN_NOT_ROR; HA_KEYREAD_ONLY | HA_KEY_SCAN_NOT_ROR;
@@ -2008,7 +2007,7 @@ int ha_connect::MakeRecord(char *buf)
/***********************************************************************/ /***********************************************************************/
/* Set row values from a MySQL pseudo record. Specific to MySQL. */ /* Set row values from a MySQL pseudo record. Specific to MySQL. */
/***********************************************************************/ /***********************************************************************/
int ha_connect::ScanRecord(PGLOBAL g, uchar *buf) int ha_connect::ScanRecord(PGLOBAL g, uchar *)
{ {
char attr_buffer[1024]; char attr_buffer[1024];
char data_buffer[1024]; char data_buffer[1024];
@@ -2150,7 +2149,7 @@ int ha_connect::ScanRecord(PGLOBAL g, uchar *buf)
/* Check change in index column. Specific to MySQL. */ /* Check change in index column. Specific to MySQL. */
/* Should be elaborated to check for real changes. */ /* Should be elaborated to check for real changes. */
/***********************************************************************/ /***********************************************************************/
int ha_connect::CheckRecord(PGLOBAL g, const uchar *oldbuf, uchar *newbuf) int ha_connect::CheckRecord(PGLOBAL g, const uchar *, uchar *newbuf)
{ {
return ScanRecord(g, newbuf); return ScanRecord(g, newbuf);
} // end of dummy CheckRecord } // end of dummy CheckRecord
@@ -2923,7 +2922,7 @@ bool ha_connect::get_error_message(int error, String* buf)
&dummy_errors); &dummy_errors);
if (trace) if (trace)
htrc("GEM(%u): %s\n", len, g->Message); htrc("GEM(%d): len=%u %s\n", error, len, g->Message);
msg[len]= '\0'; msg[len]= '\0';
buf->copy(msg, (uint)strlen(msg), system_charset_info); buf->copy(msg, (uint)strlen(msg), system_charset_info);
@@ -3019,7 +3018,7 @@ int ha_connect::open(const char *name, int mode, uint test_if_locked)
@brief @brief
Make the indexes for this table Make the indexes for this table
*/ */
int ha_connect::optimize(THD* thd, HA_CHECK_OPT* check_opt) int ha_connect::optimize(THD* thd, HA_CHECK_OPT*)
{ {
int rc= 0; int rc= 0;
PGLOBAL& g= xp->g; PGLOBAL& g= xp->g;
@@ -3223,7 +3222,7 @@ int ha_connect::update_row(const uchar *old_data, uchar *new_data)
@see @see
sql_acl.cc, sql_udf.cc, sql_delete.cc, sql_insert.cc and sql_select.cc sql_acl.cc, sql_udf.cc, sql_delete.cc, sql_insert.cc and sql_select.cc
*/ */
int ha_connect::delete_row(const uchar *buf) int ha_connect::delete_row(const uchar *)
{ {
int rc= 0; int rc= 0;
DBUG_ENTER("ha_connect::delete_row"); DBUG_ENTER("ha_connect::delete_row");
@@ -3503,7 +3502,8 @@ int ha_connect::index_last(uchar *buf)
/****************************************************************************/ /****************************************************************************/
/* This is called to get more rows having the same index value. */ /* This is called to get more rows having the same index value. */
/****************************************************************************/ /****************************************************************************/
int ha_connect::index_next_same(uchar *buf, const uchar *key, uint keylen) //t ha_connect::index_next_same(uchar *buf, const uchar *key, uint keylen)
int ha_connect::index_next_same(uchar *buf, const uchar *, uint)
{ {
int rc; int rc;
DBUG_ENTER("ha_connect::index_next_same"); DBUG_ENTER("ha_connect::index_next_same");
@@ -3693,7 +3693,7 @@ int ha_connect::rnd_next(uchar *buf)
@see @see
filesort.cc, sql_select.cc, sql_delete.cc and sql_update.cc filesort.cc, sql_select.cc, sql_delete.cc and sql_update.cc
*/ */
void ha_connect::position(const uchar *record) void ha_connect::position(const uchar *)
{ {
DBUG_ENTER("ha_connect::position"); DBUG_ENTER("ha_connect::position");
//if (((PTDBASE)tdbp)->GetDef()->Indexable()) //if (((PTDBASE)tdbp)->GetDef()->Indexable())
@@ -3876,7 +3876,7 @@ int ha_connect::info(uint flag)
@see @see
ha_innodb.cc ha_innodb.cc
*/ */
int ha_connect::extra(enum ha_extra_function operation) int ha_connect::extra(enum ha_extra_function /*operation*/)
{ {
DBUG_ENTER("ha_connect::extra"); DBUG_ENTER("ha_connect::extra");
DBUG_RETURN(0); DBUG_RETURN(0);
@@ -4484,7 +4484,7 @@ int ha_connect::external_lock(THD *thd, int lock_type)
@see @see
get_lock_data() in lock.cc get_lock_data() in lock.cc
*/ */
THR_LOCK_DATA **ha_connect::store_lock(THD *thd, THR_LOCK_DATA **ha_connect::store_lock(THD *,
THR_LOCK_DATA **to, THR_LOCK_DATA **to,
enum thr_lock_type lock_type) enum thr_lock_type lock_type)
{ {
@@ -4901,7 +4901,7 @@ static int init_table_share(THD* thd,
oom|= sql->append(' '); oom|= sql->append(' ');
oom|= sql->append(opt->name); oom|= sql->append(opt->name);
oom|= sql->append('='); oom|= sql->append('=');
oom|= sql->append(vull ? "ON" : "OFF"); oom|= sql->append(vull ? "YES" : "NO");
} // endif vull } // endif vull
break; break;
@@ -4955,7 +4955,7 @@ static int init_table_share(THD* thd,
@note @note
this function is no more called in case of CREATE .. SELECT this function is no more called in case of CREATE .. SELECT
*/ */
static int connect_assisted_discovery(handlerton *hton, THD* thd, static int connect_assisted_discovery(handlerton *, THD* thd,
TABLE_SHARE *table_s, TABLE_SHARE *table_s,
HA_CREATE_INFO *create_info) HA_CREATE_INFO *create_info)
{ {
@@ -4967,8 +4967,8 @@ static int connect_assisted_discovery(handlerton *hton, THD* thd,
#if defined(WIN32) #if defined(WIN32)
char *nsp= NULL, *cls= NULL; char *nsp= NULL, *cls= NULL;
#endif // WIN32 #endif // WIN32
int port= 0, hdr= 0, mxr __attribute__((unused))= 0, mxe= 0, rc= 0; int port= 0, hdr= 0, mxr= 0, mxe= 0, rc= 0, lvl= 0;
int cop __attribute__((unused))= 0, pty= 2, lrecl= 0, lvl= 0; int cop __attribute__((unused))= 0, pty= 2, lrecl= 0;
#if defined(ODBC_SUPPORT) #if defined(ODBC_SUPPORT)
POPARM sop = NULL; POPARM sop = NULL;
char *ucnc = NULL; char *ucnc = NULL;
@@ -5337,7 +5337,7 @@ static int connect_assisted_discovery(handlerton *hton, THD* thd,
break; break;
#endif // PIVOT_SUPPORT #endif // PIVOT_SUPPORT
case TAB_VIR: case TAB_VIR:
qrp= VirColumns(g, tab, (char*)db, fnc == FNC_COL); qrp= VirColumns(g, fnc == FNC_COL);
break; break;
case TAB_JSON: case TAB_JSON:
qrp= JSONColumns(g, (char*)db, fn, objn, pty, lrecl, lvl, fnc == FNC_COL); qrp= JSONColumns(g, (char*)db, fn, objn, pty, lrecl, lvl, fnc == FNC_COL);
@@ -6464,8 +6464,7 @@ fin:
@note: This function is no more called by check_if_supported_inplace_alter @note: This function is no more called by check_if_supported_inplace_alter
*/ */
bool ha_connect::check_if_incompatible_data(HA_CREATE_INFO *info, bool ha_connect::check_if_incompatible_data(HA_CREATE_INFO *, uint)
uint table_changes)
{ {
DBUG_ENTER("ha_connect::check_if_incompatible_data"); DBUG_ENTER("ha_connect::check_if_incompatible_data");
// TO DO: really implement and check it. // TO DO: really implement and check it.

View File

@@ -296,7 +296,7 @@ my_bool Json_Value_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
} // end of Json_Value_init } // end of Json_Value_init
char *Json_Value(UDF_INIT *initid, UDF_ARGS *args, char *result, char *Json_Value(UDF_INIT *initid, UDF_ARGS *args, char *result,
unsigned long *res_length, char *is_null, char *error) unsigned long *res_length, char *, char *)
{ {
char *str; char *str;
PJVAL jvp; PJVAL jvp;
@@ -329,7 +329,7 @@ my_bool Json_Array_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
} // end of Json_Array_init } // end of Json_Array_init
char *Json_Array(UDF_INIT *initid, UDF_ARGS *args, char *result, char *Json_Array(UDF_INIT *initid, UDF_ARGS *args, char *result,
unsigned long *res_length, char *is_null, char *error) unsigned long *res_length, char *, char *)
{ {
char *str; char *str;
uint i; uint i;
@@ -376,7 +376,7 @@ my_bool Json_Array_Add_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
} // end of Json_Array_Add_init } // end of Json_Array_Add_init
char *Json_Array_Add(UDF_INIT *initid, UDF_ARGS *args, char *result, char *Json_Array_Add(UDF_INIT *initid, UDF_ARGS *args, char *result,
unsigned long *res_length, char *is_null, char *error) unsigned long *res_length, char *, char *)
{ {
char *str; char *str;
PJVAL jvp; PJVAL jvp;
@@ -429,7 +429,7 @@ my_bool Json_Array_Delete_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
} // end of Json_Array_Delete_init } // end of Json_Array_Delete_init
char *Json_Array_Delete(UDF_INIT *initid, UDF_ARGS *args, char *result, char *Json_Array_Delete(UDF_INIT *initid, UDF_ARGS *args, char *result,
unsigned long *res_length, char *is_null, char *error) unsigned long *res_length, char *, char *)
{ {
char *str; char *str;
int n; int n;
@@ -482,7 +482,7 @@ my_bool Json_Object_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
} // end of Json_Object_init } // end of Json_Object_init
char *Json_Object(UDF_INIT *initid, UDF_ARGS *args, char *result, char *Json_Object(UDF_INIT *initid, UDF_ARGS *args, char *result,
unsigned long *res_length, char *is_null, char *error) unsigned long *res_length, char *, char *)
{ {
char *str; char *str;
uint i; uint i;
@@ -520,7 +520,7 @@ my_bool Json_Object_Nonull_init(UDF_INIT *initid, UDF_ARGS *args,
} // end of Json_Object_Nonull_init } // end of Json_Object_Nonull_init
char *Json_Object_Nonull(UDF_INIT *initid, UDF_ARGS *args, char *result, char *Json_Object_Nonull(UDF_INIT *initid, UDF_ARGS *args, char *result,
unsigned long *res_length, char *is_null, char *error) unsigned long *res_length, char *, char *)
{ {
char *str; char *str;
uint i; uint i;
@@ -574,8 +574,7 @@ my_bool Json_Array_Grp_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
return false; return false;
} // end of Json_Array_Grp_init } // end of Json_Array_Grp_init
void Json_Array_Grp_add(UDF_INIT *initid, UDF_ARGS *args, void Json_Array_Grp_add(UDF_INIT *initid, UDF_ARGS *args, char*, char*)
char *is_null, char *error)
{ {
PGLOBAL g = (PGLOBAL)initid->ptr; PGLOBAL g = (PGLOBAL)initid->ptr;
PJAR arp = (PJAR)g->Activityp; PJAR arp = (PJAR)g->Activityp;
@@ -585,8 +584,8 @@ void Json_Array_Grp_add(UDF_INIT *initid, UDF_ARGS *args,
} // end of Json_Array_Grp_add } // end of Json_Array_Grp_add
char *Json_Array_Grp(UDF_INIT *initid, UDF_ARGS *args, char *result, char *Json_Array_Grp(UDF_INIT *initid, UDF_ARGS *, char *result,
unsigned long *res_length, char *is_null, char *error) unsigned long *res_length, char *, char *)
{ {
char *str; char *str;
PGLOBAL g = (PGLOBAL)initid->ptr; PGLOBAL g = (PGLOBAL)initid->ptr;
@@ -605,7 +604,7 @@ char *Json_Array_Grp(UDF_INIT *initid, UDF_ARGS *args, char *result,
return str; return str;
} // end of Json_Array_Grp } // end of Json_Array_Grp
void Json_Array_Grp_clear(UDF_INIT *initid, char *is_null, char *error) void Json_Array_Grp_clear(UDF_INIT *initid, char*, char*)
{ {
PGLOBAL g = (PGLOBAL)initid->ptr; PGLOBAL g = (PGLOBAL)initid->ptr;
@@ -646,8 +645,7 @@ my_bool Json_Object_Grp_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
return false; return false;
} // end of Json_Object_Grp_init } // end of Json_Object_Grp_init
void Json_Object_Grp_add(UDF_INIT *initid, UDF_ARGS *args, void Json_Object_Grp_add(UDF_INIT *initid, UDF_ARGS *args, char*, char*)
char *is_null, char *error)
{ {
PGLOBAL g = (PGLOBAL)initid->ptr; PGLOBAL g = (PGLOBAL)initid->ptr;
PJOB objp = (PJOB)g->Activityp; PJOB objp = (PJOB)g->Activityp;
@@ -657,8 +655,8 @@ void Json_Object_Grp_add(UDF_INIT *initid, UDF_ARGS *args,
} // end of Json_Object_Grp_add } // end of Json_Object_Grp_add
char *Json_Object_Grp(UDF_INIT *initid, UDF_ARGS *args, char *result, char *Json_Object_Grp(UDF_INIT *initid, UDF_ARGS *, char *result,
unsigned long *res_length, char *is_null, char *error) unsigned long *res_length, char *, char *)
{ {
char *str; char *str;
PGLOBAL g = (PGLOBAL)initid->ptr; PGLOBAL g = (PGLOBAL)initid->ptr;
@@ -675,7 +673,7 @@ char *Json_Object_Grp(UDF_INIT *initid, UDF_ARGS *args, char *result,
return str; return str;
} // end of Json_Object_Grp } // end of Json_Object_Grp
void Json_Object_Grp_clear(UDF_INIT *initid, char *is_null, char *error) void Json_Object_Grp_clear(UDF_INIT *initid, char*, char*)
{ {
PGLOBAL g = (PGLOBAL)initid->ptr; PGLOBAL g = (PGLOBAL)initid->ptr;

View File

@@ -1,4 +1,4 @@
/* Copyright (C) Olivier Bertrand 2004 - 2014 /* Copyright (C) Olivier Bertrand 2004 - 2015
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
/* ------------- */ /* ------------- */
/* Version 1.4 */ /* Version 1.4 */
/* */ /* */
/* Author: Olivier Bertrand 2012 - 2014 */ /* Author: Olivier Bertrand 2012 - 2015 */
/* */ /* */
/* WHAT THIS PROGRAM DOES: */ /* WHAT THIS PROGRAM DOES: */
/* ----------------------- */ /* ----------------------- */
@@ -478,7 +478,7 @@ void MYCAT::SetPath(PGLOBAL g, LPCSTR *datapath, const char *path)
/* Look for a table descriptor matching the name and type. */ /* Look for a table descriptor matching the name and type. */
/***********************************************************************/ /***********************************************************************/
PRELDEF MYCAT::GetTableDesc(PGLOBAL g, LPCSTR name, PRELDEF MYCAT::GetTableDesc(PGLOBAL g, LPCSTR name,
LPCSTR type, PRELDEF *prp) LPCSTR type, PRELDEF *)
{ {
if (trace) if (trace)
printf("GetTableDesc: name=%s am=%s\n", name, SVP(type)); printf("GetTableDesc: name=%s am=%s\n", name, SVP(type));
@@ -589,7 +589,7 @@ PTDB MYCAT::GetTable(PGLOBAL g, PTABLE tablep, MODE mode, LPCSTR type)
/***********************************************************************/ /***********************************************************************/
/* ClearDB: Terminates Database usage. */ /* ClearDB: Terminates Database usage. */
/***********************************************************************/ /***********************************************************************/
void MYCAT::ClearDB(PGLOBAL g) void MYCAT::ClearDB(PGLOBAL)
{ {
} // end of ClearDB } // end of ClearDB

View File

@@ -1,4 +1,4 @@
/* Copyright (C) Olivier Bertrand 2004 - 2013 /* Copyright (C) Olivier Bertrand 2004 - 2015
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@@ -98,7 +98,7 @@ class MYCAT : public CATALOG {
void Reset(void); void Reset(void);
//void SetDataPath(PGLOBAL g, const char *path) //void SetDataPath(PGLOBAL g, const char *path)
// {SetPath(g, &DataPath, path);} // {SetPath(g, &DataPath, path);}
bool StoreIndex(PGLOBAL g, PTABDEF defp) {return false;} // Temporary bool StoreIndex(PGLOBAL, PTABDEF) {return false;} // Temporary
PRELDEF GetTableDesc(PGLOBAL g, LPCSTR name, PRELDEF GetTableDesc(PGLOBAL g, LPCSTR name,
LPCSTR type, PRELDEF *prp = NULL); LPCSTR type, PRELDEF *prp = NULL);
PTDB GetTable(PGLOBAL g, PTABLE tablep, PTDB GetTable(PGLOBAL g, PTABLE tablep,

View File

@@ -5,7 +5,7 @@
/* */ /* */
/* COPYRIGHT: */ /* COPYRIGHT: */
/* ---------- */ /* ---------- */
/* (C) Copyright to the author Olivier BERTRAND 2007-2014 */ /* (C) Copyright to the author Olivier BERTRAND 2007-2015 */
/* */ /* */
/* WHAT THIS PROGRAM DOES: */ /* WHAT THIS PROGRAM DOES: */
/* ----------------------- */ /* ----------------------- */
@@ -720,7 +720,7 @@ int MYSQLC::ExecSQL(PGLOBAL g, const char *query, int *w)
/***********************************************************************/ /***********************************************************************/
/* Get table size by executing "select count(*) from table_name". */ /* Get table size by executing "select count(*) from table_name". */
/***********************************************************************/ /***********************************************************************/
int MYSQLC::GetTableSize(PGLOBAL g, PSZ query) int MYSQLC::GetTableSize(PGLOBAL g __attribute__((unused)), PSZ query)
{ {
if (mysql_real_query(m_DB, query, strlen(query))) { if (mysql_real_query(m_DB, query, strlen(query))) {
#if defined(_DEBUG) #if defined(_DEBUG)

View File

@@ -888,7 +888,7 @@ FILE *PlugReopenFile(PGLOBAL g, PFBLOCK fp, LPCSTR md)
/* Close file routine: the purpose of this routine is to avoid */ /* Close file routine: the purpose of this routine is to avoid */
/* double closing that freeze the system on some Unix platforms. */ /* double closing that freeze the system on some Unix platforms. */
/***********************************************************************/ /***********************************************************************/
int PlugCloseFile(PGLOBAL g, PFBLOCK fp, bool all) int PlugCloseFile(PGLOBAL g __attribute__((unused)), PFBLOCK fp, bool all)
{ {
int rc = 0; int rc = 0;

View File

@@ -548,7 +548,7 @@ bool OEMDEF::DeleteTableFile(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Define: initialize the table definition block from XDB file. */ /* Define: initialize the table definition block from XDB file. */
/***********************************************************************/ /***********************************************************************/
bool OEMDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) bool OEMDEF::DefineAM(PGLOBAL g, LPCSTR, int)
{ {
Module = GetStringCatInfo(g, "Module", ""); Module = GetStringCatInfo(g, "Module", "");
Subtype = GetStringCatInfo(g, "Subtype", Module); Subtype = GetStringCatInfo(g, "Subtype", Module);
@@ -715,7 +715,7 @@ COLDEF::COLDEF(void) : COLCRT()
/***********************************************************************/ /***********************************************************************/
/* Define: initialize a column definition from a COLINFO structure. */ /* Define: initialize a column definition from a COLINFO structure. */
/***********************************************************************/ /***********************************************************************/
int COLDEF::Define(PGLOBAL g, void *memp, PCOLINFO cfp, int poff) int COLDEF::Define(PGLOBAL g, void *, PCOLINFO cfp, int poff)
{ {
Name = (PSZ)PlugDup(g, cfp->Name); Name = (PSZ)PlugDup(g, cfp->Name);

View File

@@ -1,7 +1,7 @@
/*************** RelDef H Declares Source Code File (.H) ***************/ /*************** RelDef H Declares Source Code File (.H) ***************/
/* Name: RELDEF.H Version 1.5 */ /* Name: RELDEF.H Version 1.5 */
/* */ /* */
/* (C) Copyright to the author Olivier BERTRAND 2004-2014 */ /* (C) Copyright to the author Olivier BERTRAND 2004-2015 */
/* */ /* */
/* This file contains the DEF classes definitions. */ /* This file contains the DEF classes definitions. */
/***********************************************************************/ /***********************************************************************/
@@ -89,7 +89,7 @@ class DllExport TABDEF : public RELDEF { /* Logical table descriptor */
bool IsReadOnly(void) {return Read_Only;} bool IsReadOnly(void) {return Read_Only;}
virtual AMT GetDefType(void) {return TYPE_AM_TAB;} virtual AMT GetDefType(void) {return TYPE_AM_TAB;}
virtual PIXDEF GetIndx(void) {return NULL;} virtual PIXDEF GetIndx(void) {return NULL;}
virtual void SetIndx(PIXDEF xp) {} virtual void SetIndx(PIXDEF) {}
virtual bool IsHuge(void) {return false;} virtual bool IsHuge(void) {return false;}
const CHARSET_INFO *data_charset() {return m_data_charset;} const CHARSET_INFO *data_charset() {return m_data_charset;}

View File

@@ -1,7 +1,7 @@
/************* TabCol C++ Functions Source Code File (.CPP) ************/ /************* TabCol C++ Functions Source Code File (.CPP) ************/
/* Name: TABCOL.CPP Version 2.7 */ /* Name: TABCOL.CPP Version 2.7 */
/* */ /* */
/* (C) Copyright to the author Olivier BERTRAND 1998-2013 */ /* (C) Copyright to the author Olivier BERTRAND 1998-2015 */
/* */ /* */
/* This file contains the PlugDB++ XTAB, COLUMN and XORDER methods. */ /* This file contains the PlugDB++ XTAB, COLUMN and XORDER methods. */
/***********************************************************************/ /***********************************************************************/
@@ -91,7 +91,7 @@ void XTAB::Print(PGLOBAL g, FILE *f, uint n)
/***********************************************************************/ /***********************************************************************/
/* Make string output of XTAB contents. */ /* Make string output of XTAB contents. */
/***********************************************************************/ /***********************************************************************/
void XTAB::Print(PGLOBAL g, char *ps, uint z) void XTAB::Print(PGLOBAL, char *ps, uint z)
{ {
char buf[128]; char buf[128];
int i, n = (int)z - 1; int i, n = (int)z - 1;
@@ -125,7 +125,7 @@ COLUMN::COLUMN(LPCSTR name) : Name(name)
/***********************************************************************/ /***********************************************************************/
/* COLUMN SetFormat: should never be called. */ /* COLUMN SetFormat: should never be called. */
/***********************************************************************/ /***********************************************************************/
bool COLUMN::SetFormat(PGLOBAL g, FORMAT& fmt) bool COLUMN::SetFormat(PGLOBAL g, FORMAT&)
{ {
strcpy(g->Message, MSG(NO_FORMAT_COL)); strcpy(g->Message, MSG(NO_FORMAT_COL));
return true; return true;
@@ -154,7 +154,7 @@ void COLUMN::Print(PGLOBAL g, FILE *f, uint n)
/***********************************************************************/ /***********************************************************************/
/* Make string output of COLUMN contents. */ /* Make string output of COLUMN contents. */
/***********************************************************************/ /***********************************************************************/
void COLUMN::Print(PGLOBAL g, char *ps, uint z) void COLUMN::Print(PGLOBAL, char *ps, uint z)
{ {
char buf[80]; char buf[80];

View File

@@ -5,7 +5,7 @@
/* */ /* */
/* COPYRIGHT: */ /* COPYRIGHT: */
/* ---------- */ /* ---------- */
/* (C) Copyright to the author Olivier BERTRAND 1998-2014 */ /* (C) Copyright to the author Olivier BERTRAND 1998-2015 */
/* */ /* */
/* WHAT THIS PROGRAM DOES: */ /* WHAT THIS PROGRAM DOES: */
/* ----------------------- */ /* ----------------------- */
@@ -117,7 +117,7 @@ DOSDEF::DOSDEF(void)
/***********************************************************************/ /***********************************************************************/
/* DefineAM: define specific AM block values from XDB file. */ /* DefineAM: define specific AM block values from XDB file. */
/***********************************************************************/ /***********************************************************************/
bool DOSDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) bool DOSDEF::DefineAM(PGLOBAL g, LPCSTR am, int)
{ {
char buf[8]; char buf[8];
bool map = (am && (*am == 'M' || *am == 'm')); bool map = (am && (*am == 'M' || *am == 'm'));
@@ -303,7 +303,7 @@ bool DOSDEF::DeleteIndexFile(PGLOBAL g, PIXDEF pxdf)
/***********************************************************************/ /***********************************************************************/
/* InvalidateIndex: mark all indexes as invalid. */ /* InvalidateIndex: mark all indexes as invalid. */
/***********************************************************************/ /***********************************************************************/
bool DOSDEF::InvalidateIndex(PGLOBAL g) bool DOSDEF::InvalidateIndex(PGLOBAL)
{ {
if (To_Indx) if (To_Indx)
for (PIXDEF xp = To_Indx; xp; xp = xp->Next) for (PIXDEF xp = To_Indx; xp; xp = xp->Next)
@@ -1736,15 +1736,16 @@ err:
/***********************************************************************/ /***********************************************************************/
/* Make a dynamic index. */ /* Make a dynamic index. */
/***********************************************************************/ /***********************************************************************/
bool TDBDOS::InitialyzeIndex(PGLOBAL g, PIXDEF xdp, bool sorted) bool TDBDOS::InitialyzeIndex(PGLOBAL g, volatile PIXDEF xdp, bool sorted)
{ {
int k, rc; int k, rc;
bool brc, dynamic; volatile bool dynamic;
bool brc;
PCOL colp; PCOL colp;
PCOLDEF cdp; PCOLDEF cdp;
PVAL valp; PVAL valp;
PXLOAD pxp; PXLOAD pxp;
PKXBASE kxp; volatile PKXBASE kxp;
PKPDEF kdp; PKPDEF kdp;
if (!xdp && !(xdp = To_Xdp)) { if (!xdp && !(xdp = To_Xdp)) {
@@ -1864,7 +1865,7 @@ int TDBDOS::GetProgCur(void)
/***********************************************************************/ /***********************************************************************/
/* RowNumber: return the ordinal number of the current row. */ /* RowNumber: return the ordinal number of the current row. */
/***********************************************************************/ /***********************************************************************/
int TDBDOS::RowNumber(PGLOBAL g, bool b) int TDBDOS::RowNumber(PGLOBAL g, bool)
{ {
if (To_Kindex) { if (To_Kindex) {
/*******************************************************************/ /*******************************************************************/
@@ -1944,7 +1945,7 @@ int TDBDOS::Cardinality(PGLOBAL g)
rec = ((PDOSDEF)To_Def)->Ending; rec = ((PDOSDEF)To_Def)->Ending;
if (AvgLen <= 0) // No given average estimate if (AvgLen <= 0) // No given average estimate
rec += EstimatedLength(g); rec += EstimatedLength();
else // An estimate was given for the average record length else // An estimate was given for the average record length
rec += AvgLen; rec += AvgLen;
@@ -1988,7 +1989,7 @@ int TDBDOS::GetMaxSize(PGLOBAL g)
/* Estimate the number of lines in the table (if not known) by */ /* Estimate the number of lines in the table (if not known) by */
/* dividing the file length by minimum record length. */ /* dividing the file length by minimum record length. */
/*****************************************************************/ /*****************************************************************/
rec = EstimatedLength(g) + ((PDOSDEF)To_Def)->Ending; rec = EstimatedLength() + ((PDOSDEF)To_Def)->Ending;
MaxSize = (len + rec - 1) / rec; MaxSize = (len + rec - 1) / rec;
if (trace) if (trace)
@@ -2005,7 +2006,7 @@ int TDBDOS::GetMaxSize(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* DOS EstimatedLength. Returns an estimated minimum line length. */ /* DOS EstimatedLength. Returns an estimated minimum line length. */
/***********************************************************************/ /***********************************************************************/
int TDBDOS::EstimatedLength(PGLOBAL g) int TDBDOS::EstimatedLength(void)
{ {
int dep = 0; int dep = 0;
PCOLDEF cdp = To_Def->GetCols(); PCOLDEF cdp = To_Def->GetCols();
@@ -2023,7 +2024,7 @@ int TDBDOS::EstimatedLength(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* DOS tables favor the use temporary files for Update. */ /* DOS tables favor the use temporary files for Update. */
/***********************************************************************/ /***********************************************************************/
bool TDBDOS::IsUsingTemp(PGLOBAL g) bool TDBDOS::IsUsingTemp(PGLOBAL)
{ {
USETEMP utp = UseTemp(); USETEMP utp = UseTemp();
@@ -2183,7 +2184,7 @@ int TDBDOS::ReadDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* PrepareWriting: Prepare the line to write. */ /* PrepareWriting: Prepare the line to write. */
/***********************************************************************/ /***********************************************************************/
bool TDBDOS::PrepareWriting(PGLOBAL g) bool TDBDOS::PrepareWriting(PGLOBAL)
{ {
if (!Ftype && (Mode == MODE_INSERT || Txfp->GetUseTemp())) { if (!Ftype && (Mode == MODE_INSERT || Txfp->GetUseTemp())) {
char *p; char *p;

View File

@@ -1,7 +1,7 @@
/*************** TabDos H Declares Source Code File (.H) ***************/ /*************** TabDos H Declares Source Code File (.H) ***************/
/* Name: TABDOS.H Version 3.3 */ /* Name: TABDOS.H Version 3.3 */
/* */ /* */
/* (C) Copyright to the author Olivier BERTRAND 1999-2014 */ /* (C) Copyright to the author Olivier BERTRAND 1999-2015 */
/* */ /* */
/* This file contains the DOS classes declares. */ /* This file contains the DOS classes declares. */
/***********************************************************************/ /***********************************************************************/
@@ -123,11 +123,11 @@ class DllExport TDBDOS : public TDBASE {
// Implementation // Implementation
virtual AMT GetAmType(void) {return Txfp->GetAmType();} virtual AMT GetAmType(void) {return Txfp->GetAmType();}
virtual PSZ GetFile(PGLOBAL g) {return Txfp->To_File;} virtual PSZ GetFile(PGLOBAL) {return Txfp->To_File;}
virtual void SetFile(PGLOBAL g, PSZ fn) {Txfp->To_File = fn;} virtual void SetFile(PGLOBAL, PSZ fn) {Txfp->To_File = fn;}
virtual void SetAbort(bool b) {Abort = b;} virtual void SetAbort(bool b) {Abort = b;}
virtual RECFM GetFtype(void) {return Ftype;} virtual RECFM GetFtype(void) {return Ftype;}
virtual bool SkipHeader(PGLOBAL g) {return false;} virtual bool SkipHeader(PGLOBAL) {return false;}
virtual void RestoreNrec(void) {Txfp->SetNrec(1);} virtual void RestoreNrec(void) {Txfp->SetNrec(1);}
virtual PTDB Duplicate(PGLOBAL g) virtual PTDB Duplicate(PGLOBAL g)
{return (PTDB)new(g) TDBDOS(g, this);} {return (PTDB)new(g) TDBDOS(g, this);}
@@ -149,7 +149,7 @@ class DllExport TDBDOS : public TDBASE {
// Database routines // Database routines
virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n); virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n);
virtual char *GetOpenMode(PGLOBAL g, char *opmode) {return NULL;} virtual char *GetOpenMode(PGLOBAL, char*) {return NULL;}
virtual int GetFileLength(PGLOBAL g) {return Txfp->GetFileLength(g);} virtual int GetFileLength(PGLOBAL g) {return Txfp->GetFileLength(g);}
virtual int GetProgMax(PGLOBAL g); virtual int GetProgMax(PGLOBAL g);
virtual int GetProgCur(void); virtual int GetProgCur(void);
@@ -168,7 +168,7 @@ class DllExport TDBDOS : public TDBASE {
virtual int ReadBuffer(PGLOBAL g) {return Txfp->ReadBuffer(g);} virtual int ReadBuffer(PGLOBAL g) {return Txfp->ReadBuffer(g);}
// Specific routine // Specific routine
virtual int EstimatedLength(PGLOBAL g); virtual int EstimatedLength(void);
// Optimization routines // Optimization routines
virtual int MakeIndex(PGLOBAL g, PIXDEF pxdf, bool add); virtual int MakeIndex(PGLOBAL g, PIXDEF pxdf, bool add);

View File

@@ -5,7 +5,7 @@
/* */ /* */
/* COPYRIGHT: */ /* COPYRIGHT: */
/* ---------- */ /* ---------- */
/* (C) Copyright to the author Olivier BERTRAND 1998-2014 */ /* (C) Copyright to the author Olivier BERTRAND 1998-2015 */
/* */ /* */
/* WHAT THIS PROGRAM DOES: */ /* WHAT THIS PROGRAM DOES: */
/* ----------------------- */ /* ----------------------- */
@@ -271,7 +271,7 @@ int TDBFIX::RowNumber(PGLOBAL g, bool b)
/***********************************************************************/ /***********************************************************************/
/* FIX tables don't use temporary files except if specified as do it. */ /* FIX tables don't use temporary files except if specified as do it. */
/***********************************************************************/ /***********************************************************************/
bool TDBFIX::IsUsingTemp(PGLOBAL g) bool TDBFIX::IsUsingTemp(PGLOBAL)
{ {
// Not ready yet to handle using a temporary file with mapping // Not ready yet to handle using a temporary file with mapping
// or while deleting from DBF files. // or while deleting from DBF files.

View File

@@ -5,7 +5,7 @@
/* */ /* */
/* COPYRIGHT: */ /* COPYRIGHT: */
/* ---------- */ /* ---------- */
/* (C) Copyright to the author Olivier BERTRAND 2001 - 2014 */ /* (C) Copyright to the author Olivier BERTRAND 2001 - 2015 */
/* */ /* */
/* WHAT THIS PROGRAM DOES: */ /* WHAT THIS PROGRAM DOES: */
/* ----------------------- */ /* ----------------------- */
@@ -625,7 +625,7 @@ bool TDBCSV::CheckErr(void)
/***********************************************************************/ /***********************************************************************/
/* CSV EstimatedLength. Returns an estimated minimum line length. */ /* CSV EstimatedLength. Returns an estimated minimum line length. */
/***********************************************************************/ /***********************************************************************/
int TDBCSV::EstimatedLength(PGLOBAL g) int TDBCSV::EstimatedLength(void)
{ {
int n = 0; int n = 0;
PCOLDEF cdp; PCOLDEF cdp;
@@ -1118,7 +1118,7 @@ PCOL TDBFMT::MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n)
/* FMT EstimatedLength. Returns an estimated minimum line length. */ /* FMT EstimatedLength. Returns an estimated minimum line length. */
/* The big problem here is how can we astimated that minimum ? */ /* The big problem here is how can we astimated that minimum ? */
/***********************************************************************/ /***********************************************************************/
int TDBFMT::EstimatedLength(PGLOBAL g) int TDBFMT::EstimatedLength(void)
{ {
// This is rather stupid !!! // This is rather stupid !!!
return ((PDOSDEF)To_Def)->GetEnding() + (int)((Lrecl / 10) + 1); return ((PDOSDEF)To_Def)->GetEnding() + (int)((Lrecl / 10) + 1);

View File

@@ -75,7 +75,7 @@ class TDBCSV : public TDBDOS {
virtual int ReadBuffer(PGLOBAL g); // Physical file read virtual int ReadBuffer(PGLOBAL g); // Physical file read
// Specific routines // Specific routines
virtual int EstimatedLength(PGLOBAL g); virtual int EstimatedLength(void);
virtual bool SkipHeader(PGLOBAL g); virtual bool SkipHeader(PGLOBAL g);
virtual bool CheckErr(void); virtual bool CheckErr(void);
@@ -157,7 +157,7 @@ class TDBFMT : public TDBCSV {
virtual int ReadBuffer(PGLOBAL g); // Physical file read virtual int ReadBuffer(PGLOBAL g); // Physical file read
// Specific routines // Specific routines
virtual int EstimatedLength(PGLOBAL g); virtual int EstimatedLength(void);
protected: protected:
virtual bool PrepareWriting(PGLOBAL g) virtual bool PrepareWriting(PGLOBAL g)

View File

@@ -78,11 +78,13 @@ PQRYRES JSONColumns(PGLOBAL g, char *dp, const char *fn, char *objn,
PJVAL jvp; PJVAL jvp;
PJOB row; PJOB row;
PJDEF tdp; PJDEF tdp;
TDBJSN *tjnp; TDBJSN *tjnp = NULL;
PJTDB tjsp; PJTDB tjsp = NULL;
PQRYRES qrp; PQRYRES qrp;
PCOLRES crp; PCOLRES crp;
jcol.Name = jcol.Fmt = NULL;
if (info) { if (info) {
length[0] = 128; length[0] = 128;
length[7] = 256; length[7] = 256;
@@ -362,7 +364,7 @@ JSONDEF::JSONDEF(void)
/***********************************************************************/ /***********************************************************************/
/* DefineAM: define specific AM block values. */ /* DefineAM: define specific AM block values. */
/***********************************************************************/ /***********************************************************************/
bool JSONDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) bool JSONDEF::DefineAM(PGLOBAL g, LPCSTR, int poff)
{ {
Jmode = (JMODE)GetIntCatInfo("Jmode", MODE_OBJECT); Jmode = (JMODE)GetIntCatInfo("Jmode", MODE_OBJECT);
Objname = GetStringCatInfo(g, "Object", NULL); Objname = GetStringCatInfo(g, "Object", NULL);
@@ -506,7 +508,7 @@ PCOL TDBJSN::MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n)
/***********************************************************************/ /***********************************************************************/
/* InsertSpecialColumn: Put a special column ahead of the column list.*/ /* InsertSpecialColumn: Put a special column ahead of the column list.*/
/***********************************************************************/ /***********************************************************************/
PCOL TDBJSN::InsertSpecialColumn(PGLOBAL g, PCOL colp) PCOL TDBJSN::InsertSpecialColumn(PCOL colp)
{ {
if (!colp->IsSpecial()) if (!colp->IsSpecial())
return NULL; return NULL;
@@ -1486,7 +1488,7 @@ int TDBJSON::MakeNewDoc(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
int TDBJSON::MakeDocument(PGLOBAL g) int TDBJSON::MakeDocument(PGLOBAL g)
{ {
char *p, *memory, *objpath, *key; char *p, *memory, *objpath, *key = NULL;
int len, i = 0; int len, i = 0;
MODE mode = Mode; MODE mode = Mode;
PJSON jsp; PJSON jsp;
@@ -1646,7 +1648,7 @@ void TDBJSON::ResetSize(void)
/***********************************************************************/ /***********************************************************************/
/* TDBJSON is not indexable. */ /* TDBJSON is not indexable. */
/***********************************************************************/ /***********************************************************************/
int TDBJSON::MakeIndex(PGLOBAL g, PIXDEF pxdf, bool add) int TDBJSON::MakeIndex(PGLOBAL g, PIXDEF pxdf, bool)
{ {
if (pxdf) { if (pxdf) {
strcpy(g->Message, "JSON not indexable when pretty = 2"); strcpy(g->Message, "JSON not indexable when pretty = 2");
@@ -1677,7 +1679,7 @@ int TDBJSON::GetRecpos(void)
/***********************************************************************/ /***********************************************************************/
/* Set the position in the table. */ /* Set the position in the table. */
/***********************************************************************/ /***********************************************************************/
bool TDBJSON::SetRecpos(PGLOBAL g, int recpos) bool TDBJSON::SetRecpos(PGLOBAL, int recpos)
{ {
#if 0 #if 0
union { union {
@@ -1739,7 +1741,7 @@ bool TDBJSON::OpenDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* ReadDB: Data Base read routine for JSON access method. */ /* ReadDB: Data Base read routine for JSON access method. */
/***********************************************************************/ /***********************************************************************/
int TDBJSON::ReadDB(PGLOBAL g) int TDBJSON::ReadDB(PGLOBAL)
{ {
int rc; int rc;

View File

@@ -82,7 +82,7 @@ class TDBJSN : public TDBDOS {
// Methods // Methods
virtual PTDB CopyOne(PTABS t); virtual PTDB CopyOne(PTABS t);
virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n); virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n);
virtual PCOL InsertSpecialColumn(PGLOBAL g, PCOL colp); virtual PCOL InsertSpecialColumn(PCOL colp);
virtual int RowNumber(PGLOBAL g, bool b = FALSE) virtual int RowNumber(PGLOBAL g, bool b = FALSE)
{return (b) ? N : Fpos + 1;} {return (b) ? N : Fpos + 1;}

View File

@@ -1,7 +1,7 @@
/************** Table C++ Functions Source Code File (.CPP) ************/ /************** Table C++ Functions Source Code File (.CPP) ************/
/* Name: TABLE.CPP Version 2.7 */ /* Name: TABLE.CPP Version 2.7 */
/* */ /* */
/* (C) Copyright to the author Olivier BERTRAND 1999-2014 */ /* (C) Copyright to the author Olivier BERTRAND 1999-2015 */
/* */ /* */
/* This file contains the TBX, TDB and OPJOIN classes functions. */ /* This file contains the TBX, TDB and OPJOIN classes functions. */
/***********************************************************************/ /***********************************************************************/
@@ -74,7 +74,7 @@ TDB::TDB(PTDB tdbp) : Tdb_No(++Tnum)
/***********************************************************************/ /***********************************************************************/
/* RowNumber: returns the current row ordinal number. */ /* RowNumber: returns the current row ordinal number. */
/***********************************************************************/ /***********************************************************************/
int TDB::RowNumber(PGLOBAL g, bool b) int TDB::RowNumber(PGLOBAL g, bool)
{ {
sprintf(g->Message, MSG(ROWID_NOT_IMPL), GetAmName(g, GetAmType())); sprintf(g->Message, MSG(ROWID_NOT_IMPL), GetAmName(g, GetAmType()));
return 0; return 0;
@@ -122,7 +122,7 @@ void TDB::Print(PGLOBAL g, FILE *f, uint n)
} // end of Print } // end of Print
void TDB::Print(PGLOBAL g, char *ps, uint z) void TDB::Print(PGLOBAL, char *ps, uint)
{ {
sprintf(ps, "R%d.%s", Tdb_No, Name); sprintf(ps, "R%d.%s", Tdb_No, Name);
} // end of Print } // end of Print
@@ -263,7 +263,7 @@ PCOL TDBASE::ColDB(PGLOBAL g, PSZ name, int num)
/***********************************************************************/ /***********************************************************************/
/* InsertSpecialColumn: Put a special column ahead of the column list.*/ /* InsertSpecialColumn: Put a special column ahead of the column list.*/
/***********************************************************************/ /***********************************************************************/
PCOL TDBASE::InsertSpecialColumn(PGLOBAL g, PCOL colp) PCOL TDBASE::InsertSpecialColumn(PCOL colp)
{ {
if (!colp->IsSpecial()) if (!colp->IsSpecial())
return NULL; return NULL;
@@ -327,7 +327,7 @@ PCOL TDBASE::InsertSpcBlk(PGLOBAL g, PCOLDEF cdp)
return NULL; return NULL;
} // endif's name } // endif's name
if (!(colp = InsertSpecialColumn(g, colp))) { if (!(colp = InsertSpecialColumn(colp))) {
sprintf(g->Message, MSG(BAD_SPECIAL_COL), name); sprintf(g->Message, MSG(BAD_SPECIAL_COL), name);
return NULL; return NULL;
} // endif Insert } // endif Insert
@@ -338,7 +338,7 @@ PCOL TDBASE::InsertSpcBlk(PGLOBAL g, PCOLDEF cdp)
/***********************************************************************/ /***********************************************************************/
/* ResetTableOpt: Wrong for this table type. */ /* ResetTableOpt: Wrong for this table type. */
/***********************************************************************/ /***********************************************************************/
int TDBASE::ResetTableOpt(PGLOBAL g, bool dop, bool dox) int TDBASE::ResetTableOpt(PGLOBAL g, bool, bool)
{ {
strcpy(g->Message, "This table is not indexable"); strcpy(g->Message, "This table is not indexable");
return RC_INFO; return RC_INFO;
@@ -365,7 +365,7 @@ void TDBASE::ResetKindex(PGLOBAL g, PKXBASE kxp)
/***********************************************************************/ /***********************************************************************/
/* SetRecpos: Replace the table at the specified position. */ /* SetRecpos: Replace the table at the specified position. */
/***********************************************************************/ /***********************************************************************/
bool TDBASE::SetRecpos(PGLOBAL g, int recpos) bool TDBASE::SetRecpos(PGLOBAL g, int)
{ {
strcpy(g->Message, MSG(SETRECPOS_NIY)); strcpy(g->Message, MSG(SETRECPOS_NIY));
return true; return true;
@@ -386,7 +386,7 @@ void TDBASE::PrintAM(FILE *f, char *m)
/* Two questions here: exact meaning of U_J_INT ? */ /* Two questions here: exact meaning of U_J_INT ? */
/* Why is the eventual reference to To_Key_Col not marked U_J_EXT ? */ /* Why is the eventual reference to To_Key_Col not marked U_J_EXT ? */
/***********************************************************************/ /***********************************************************************/
void TDBASE::MarkDB(PGLOBAL g, PTDB tdb2) void TDBASE::MarkDB(PGLOBAL, PTDB tdb2)
{ {
if (trace) if (trace)
htrc("DOS MarkDB: tdbp=%p tdb2=%p\n", this, tdb2); htrc("DOS MarkDB: tdbp=%p tdb2=%p\n", this, tdb2);
@@ -453,7 +453,7 @@ bool TDBCAT::Initialize(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* CAT: Get the number of properties. */ /* CAT: Get the number of properties. */
/***********************************************************************/ /***********************************************************************/
int TDBCAT::GetMaxSize(PGLOBAL g) int TDBCAT::GetMaxSize(PGLOBAL g __attribute__((unused)))
{ {
if (MaxSize < 0) { if (MaxSize < 0) {
// if (Initialize(g)) // if (Initialize(g))
@@ -528,7 +528,7 @@ bool TDBCAT::InitCol(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* SetRecpos: Replace the table at the specified position. */ /* SetRecpos: Replace the table at the specified position. */
/***********************************************************************/ /***********************************************************************/
bool TDBCAT::SetRecpos(PGLOBAL g, int recpos) bool TDBCAT::SetRecpos(PGLOBAL, int recpos)
{ {
N = recpos - 1; N = recpos - 1;
return false; return false;
@@ -537,7 +537,7 @@ bool TDBCAT::SetRecpos(PGLOBAL g, int recpos)
/***********************************************************************/ /***********************************************************************/
/* Data Base read routine for CAT access method. */ /* Data Base read routine for CAT access method. */
/***********************************************************************/ /***********************************************************************/
int TDBCAT::ReadDB(PGLOBAL g) int TDBCAT::ReadDB(PGLOBAL)
{ {
return (++N < Qrp->Nblin) ? RC_OK : RC_EF; return (++N < Qrp->Nblin) ? RC_OK : RC_EF;
} // end of ReadDB } // end of ReadDB
@@ -554,7 +554,7 @@ int TDBCAT::WriteDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Data Base delete line routine for CAT access methods. */ /* Data Base delete line routine for CAT access methods. */
/***********************************************************************/ /***********************************************************************/
int TDBCAT::DeleteDB(PGLOBAL g, int irc) int TDBCAT::DeleteDB(PGLOBAL g, int)
{ {
strcpy(g->Message, "Delete not enabled for CAT tables"); strcpy(g->Message, "Delete not enabled for CAT tables");
return RC_FX; return RC_FX;
@@ -563,7 +563,7 @@ int TDBCAT::DeleteDB(PGLOBAL g, int irc)
/***********************************************************************/ /***********************************************************************/
/* Data Base close routine for WMI access method. */ /* Data Base close routine for WMI access method. */
/***********************************************************************/ /***********************************************************************/
void TDBCAT::CloseDB(PGLOBAL g) void TDBCAT::CloseDB(PGLOBAL)
{ {
// Nothing to do // Nothing to do
} // end of CloseDB } // end of CloseDB
@@ -584,7 +584,7 @@ CATCOL::CATCOL(PCOLDEF cdp, PTDB tdbp, int n)
/***********************************************************************/ /***********************************************************************/
/* Read the next Data Source elements. */ /* Read the next Data Source elements. */
/***********************************************************************/ /***********************************************************************/
void CATCOL::ReadColumn(PGLOBAL g) void CATCOL::ReadColumn(PGLOBAL)
{ {
// Get the value of the Name or Description property // Get the value of the Name or Description property
if (Crp->Kdata) if (Crp->Kdata)

View File

@@ -561,7 +561,7 @@ int TDBMUL::WriteDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Data Base delete line routine for MUL access method. */ /* Data Base delete line routine for MUL access method. */
/***********************************************************************/ /***********************************************************************/
int TDBMUL::DeleteDB(PGLOBAL g, int irc) int TDBMUL::DeleteDB(PGLOBAL g, int)
{ {
// When implementing DELETE_MODE InitFileNames must be updated to // When implementing DELETE_MODE InitFileNames must be updated to
// eliminate CRLF under Windows if the file is read in binary. // eliminate CRLF under Windows if the file is read in binary.
@@ -586,7 +586,7 @@ void TDBMUL::CloseDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* DefineAM: define specific AM block values from XDB file. */ /* DefineAM: define specific AM block values from XDB file. */
/***********************************************************************/ /***********************************************************************/
bool DIRDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) bool DIRDEF::DefineAM(PGLOBAL g, LPCSTR, int)
{ {
Desc = Fn = GetStringCatInfo(g, "Filename", NULL); Desc = Fn = GetStringCatInfo(g, "Filename", NULL);
Incl = (GetIntCatInfo("Subdir", 0) != 0); Incl = (GetIntCatInfo("Subdir", 0) != 0);
@@ -597,7 +597,7 @@ bool DIRDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
/***********************************************************************/ /***********************************************************************/
/* GetTable: makes a new Table Description Block. */ /* GetTable: makes a new Table Description Block. */
/***********************************************************************/ /***********************************************************************/
PTDB DIRDEF::GetTable(PGLOBAL g, MODE m) PTDB DIRDEF::GetTable(PGLOBAL g, MODE)
{ {
#if 0 #if 0
if (Huge) if (Huge)
@@ -865,7 +865,7 @@ int TDBDIR::WriteDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Data Base delete line routine for DIR access method. */ /* Data Base delete line routine for DIR access method. */
/***********************************************************************/ /***********************************************************************/
int TDBDIR::DeleteDB(PGLOBAL g, int irc) int TDBDIR::DeleteDB(PGLOBAL g, int)
{ {
strcpy(g->Message, MSG(TABDIR_READONLY)); strcpy(g->Message, MSG(TABDIR_READONLY));
return RC_FX; // NIY return RC_FX; // NIY
@@ -874,7 +874,7 @@ int TDBDIR::DeleteDB(PGLOBAL g, int irc)
/***********************************************************************/ /***********************************************************************/
/* Data Base close routine for MUL access method. */ /* Data Base close routine for MUL access method. */
/***********************************************************************/ /***********************************************************************/
void TDBDIR::CloseDB(PGLOBAL g) void TDBDIR::CloseDB(PGLOBAL)
{ {
#if defined(WIN32) #if defined(WIN32)
// Close the search handle. // Close the search handle.
@@ -895,7 +895,7 @@ void TDBDIR::CloseDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* DIRCOL public constructor. */ /* DIRCOL public constructor. */
/***********************************************************************/ /***********************************************************************/
DIRCOL::DIRCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i, PSZ am) DIRCOL::DIRCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i, PSZ)
: COLBLK(cdp, tdbp, i) : COLBLK(cdp, tdbp, i)
{ {
if (cprec) { if (cprec) {

View File

@@ -5,7 +5,7 @@
/* */ /* */
/* AUTHOR: */ /* AUTHOR: */
/* ------- */ /* ------- */
/* Olivier BERTRAND 2007-2014 */ /* Olivier BERTRAND 2007-2015 */
/* */ /* */
/* WHAT THIS PROGRAM DOES: */ /* WHAT THIS PROGRAM DOES: */
/* ----------------------- */ /* ----------------------- */
@@ -307,7 +307,7 @@ bool MYSQLDEF::ParseURL(PGLOBAL g, char *url, bool b)
/***********************************************************************/ /***********************************************************************/
/* DefineAM: define specific AM block values from XCV file. */ /* DefineAM: define specific AM block values from XCV file. */
/***********************************************************************/ /***********************************************************************/
bool MYSQLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) bool MYSQLDEF::DefineAM(PGLOBAL g, LPCSTR am, int)
{ {
char *url; char *url;
@@ -380,7 +380,7 @@ bool MYSQLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
/***********************************************************************/ /***********************************************************************/
/* GetTable: makes a new TDB of the proper type. */ /* GetTable: makes a new TDB of the proper type. */
/***********************************************************************/ /***********************************************************************/
PTDB MYSQLDEF::GetTable(PGLOBAL g, MODE m) PTDB MYSQLDEF::GetTable(PGLOBAL g, MODE)
{ {
if (Xsrc) if (Xsrc)
return new(g) TDBMYEXC(this); return new(g) TDBMYEXC(this);
@@ -438,7 +438,7 @@ TDBMYSQL::TDBMYSQL(PMYDEF tdp) : TDBASE(tdp)
Nparm = 0; Nparm = 0;
} // end of TDBMYSQL constructor } // end of TDBMYSQL constructor
TDBMYSQL::TDBMYSQL(PGLOBAL g, PTDBMY tdbp) : TDBASE(tdbp) TDBMYSQL::TDBMYSQL(PTDBMY tdbp) : TDBASE(tdbp)
{ {
Host = tdbp->Host; Host = tdbp->Host;
Database = tdbp->Database; Database = tdbp->Database;
@@ -468,7 +468,7 @@ PTDB TDBMYSQL::CopyOne(PTABS t)
PCOL cp1, cp2; PCOL cp1, cp2;
PGLOBAL g = t->G; PGLOBAL g = t->G;
tp = new(g) TDBMYSQL(g, this); tp = new(g) TDBMYSQL(this);
for (cp1 = Columns; cp1; cp1 = cp1->GetNext()) { for (cp1 = Columns; cp1; cp1 = cp1->GetNext()) {
cp2 = new(g) MYSQLCOL((PMYCOL)cp1, tp); cp2 = new(g) MYSQLCOL((PMYCOL)cp1, tp);
@@ -816,7 +816,7 @@ int TDBMYSQL::GetMaxSize(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* This a fake routine as ROWID does not exist in MySQL. */ /* This a fake routine as ROWID does not exist in MySQL. */
/***********************************************************************/ /***********************************************************************/
int TDBMYSQL::RowNumber(PGLOBAL g, bool b) int TDBMYSQL::RowNumber(PGLOBAL, bool)
{ {
return N + 1; return N + 1;
} // end of RowNumber } // end of RowNumber
@@ -832,7 +832,7 @@ int TDBMYSQL::GetProgMax(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* MySQL Bind Parameter function. */ /* MySQL Bind Parameter function. */
/***********************************************************************/ /***********************************************************************/
int TDBMYSQL::BindColumns(PGLOBAL g) int TDBMYSQL::BindColumns(PGLOBAL g __attribute__((unused)))
{ {
#if defined(MYSQL_PREPARED_STATEMENTS) #if defined(MYSQL_PREPARED_STATEMENTS)
if (Prep) { if (Prep) {
@@ -1425,7 +1425,7 @@ void MYSQLCOL::ReadColumn(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* WriteColumn: make sure the bind buffer is updated. */ /* WriteColumn: make sure the bind buffer is updated. */
/***********************************************************************/ /***********************************************************************/
void MYSQLCOL::WriteColumn(PGLOBAL g) void MYSQLCOL::WriteColumn(PGLOBAL)
{ {
/*********************************************************************/ /*********************************************************************/
/* Do convert the column value if necessary. */ /* Do convert the column value if necessary. */
@@ -1463,7 +1463,7 @@ TDBMYEXC::TDBMYEXC(PMYDEF tdp) : TDBMYSQL(tdp)
Nerr = 0; Nerr = 0;
} // end of TDBMYEXC constructor } // end of TDBMYEXC constructor
TDBMYEXC::TDBMYEXC(PGLOBAL g, PTDBMYX tdbp) : TDBMYSQL(g, tdbp) TDBMYEXC::TDBMYEXC(PTDBMYX tdbp) : TDBMYSQL(tdbp)
{ {
Cmdlist = tdbp->Cmdlist; Cmdlist = tdbp->Cmdlist;
Cmdcol = tdbp->Cmdcol; Cmdcol = tdbp->Cmdcol;
@@ -1481,7 +1481,7 @@ PTDB TDBMYEXC::CopyOne(PTABS t)
PCOL cp1, cp2; PCOL cp1, cp2;
PGLOBAL g = t->G; PGLOBAL g = t->G;
tp = new(g) TDBMYEXC(g, this); tp = new(g) TDBMYEXC(this);
for (cp1 = Columns; cp1; cp1 = cp1->GetNext()) { for (cp1 = Columns; cp1; cp1 = cp1->GetNext()) {
cp2 = new(g) MYXCOL((PMYXCOL)cp1, tp); cp2 = new(g) MYXCOL((PMYXCOL)cp1, tp);
@@ -1534,7 +1534,7 @@ PCMD TDBMYEXC::MakeCMD(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* EXC GetMaxSize: returns the maximum number of rows in the table. */ /* EXC GetMaxSize: returns the maximum number of rows in the table. */
/***********************************************************************/ /***********************************************************************/
int TDBMYEXC::GetMaxSize(PGLOBAL g) int TDBMYEXC::GetMaxSize(PGLOBAL)
{ {
if (MaxSize < 0) { if (MaxSize < 0) {
MaxSize = 10; // a guess MaxSize = 10; // a guess
@@ -1711,7 +1711,7 @@ void MYXCOL::ReadColumn(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* WriteColumn: should never be called. */ /* WriteColumn: should never be called. */
/***********************************************************************/ /***********************************************************************/
void MYXCOL::WriteColumn(PGLOBAL g) void MYXCOL::WriteColumn(PGLOBAL)
{ {
assert(false); assert(false);
} // end of WriteColumn } // end of WriteColumn

View File

@@ -73,11 +73,11 @@ class TDBMYSQL : public TDBASE {
public: public:
// Constructor // Constructor
TDBMYSQL(PMYDEF tdp); TDBMYSQL(PMYDEF tdp);
TDBMYSQL(PGLOBAL g, PTDBMY tdbp); TDBMYSQL(PTDBMY tdbp);
// Implementation // Implementation
virtual AMT GetAmType(void) {return TYPE_AM_MYSQL;} virtual AMT GetAmType(void) {return TYPE_AM_MYSQL;}
virtual PTDB Duplicate(PGLOBAL g) {return (PTDB)new(g) TDBMYSQL(g, this);} virtual PTDB Duplicate(PGLOBAL g) {return (PTDB)new(g) TDBMYSQL(this);}
// Methods // Methods
virtual PTDB CopyOne(PTABS t); virtual PTDB CopyOne(PTABS t);
@@ -180,11 +180,11 @@ class TDBMYEXC : public TDBMYSQL {
public: public:
// Constructors // Constructors
TDBMYEXC(PMYDEF tdp); TDBMYEXC(PMYDEF tdp);
TDBMYEXC(PGLOBAL g, PTDBMYX tdbp); TDBMYEXC(PTDBMYX tdbp);
// Implementation // Implementation
virtual AMT GetAmType(void) {return TYPE_AM_MYX;} virtual AMT GetAmType(void) {return TYPE_AM_MYX;}
virtual PTDB Duplicate(PGLOBAL g) {return (PTDB)new(g) TDBMYEXC(g, this);} virtual PTDB Duplicate(PGLOBAL g) {return (PTDB)new(g) TDBMYEXC(this);}
// Methods // Methods
virtual PTDB CopyOne(PTABS t); virtual PTDB CopyOne(PTABS t);

View File

@@ -266,7 +266,7 @@ bool OCCURDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
/***********************************************************************/ /***********************************************************************/
/* GetTable: makes a new TDB of the proper type. */ /* GetTable: makes a new TDB of the proper type. */
/***********************************************************************/ /***********************************************************************/
PTDB OCCURDEF::GetTable(PGLOBAL g, MODE m) PTDB OCCURDEF::GetTable(PGLOBAL g, MODE)
{ {
if (Catfunc != FNC_COL) if (Catfunc != FNC_COL)
return new(g) TDBOCCUR(this); return new(g) TDBOCCUR(this);
@@ -432,7 +432,7 @@ int TDBOCCUR::GetMaxSize(PGLOBAL g)
/* In this sample, ROWID will be the (virtual) row number, */ /* In this sample, ROWID will be the (virtual) row number, */
/* while ROWNUM will be the occurence rank in the multiple column. */ /* while ROWNUM will be the occurence rank in the multiple column. */
/***********************************************************************/ /***********************************************************************/
int TDBOCCUR::RowNumber(PGLOBAL g, bool b) int TDBOCCUR::RowNumber(PGLOBAL, bool b)
{ {
return (b) ? M : N; return (b) ? M : N;
} // end of RowNumber } // end of RowNumber
@@ -567,7 +567,7 @@ void OCCURCOL::ReadColumn(PGLOBAL g)
/* ReadColumn: what this routine does is to access the Mth columns of */ /* ReadColumn: what this routine does is to access the Mth columns of */
/* list, extract its name and set to it the rank column value. */ /* list, extract its name and set to it the rank column value. */
/***********************************************************************/ /***********************************************************************/
void RANKCOL::ReadColumn(PGLOBAL g) void RANKCOL::ReadColumn(PGLOBAL)
{ {
PTDBOCCUR tdbp = (PTDBOCCUR)To_Tdb; PTDBOCCUR tdbp = (PTDBOCCUR)To_Tdb;
PCOL *col = tdbp->Col; PCOL *col = tdbp->Col;

View File

@@ -376,7 +376,7 @@ bool PIVOTDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
/***********************************************************************/ /***********************************************************************/
/* GetTable: makes a new TDB of the proper type. */ /* GetTable: makes a new TDB of the proper type. */
/***********************************************************************/ /***********************************************************************/
PTDB PIVOTDEF::GetTable(PGLOBAL g, MODE m) PTDB PIVOTDEF::GetTable(PGLOBAL g, MODE)
{ {
return new(g) TDBPIVOT(this); return new(g) TDBPIVOT(this);
} // end of GetTable } // end of GetTable
@@ -634,7 +634,7 @@ bool TDBPIVOT::MakeViewColumns(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* PIVOT GetMaxSize: returns the maximum number of rows in the table. */ /* PIVOT GetMaxSize: returns the maximum number of rows in the table. */
/***********************************************************************/ /***********************************************************************/
int TDBPIVOT::GetMaxSize(PGLOBAL g) int TDBPIVOT::GetMaxSize(PGLOBAL g __attribute__((unused)))
{ {
#if 0 #if 0
if (MaxSize < 0) if (MaxSize < 0)
@@ -649,7 +649,7 @@ int TDBPIVOT::GetMaxSize(PGLOBAL g)
/* In this sample, ROWID will be the (virtual) row number, */ /* In this sample, ROWID will be the (virtual) row number, */
/* while ROWNUM will be the occurence rank in the multiple column. */ /* while ROWNUM will be the occurence rank in the multiple column. */
/***********************************************************************/ /***********************************************************************/
int TDBPIVOT::RowNumber(PGLOBAL g, bool b) int TDBPIVOT::RowNumber(PGLOBAL, bool b)
{ {
return (b) ? M : N; return (b) ? M : N;
} // end of RowNumber } // end of RowNumber
@@ -806,7 +806,7 @@ int TDBPIVOT::WriteDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Data Base delete line routine for PIVOT access methods. */ /* Data Base delete line routine for PIVOT access methods. */
/***********************************************************************/ /***********************************************************************/
int TDBPIVOT::DeleteDB(PGLOBAL g, int irc) int TDBPIVOT::DeleteDB(PGLOBAL g, int)
{ {
sprintf(g->Message, MSG(NO_TABLE_DEL), "PIVOT"); sprintf(g->Message, MSG(NO_TABLE_DEL), "PIVOT");
return RC_FX; return RC_FX;

View File

@@ -3,7 +3,7 @@
/* ------------- */ /* ------------- */
/* Version 2.3 */ /* Version 2.3 */
/* */ /* */
/* Author Olivier BERTRAND 2004-2014 */ /* Author Olivier BERTRAND 2004-2015 */
/* */ /* */
/* This program are the INI/CFG tables classes. */ /* This program are the INI/CFG tables classes. */
/***********************************************************************/ /***********************************************************************/
@@ -70,7 +70,7 @@ INIDEF::INIDEF(void)
/***********************************************************************/ /***********************************************************************/
/* DefineAM: define specific AM block values from XDB file. */ /* DefineAM: define specific AM block values from XDB file. */
/***********************************************************************/ /***********************************************************************/
bool INIDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) bool INIDEF::DefineAM(PGLOBAL g, LPCSTR, int)
{ {
char buf[8]; char buf[8];
@@ -96,7 +96,7 @@ bool INIDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
/***********************************************************************/ /***********************************************************************/
/* GetTable: makes a new TDB of the proper type. */ /* GetTable: makes a new TDB of the proper type. */
/***********************************************************************/ /***********************************************************************/
PTDB INIDEF::GetTable(PGLOBAL g, MODE m) PTDB INIDEF::GetTable(PGLOBAL g, MODE)
{ {
PTDBASE tdbp; PTDBASE tdbp;
@@ -277,31 +277,11 @@ bool TDBINI::OpenDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Data Base read routine for INI access method. */ /* Data Base read routine for INI access method. */
/***********************************************************************/ /***********************************************************************/
int TDBINI::ReadDB(PGLOBAL g) int TDBINI::ReadDB(PGLOBAL)
{ {
/*********************************************************************/ /*********************************************************************/
/* Now start the pseudo reading process. */ /* Now start the pseudo reading process. */
/*********************************************************************/ /*********************************************************************/
#if 0 // INI tables are not indexable
if (To_Kindex) {
/*******************************************************************/
/* Reading is by an index table. */
/*******************************************************************/
int recpos = To_Kindex->Fetch(g);
switch (recpos) {
case -1: // End of file reached
return RC_EF;
case -2: // No match for join
return RC_NF;
case -3: // Same record as last non null one
return RC_OK;
default:
Section = (char*)recpos; // No good on 64 bit machines
} // endswitch recpos
} else {
#endif // 0
if (!Section) if (!Section)
Section = Seclist; Section = Seclist;
else else
@@ -311,15 +291,13 @@ int TDBINI::ReadDB(PGLOBAL g)
htrc("INI ReadDB: section=%s N=%d\n", Section, N); htrc("INI ReadDB: section=%s N=%d\n", Section, N);
N++; N++;
//} // endif To_Kindex
return (*Section) ? RC_OK : RC_EF; return (*Section) ? RC_OK : RC_EF;
} // end of ReadDB } // end of ReadDB
/***********************************************************************/ /***********************************************************************/
/* WriteDB: Data Base write routine for INI access methods. */ /* WriteDB: Data Base write routine for INI access methods. */
/***********************************************************************/ /***********************************************************************/
int TDBINI::WriteDB(PGLOBAL g) int TDBINI::WriteDB(PGLOBAL)
{ {
// This is to check that section name was given when inserting // This is to check that section name was given when inserting
if (Mode == MODE_INSERT) if (Mode == MODE_INSERT)
@@ -365,7 +343,7 @@ int TDBINI::DeleteDB(PGLOBAL g, int irc)
/***********************************************************************/ /***********************************************************************/
/* Data Base close routine for INI access methods. */ /* Data Base close routine for INI access methods. */
/***********************************************************************/ /***********************************************************************/
void TDBINI::CloseDB(PGLOBAL g) void TDBINI::CloseDB(PGLOBAL)
{ {
#if !defined(WIN32) #if !defined(WIN32)
PROFILE_Close(Ifile); PROFILE_Close(Ifile);
@@ -377,7 +355,7 @@ void TDBINI::CloseDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* INICOL public constructor. */ /* INICOL public constructor. */
/***********************************************************************/ /***********************************************************************/
INICOL::INICOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i, PSZ am) INICOL::INICOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i, PSZ)
: COLBLK(cdp, tdbp, i) : COLBLK(cdp, tdbp, i)
{ {
if (cprec) { if (cprec) {
@@ -471,7 +449,7 @@ bool INICOL::SetBuffer(PGLOBAL g, PVAL value, bool ok, bool check)
/* from the corresponding section, extract from it the key value */ /* from the corresponding section, extract from it the key value */
/* corresponding to this column name and convert it to buffer type. */ /* corresponding to this column name and convert it to buffer type. */
/***********************************************************************/ /***********************************************************************/
void INICOL::ReadColumn(PGLOBAL g) void INICOL::ReadColumn(PGLOBAL)
{ {
PTDBINI tdbp = (PTDBINI)To_Tdb; PTDBINI tdbp = (PTDBINI)To_Tdb;
@@ -747,7 +725,7 @@ int TDBXIN::ReadDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* WriteDB: Data Base write routine for XIN access methods. */ /* WriteDB: Data Base write routine for XIN access methods. */
/***********************************************************************/ /***********************************************************************/
int TDBXIN::WriteDB(PGLOBAL g) int TDBXIN::WriteDB(PGLOBAL)
{ {
// To check that section and key names were given when inserting // To check that section and key names were given when inserting
if (Mode == MODE_INSERT) { if (Mode == MODE_INSERT) {
@@ -809,7 +787,7 @@ XINCOL::XINCOL(XINCOL *col1, PTDB tdbp) : INICOL(col1, tdbp)
/* from the corresponding section, extract from it the key value */ /* from the corresponding section, extract from it the key value */
/* corresponding to this column name and convert it to buffer type. */ /* corresponding to this column name and convert it to buffer type. */
/***********************************************************************/ /***********************************************************************/
void XINCOL::ReadColumn(PGLOBAL g) void XINCOL::ReadColumn(PGLOBAL)
{ {
PTDBXIN tdbp = (PTDBXIN)To_Tdb; PTDBXIN tdbp = (PTDBXIN)To_Tdb;

View File

@@ -101,7 +101,7 @@ TBLDEF::TBLDEF(void)
/**************************************************************************/ /**************************************************************************/
/* DefineAM: define specific AM block values from XDB file. */ /* DefineAM: define specific AM block values from XDB file. */
/**************************************************************************/ /**************************************************************************/
bool TBLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) bool TBLDEF::DefineAM(PGLOBAL g, LPCSTR, int)
{ {
char *tablist, *dbname, *def = NULL; char *tablist, *dbname, *def = NULL;
@@ -161,7 +161,7 @@ bool TBLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
/***********************************************************************/ /***********************************************************************/
/* GetTable: makes a new Table Description Block. */ /* GetTable: makes a new Table Description Block. */
/***********************************************************************/ /***********************************************************************/
PTDB TBLDEF::GetTable(PGLOBAL g, MODE m) PTDB TBLDEF::GetTable(PGLOBAL g, MODE)
{ {
if (Catfunc == FNC_COL) if (Catfunc == FNC_COL)
return new(g) TDBTBC(this); return new(g) TDBTBC(this);
@@ -202,7 +202,7 @@ PCOL TDBTBL::MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n)
/***********************************************************************/ /***********************************************************************/
/* InsertSpecialColumn: Put a special column ahead of the column list.*/ /* InsertSpecialColumn: Put a special column ahead of the column list.*/
/***********************************************************************/ /***********************************************************************/
PCOL TDBTBL::InsertSpecialColumn(PGLOBAL g, PCOL scp) PCOL TDBTBL::InsertSpecialColumn(PCOL scp)
{ {
PCOL colp; PCOL colp;
@@ -548,7 +548,7 @@ int TDBTBL::ReadDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* ReadColumn: */ /* ReadColumn: */
/***********************************************************************/ /***********************************************************************/
void TBTBLK::ReadColumn(PGLOBAL g) void TBTBLK::ReadColumn(PGLOBAL)
{ {
if (trace) if (trace)
htrc("TBT ReadColumn: name=%s\n", Name); htrc("TBT ReadColumn: name=%s\n", Name);

View File

@@ -81,7 +81,7 @@ class DllExport TDBTBL : public TDBPRX {
virtual int Cardinality(PGLOBAL g); virtual int Cardinality(PGLOBAL g);
virtual int GetMaxSize(PGLOBAL g); virtual int GetMaxSize(PGLOBAL g);
virtual int RowNumber(PGLOBAL g, bool b = FALSE); virtual int RowNumber(PGLOBAL g, bool b = FALSE);
virtual PCOL InsertSpecialColumn(PGLOBAL g, PCOL scp); virtual PCOL InsertSpecialColumn(PCOL scp);
virtual bool OpenDB(PGLOBAL g); virtual bool OpenDB(PGLOBAL g);
virtual int ReadDB(PGLOBAL g); virtual int ReadDB(PGLOBAL g);

View File

@@ -292,7 +292,7 @@ PRXDEF::PRXDEF(void)
/***********************************************************************/ /***********************************************************************/
/* DefineAM: define specific AM block values from XCOL file. */ /* DefineAM: define specific AM block values from XCOL file. */
/***********************************************************************/ /***********************************************************************/
bool PRXDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) bool PRXDEF::DefineAM(PGLOBAL g, LPCSTR, int)
{ {
char *pn, *db, *tab, *def = NULL; char *pn, *db, *tab, *def = NULL;
@@ -322,7 +322,7 @@ bool PRXDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
/***********************************************************************/ /***********************************************************************/
/* GetTable: makes a new TDB of the proper type. */ /* GetTable: makes a new TDB of the proper type. */
/***********************************************************************/ /***********************************************************************/
PTDB PRXDEF::GetTable(PGLOBAL g, MODE mode) PTDB PRXDEF::GetTable(PGLOBAL g, MODE)
{ {
if (Catfunc == FNC_COL) if (Catfunc == FNC_COL)
return new(g) TDBTBC(this); return new(g) TDBTBC(this);
@@ -341,7 +341,7 @@ TDBPRX::TDBPRX(PPRXDEF tdp) : TDBASE(tdp)
Tdbp = NULL; // The object table Tdbp = NULL; // The object table
} // end of TDBPRX constructor } // end of TDBPRX constructor
TDBPRX::TDBPRX(PGLOBAL g, PTDBPRX tdbp) : TDBASE(tdbp) TDBPRX::TDBPRX(PTDBPRX tdbp) : TDBASE(tdbp)
{ {
Tdbp = tdbp->Tdbp; Tdbp = tdbp->Tdbp;
} // end of TDBPRX copy constructor } // end of TDBPRX copy constructor
@@ -353,7 +353,7 @@ PTDB TDBPRX::CopyOne(PTABS t)
PPRXCOL cp1, cp2; PPRXCOL cp1, cp2;
PGLOBAL g = t->G; PGLOBAL g = t->G;
tp = new(g) TDBPRX(g, this); tp = new(g) TDBPRX(this);
for (cp1 = (PPRXCOL)Columns; cp1; cp1 = (PPRXCOL)cp1->GetNext()) { for (cp1 = (PPRXCOL)Columns; cp1; cp1 = (PPRXCOL)cp1->GetNext()) {
cp2 = new(g) PRXCOL(cp1, tp); // Make a copy cp2 = new(g) PRXCOL(cp1, tp); // Make a copy

View File

@@ -59,12 +59,12 @@ class DllExport TDBPRX : public TDBASE {
public: public:
// Constructors // Constructors
TDBPRX(PPRXDEF tdp); TDBPRX(PPRXDEF tdp);
TDBPRX(PGLOBAL g, PTDBPRX tdbp); TDBPRX(PTDBPRX tdbp);
// Implementation // Implementation
virtual AMT GetAmType(void) {return TYPE_AM_PRX;} virtual AMT GetAmType(void) {return TYPE_AM_PRX;}
virtual PTDB Duplicate(PGLOBAL g) virtual PTDB Duplicate(PGLOBAL g)
{return (PTDB)new(g) TDBPRX(g, this);} {return (PTDB)new(g) TDBPRX(this);}
// Methods // Methods
virtual PTDB CopyOne(PTABS t); virtual PTDB CopyOne(PTABS t);

View File

@@ -5,7 +5,7 @@
/* */ /* */
/* COPYRIGHT: */ /* COPYRIGHT: */
/* ---------- */ /* ---------- */
/* (C) Copyright to the author Olivier BERTRAND 1999-2014 */ /* (C) Copyright to the author Olivier BERTRAND 1999-2015 */
/* */ /* */
/* WHAT THIS PROGRAM DOES: */ /* WHAT THIS PROGRAM DOES: */
/* ----------------------- */ /* ----------------------- */
@@ -94,7 +94,7 @@ PVBLK AllocValBlock(PGLOBAL, void *, int, int, int, int,
/***********************************************************************/ /***********************************************************************/
/* DefineAM: define specific AM block values from XDB file. */ /* DefineAM: define specific AM block values from XDB file. */
/***********************************************************************/ /***********************************************************************/
bool VCTDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) bool VCTDEF::DefineAM(PGLOBAL g, LPCSTR, int poff)
{ {
DOSDEF::DefineAM(g, "BIN", poff); DOSDEF::DefineAM(g, "BIN", poff);
@@ -290,7 +290,7 @@ PCOL TDBVCT::MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n)
/***********************************************************************/ /***********************************************************************/
/* VEC tables are not ready yet to use temporary files. */ /* VEC tables are not ready yet to use temporary files. */
/***********************************************************************/ /***********************************************************************/
bool TDBVCT::IsUsingTemp(PGLOBAL g) bool TDBVCT::IsUsingTemp(PGLOBAL)
{ {
// For developpers // For developpers
return (UseTemp() == TMP_TEST); return (UseTemp() == TMP_TEST);
@@ -570,7 +570,7 @@ void VCTCOL::ReadColumn(PGLOBAL g)
/* On each change of block the buffer is written back to file and */ /* On each change of block the buffer is written back to file and */
/* in mode Insert the buffer is filled with the block to update. */ /* in mode Insert the buffer is filled with the block to update. */
/***********************************************************************/ /***********************************************************************/
void VCTCOL::WriteColumn(PGLOBAL g) void VCTCOL::WriteColumn(PGLOBAL)
{ {
PTXF txfp = ((PTDBVCT)To_Tdb)->Txfp;; PTXF txfp = ((PTDBVCT)To_Tdb)->Txfp;;

View File

@@ -29,7 +29,7 @@
/***********************************************************************/ /***********************************************************************/
/* Return the unique column definition to MariaDB. */ /* Return the unique column definition to MariaDB. */
/***********************************************************************/ /***********************************************************************/
PQRYRES VirColumns(PGLOBAL g, char *tab, char *db, bool info) PQRYRES VirColumns(PGLOBAL g, bool info)
{ {
int buftyp[] = {TYPE_STRING, TYPE_SHORT, TYPE_STRING, int buftyp[] = {TYPE_STRING, TYPE_SHORT, TYPE_STRING,
TYPE_INT, TYPE_STRING, TYPE_STRING}; TYPE_INT, TYPE_STRING, TYPE_STRING};
@@ -95,7 +95,7 @@ PQRYRES VirColumns(PGLOBAL g, char *tab, char *db, bool info)
/***********************************************************************/ /***********************************************************************/
/* GetTable: makes a new Table Description Block. */ /* GetTable: makes a new Table Description Block. */
/***********************************************************************/ /***********************************************************************/
PTDB VIRDEF::GetTable(PGLOBAL g, MODE m) PTDB VIRDEF::GetTable(PGLOBAL g, MODE)
{ {
// Column blocks will be allocated only when needed. // Column blocks will be allocated only when needed.
if (Catfunc == FNC_COL) if (Catfunc == FNC_COL)
@@ -241,7 +241,7 @@ bool TDBVIR::OpenDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Data Base read routine for the VIR access method. */ /* Data Base read routine for the VIR access method. */
/***********************************************************************/ /***********************************************************************/
int TDBVIR::ReadDB(PGLOBAL g) int TDBVIR::ReadDB(PGLOBAL)
{ {
return (++N >= Size) ? RC_EF : RC_OK; return (++N >= Size) ? RC_EF : RC_OK;
} // end of ReadDB } // end of ReadDB
@@ -258,7 +258,7 @@ int TDBVIR::WriteDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* Data Base delete line routine for the VIR access methods. */ /* Data Base delete line routine for the VIR access methods. */
/***********************************************************************/ /***********************************************************************/
int TDBVIR::DeleteDB(PGLOBAL g, int irc) int TDBVIR::DeleteDB(PGLOBAL g, int)
{ {
sprintf(g->Message, MSG(VIR_NO_DELETE), To_Def->GetType()); sprintf(g->Message, MSG(VIR_NO_DELETE), To_Def->GetType());
return RC_FX; return RC_FX;
@@ -269,7 +269,7 @@ int TDBVIR::DeleteDB(PGLOBAL g, int irc)
/***********************************************************************/ /***********************************************************************/
/* VIRCOL public constructor. */ /* VIRCOL public constructor. */
/***********************************************************************/ /***********************************************************************/
VIRCOL::VIRCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i, PSZ am) VIRCOL::VIRCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i, PSZ)
: COLBLK(cdp, tdbp, i) : COLBLK(cdp, tdbp, i)
{ {
if (cprec) { if (cprec) {
@@ -299,7 +299,7 @@ void VIRCOL::ReadColumn(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
PQRYRES TDBVICL::GetResult(PGLOBAL g) PQRYRES TDBVICL::GetResult(PGLOBAL g)
{ {
return VirColumns(g, NULL, NULL, false); return VirColumns(g, false);
} // end of GetResult } // end of GetResult
/* ------------------------- End of Virtual -------------------------- */ /* ------------------------- End of Virtual -------------------------- */

View File

@@ -11,7 +11,7 @@ typedef class TDBVIR *PTDBVIR;
/***********************************************************************/ /***********************************************************************/
/* Return the unique column definition to MariaDB. */ /* Return the unique column definition to MariaDB. */
/***********************************************************************/ /***********************************************************************/
PQRYRES VirColumns(PGLOBAL g, char *tab, char *db, bool info); PQRYRES VirColumns(PGLOBAL g, bool info);
/* --------------------------- VIR classes --------------------------- */ /* --------------------------- VIR classes --------------------------- */

View File

@@ -83,7 +83,7 @@ bool XCLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
/***********************************************************************/ /***********************************************************************/
/* GetTable: makes a new TDB of the proper type. */ /* GetTable: makes a new TDB of the proper type. */
/***********************************************************************/ /***********************************************************************/
PTDB XCLDEF::GetTable(PGLOBAL g, MODE mode) PTDB XCLDEF::GetTable(PGLOBAL g, MODE)
{ {
if (Catfunc == FNC_COL) if (Catfunc == FNC_COL)
return new(g) TDBTBC(this); return new(g) TDBTBC(this);
@@ -117,7 +117,7 @@ PCOL TDBXCL::MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n)
PCOL colp; PCOL colp;
if (!stricmp(cdp->GetName(), Xcolumn)) { if (!stricmp(cdp->GetName(), Xcolumn)) {
Xcolp = new(g) XCLCOL(g, cdp, this, cprec, n); Xcolp = new(g) XCLCOL(cdp, this, cprec, n);
colp = Xcolp; colp = Xcolp;
} else } else
colp = new(g) PRXCOL(cdp, this, cprec, n); colp = new(g) PRXCOL(cdp, this, cprec, n);
@@ -144,7 +144,7 @@ int TDBXCL::GetMaxSize(PGLOBAL g)
/* For this table type, ROWID is the (virtual) row number, */ /* For this table type, ROWID is the (virtual) row number, */
/* while ROWNUM is be the occurence rank in the multiple column. */ /* while ROWNUM is be the occurence rank in the multiple column. */
/***********************************************************************/ /***********************************************************************/
int TDBXCL::RowNumber(PGLOBAL g, bool b) int TDBXCL::RowNumber(PGLOBAL, bool b)
{ {
return (b) ? M : N; return (b) ? M : N;
} // end of RowNumber } // end of RowNumber
@@ -232,7 +232,7 @@ int TDBXCL::ReadDB(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* XCLCOL public constructor. */ /* XCLCOL public constructor. */
/***********************************************************************/ /***********************************************************************/
XCLCOL::XCLCOL(PGLOBAL g, PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i) XCLCOL::XCLCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i)
: PRXCOL(cdp, tdbp, cprec, i, "XCL") : PRXCOL(cdp, tdbp, cprec, i, "XCL")
{ {
// Set additional XXL access method information for column. // Set additional XXL access method information for column.

View File

@@ -85,7 +85,7 @@ class XCLCOL : public PRXCOL {
friend class TDBXCL; friend class TDBXCL;
public: public:
// Constructors // Constructors
XCLCOL(PGLOBAL g, PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i); XCLCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i);
// Methods // Methods
using PRXCOL::Init; using PRXCOL::Init;

View File

@@ -118,7 +118,7 @@ PQRYRES XMLColumns(PGLOBAL g, char *dp, char *tab, PTOS topt, bool info)
FLD_LENGTH, FLD_SCALE, FLD_NULL, FLD_FORMAT}; FLD_LENGTH, FLD_SCALE, FLD_NULL, FLD_FORMAT};
static unsigned int length[] = {0, 6, 8, 10, 10, 6, 6, 0}; static unsigned int length[] = {0, 6, 8, 10, 10, 6, 6, 0};
char *op, colname[65], fmt[129], buf[512]; char *op, colname[65], fmt[129], buf[512];
int i, j, lvl, rc, n = 0; int i, j, lvl, n = 0;
int ncol = sizeof(buftyp) / sizeof(int); int ncol = sizeof(buftyp) / sizeof(int);
bool ok = true; bool ok = true;
PXCL xcol, xcp, fxcp = NULL, pxcp = NULL; PXCL xcol, xcp, fxcp = NULL, pxcp = NULL;
@@ -164,7 +164,7 @@ PQRYRES XMLColumns(PGLOBAL g, char *dp, char *tab, PTOS topt, bool info)
txmp = new(g) TDBXML(tdp); txmp = new(g) TDBXML(tdp);
if (txmp->Initialize(g)) if (txmp->Initialize(g))
return NULL; goto err;
xcol = new(g) XMCOL; xcol = new(g) XMCOL;
colname[64] = 0; colname[64] = 0;
@@ -224,8 +224,16 @@ PQRYRES XMLColumns(PGLOBAL g, char *dp, char *tab, PTOS topt, bool info)
if (vp->atp) { if (vp->atp) {
strncpy(colname, vp->atp->GetName(g), sizeof(colname)); strncpy(colname, vp->atp->GetName(g), sizeof(colname));
strncat(xcol->Name, colname, 64); strncat(xcol->Name, colname, 64);
rc = vp->atp->GetText(g, buf, sizeof(buf));
switch (vp->atp->GetText(g, buf, sizeof(buf))) {
case RC_INFO:
PushWarning(g, txmp);
case RC_OK:
strncat(fmt, "@", sizeof(fmt)); strncat(fmt, "@", sizeof(fmt));
break;
default:
goto err;
} // enswitch rc
if (j) if (j)
strncat(fmt, colname, sizeof(fmt)); strncat(fmt, colname, sizeof(fmt));
@@ -273,7 +281,15 @@ PQRYRES XMLColumns(PGLOBAL g, char *dp, char *tab, PTOS topt, bool info)
} else } else
ok = true; ok = true;
rc = node->GetContent(g, buf, sizeof(buf)); switch (node->GetContent(g, buf, sizeof(buf))) {
case RC_INFO:
PushWarning(g, txmp);
case RC_OK:
break;
default:
goto err;
} // enswitch rc
} // endif atp; } // endif atp;
xcol->Len = strlen(buf); xcol->Len = strlen(buf);
@@ -313,10 +329,6 @@ PQRYRES XMLColumns(PGLOBAL g, char *dp, char *tab, PTOS topt, bool info)
pxcp = xcp; pxcp = xcp;
// for (j = lvl - 1; j >= 0; j--)
// if (jrp[j] && (jrp[j] = jrp[j]->GetNext()))
// goto more;
if (vp->atp) if (vp->atp)
vp->atp = vp->atp->GetNext(g); vp->atp = vp->atp->GetNext(g);
@@ -421,8 +433,6 @@ XMLDEF::XMLDEF(void)
bool XMLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff) bool XMLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
{ {
char *defrow, *defcol, buf[10]; char *defrow, *defcol, buf[10];
//void *memp = Cat->GetDescp();
//PSZ dbfile = Cat->GetDescFile();
Fn = GetStringCatInfo(g, "Filename", NULL); Fn = GetStringCatInfo(g, "Filename", NULL);
Encoding = GetStringCatInfo(g, "Encoding", "UTF-8"); Encoding = GetStringCatInfo(g, "Encoding", "UTF-8");
@@ -479,12 +489,6 @@ bool XMLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
Header = GetIntCatInfo("Header", 0); Header = GetIntCatInfo("Header", 0);
GetCharCatInfo("Xmlsup", "*", buf, sizeof(buf)); GetCharCatInfo("Xmlsup", "*", buf, sizeof(buf));
//if (*buf == '*') // Try the old (deprecated) option
// GetCharCatInfo("Method", "*", buf, sizeof(buf));
//if (*buf == '*') // Is there a default for the database?
// GetCharCatInfo("Defxml", XMLSUP, buf, sizeof(buf));
// Note that if no support is specified, the default is MS-DOM // Note that if no support is specified, the default is MS-DOM
// on Windows and libxml2 otherwise // on Windows and libxml2 otherwise
if (*buf == '*') if (*buf == '*')
@@ -499,7 +503,6 @@ bool XMLDEF::DefineAM(PGLOBAL g, LPCSTR am, int poff)
// Get eventual table node attribute // Get eventual table node attribute
Attrib = GetStringCatInfo(g, "Attribute", ""); Attrib = GetStringCatInfo(g, "Attribute", "");
Hdattr = GetStringCatInfo(g, "HeadAttr", ""); Hdattr = GetStringCatInfo(g, "HeadAttr", "");
return false; return false;
} // end of DefineAM } // end of DefineAM
@@ -519,30 +522,6 @@ PTDB XMLDEF::GetTable(PGLOBAL g, MODE m)
return tdbp; return tdbp;
} // end of GetTable } // end of GetTable
#if 0
/***********************************************************************/
/* DeleteTableFile: Delete XML table files using platform API. */
/***********************************************************************/
bool XMLDEF::DeleteTableFile(PGLOBAL g)
{
char filename[_MAX_PATH];
bool rc;
// Delete the XML table file if not protected
if (!IsReadOnly()) {
PlugSetPath(filename, Fn, GetPath());
#if defined(WIN32)
rc = !DeleteFile(filename);
#else // UNIX
rc = remove(filename);
#endif // UNIX
} else
rc =true;
return rc; // Return true if error
} // end of DeleteTableFile
#endif // 0
/* ------------------------- TDBXML Class ---------------------------- */ /* ------------------------- TDBXML Class ---------------------------- */
/***********************************************************************/ /***********************************************************************/
@@ -667,7 +646,7 @@ PCOL TDBXML::MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n)
/***********************************************************************/ /***********************************************************************/
/* InsertSpecialColumn: Put a special column ahead of the column list.*/ /* InsertSpecialColumn: Put a special column ahead of the column list.*/
/***********************************************************************/ /***********************************************************************/
PCOL TDBXML::InsertSpecialColumn(PGLOBAL g, PCOL colp) PCOL TDBXML::InsertSpecialColumn(PCOL colp)
{ {
if (!colp->IsSpecial()) if (!colp->IsSpecial())
return NULL; return NULL;
@@ -854,7 +833,6 @@ bool TDBXML::Initialize(PGLOBAL g)
To_Xb = Docp->LinkXblock(g, Mode, rc, filename); To_Xb = Docp->LinkXblock(g, Mode, rc, filename);
// Add a CONNECT comment node // Add a CONNECT comment node
// sprintf(buf, " Created by CONNECT %s ", version);
strcpy(buf, " Created by the MariaDB CONNECT Storage Engine"); strcpy(buf, " Created by the MariaDB CONNECT Storage Engine");
Docp->AddComment(g, buf); Docp->AddComment(g, buf);
@@ -1279,7 +1257,6 @@ void TDBXML::CloseDB(PGLOBAL g)
if (Docp) { if (Docp) {
if (Changed) { if (Changed) {
char filename[_MAX_PATH]; char filename[_MAX_PATH];
// PDBUSER dup = (PDBUSER)g->Activityp->Aptr;
// We used the file name relative to recorded datapath // We used the file name relative to recorded datapath
PlugSetPath(filename, Xfile, GetPath()); PlugSetPath(filename, Xfile, GetPath());
@@ -1321,7 +1298,6 @@ void TDBXML::CloseDB(PGLOBAL g)
NewRow = false; NewRow = false;
Hasnod = false; Hasnod = false;
Write = false; Write = false;
// Bufdone = false;
Nodedone = false; Nodedone = false;
Void = false; Void = false;
Nrow = -1; Nrow = -1;
@@ -1413,8 +1389,6 @@ bool XMLCOL::AllocBuf(PGLOBAL g, bool mode)
if (Valbuf) if (Valbuf)
return false; // Already done return false; // Already done
//Valbuf = (char*)PlugSubAlloc(g, NULL, Long + 1);
//Valbuf[Long] = '\0';
return ParseXpath(g, mode); return ParseXpath(g, mode);
} // end of AllocBuf } // end of AllocBuf
@@ -1506,8 +1480,6 @@ bool XMLCOL::ParseXpath(PGLOBAL g, bool mode)
// HTML like table, columns are retrieved by position // HTML like table, columns are retrieved by position
new(this) XPOSCOL(Value); // Change the class of this column new(this) XPOSCOL(Value); // Change the class of this column
Inod = -1; Inod = -1;
// Tdbp->Hasnod = true;
// return false;
} else if (Type == 0 && !mode) { } else if (Type == 0 && !mode) {
strcat(strcat(pbuf, "@"), Name); strcat(strcat(pbuf, "@"), Name);
} else { // Type == 1 } else { // Type == 1
@@ -1657,7 +1629,6 @@ void XMLCOL::WriteColumn(PGLOBAL g)
int done = 0; int done = 0;
int i, n, k = 0; int i, n, k = 0;
PXNODE TopNode = NULL; PXNODE TopNode = NULL;
//PXATTR AttNode = NULL;
if (trace > 1) if (trace > 1)
htrc("XML WriteColumn: col %s R%d coluse=%.4X status=%.4X\n", htrc("XML WriteColumn: col %s R%d coluse=%.4X status=%.4X\n",
@@ -1892,7 +1863,6 @@ void XMULCOL::WriteColumn(PGLOBAL g)
int done = 0; int done = 0;
int i, n, len, k = 0; int i, n, len, k = 0;
PXNODE TopNode = NULL; PXNODE TopNode = NULL;
//PXATTR AttNode = NULL;
if (trace) if (trace)
htrc("XML WriteColumn: col %s R%d coluse=%.4X status=%.4X\n", htrc("XML WriteColumn: col %s R%d coluse=%.4X status=%.4X\n",

View File

@@ -84,7 +84,7 @@ class DllExport TDBXML : public TDBASE {
// Database routines // Database routines
virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n); virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n);
virtual PCOL InsertSpecialColumn(PGLOBAL g, PCOL colp); virtual PCOL InsertSpecialColumn(PCOL colp);
//virtual int GetMaxSame(PGLOBAL g) {return (Xpand) ? Limit : 1;} //virtual int GetMaxSame(PGLOBAL g) {return (Xpand) ? Limit : 1;}
virtual int Cardinality(PGLOBAL g); virtual int Cardinality(PGLOBAL g);
virtual int GetMaxSize(PGLOBAL g); virtual int GetMaxSize(PGLOBAL g);

View File

@@ -1,4 +1,4 @@
/* Copyright (C) Olivier Bertrand 2004 - 2014 /* Copyright (C) Olivier Bertrand 2004 - 2015
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@
*/ */
/****************************************************************************/ /****************************************************************************/
/* Author: Olivier Bertrand -- bertrandop@gmail.com -- 2004-2014 */ /* Author: Olivier Bertrand -- bertrandop@gmail.com -- 2004-2015 */
/****************************************************************************/ /****************************************************************************/
#ifdef USE_PRAGMA_IMPLEMENTATION #ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation #pragma implementation // gcc: Class implementation
@@ -63,7 +63,7 @@ void SetWorkSize(uint);
/****************************************************************************/ /****************************************************************************/
/* Constructor. */ /* Constructor. */
/****************************************************************************/ /****************************************************************************/
user_connect::user_connect(THD *thd, const char *dbn) user_connect::user_connect(THD *thd)
{ {
thdp= thd; thdp= thd;
next= NULL; next= NULL;

View File

@@ -45,7 +45,7 @@ class user_connect
friend int connect_done_func(void *); friend int connect_done_func(void *);
public: public:
// Constructor // Constructor
user_connect(THD *thd, const char *dbn); user_connect(THD *thd);
// Destructor // Destructor
virtual ~user_connect(); virtual ~user_connect();

View File

@@ -132,7 +132,7 @@ VALBLK::VALBLK(void *mp, int type, int nval, bool un)
/***********************************************************************/ /***********************************************************************/
/* Raise error for numeric types. */ /* Raise error for numeric types. */
/***********************************************************************/ /***********************************************************************/
PSZ VALBLK::GetCharValue(int n) PSZ VALBLK::GetCharValue(int)
{ {
PGLOBAL& g = Global; PGLOBAL& g = Global;
@@ -145,7 +145,7 @@ PSZ VALBLK::GetCharValue(int n)
/***********************************************************************/ /***********************************************************************/
/* Set format so formatted dates can be converted on input. */ /* Set format so formatted dates can be converted on input. */
/***********************************************************************/ /***********************************************************************/
bool VALBLK::SetFormat(PGLOBAL g, PSZ fmt, int len, int year) bool VALBLK::SetFormat(PGLOBAL g, PSZ, int, int)
{ {
sprintf(g->Message, MSG(NO_DATE_FMT), Type); sprintf(g->Message, MSG(NO_DATE_FMT), Type);
return true; return true;
@@ -752,7 +752,7 @@ double CHRBLK::GetFloatValue(int n)
/***********************************************************************/ /***********************************************************************/
/* STRING GetCharString: get string representation of a char value. */ /* STRING GetCharString: get string representation of a char value. */
/***********************************************************************/ /***********************************************************************/
char *CHRBLK::GetCharString(char *p, int n) char *CHRBLK::GetCharString(char *, int n)
{ {
return (char *)GetValPtrEx(n); return (char *)GetValPtrEx(n);
} // end of GetCharString } // end of GetCharString

View File

@@ -95,17 +95,17 @@ class VALBLK : public BLOCK {
virtual bool IsCi(void) {return false;} virtual bool IsCi(void) {return false;}
// Methods // Methods
virtual void SetValue(short sval, int n) {assert(false);} virtual void SetValue(short, int) {assert(false);}
virtual void SetValue(ushort sval, int n) {assert(false);} virtual void SetValue(ushort, int) {assert(false);}
virtual void SetValue(int lval, int n) {assert(false);} virtual void SetValue(int, int) {assert(false);}
virtual void SetValue(uint lval, int n) {assert(false);} virtual void SetValue(uint, int) {assert(false);}
virtual void SetValue(longlong lval, int n) {assert(false);} virtual void SetValue(longlong, int) {assert(false);}
virtual void SetValue(ulonglong lval, int n) {assert(false);} virtual void SetValue(ulonglong, int) {assert(false);}
virtual void SetValue(double fval, int n) {assert(false);} virtual void SetValue(double, int) {assert(false);}
virtual void SetValue(char cval, int n) {assert(false);} virtual void SetValue(char, int) {assert(false);}
virtual void SetValue(uchar cval, int n) {assert(false);} virtual void SetValue(uchar, int) {assert(false);}
virtual void SetValue(PSZ sp, int n) {assert(false);} virtual void SetValue(PSZ, int) {assert(false);}
virtual void SetValue(char *sp, uint len, int n) {assert(false);} virtual void SetValue(char *, uint, int) {assert(false);}
virtual void SetValue(PVAL valp, int n) = 0; virtual void SetValue(PVAL valp, int n) = 0;
virtual void SetValue(PVBLK pv, int n1, int n2) = 0; virtual void SetValue(PVBLK pv, int n1, int n2) = 0;
virtual void SetMin(PVAL valp, int n) = 0; virtual void SetMin(PVAL valp, int n) = 0;
@@ -271,7 +271,7 @@ class STRBLK : public VALBLK {
// Implementation // Implementation
virtual void SetNull(int n, bool b) {if (b) {Strp[n] = NULL;}} virtual void SetNull(int n, bool b) {if (b) {Strp[n] = NULL;}}
virtual bool IsNull(int n) {return Strp[n] == NULL;} virtual bool IsNull(int n) {return Strp[n] == NULL;}
virtual void SetNullable(bool b) {} // Always nullable virtual void SetNullable(bool) {} // Always nullable
virtual bool Init(PGLOBAL g, bool check); virtual bool Init(PGLOBAL g, bool check);
virtual int GetVlen(void) {return sizeof(PSZ);} virtual int GetVlen(void) {return sizeof(PSZ);}
virtual PSZ GetCharValue(int n) {return Strp[n];} virtual PSZ GetCharValue(int n) {return Strp[n];}
@@ -284,7 +284,7 @@ class STRBLK : public VALBLK {
virtual longlong GetBigintValue(int n); virtual longlong GetBigintValue(int n);
virtual ulonglong GetUBigintValue(int n); virtual ulonglong GetUBigintValue(int n);
virtual double GetFloatValue(int n) {return atof(Strp[n]);} virtual double GetFloatValue(int n) {return atof(Strp[n]);}
virtual char *GetCharString(char *p, int n) {return Strp[n];} virtual char *GetCharString(char *, int n) {return Strp[n];}
virtual void Reset(int n) {Strp[n] = NULL;} virtual void Reset(int n) {Strp[n] = NULL;}
// Methods // Methods

View File

@@ -475,7 +475,7 @@ PVAL AllocateValue(PGLOBAL g, PVAL valp, int newtype, int uns)
break; break;
case TYPE_DATE: case TYPE_DATE:
vp = new(g) DTVAL(g, valp->GetIntValue()); vp = new(g) DTVAL(valp->GetIntValue());
break; break;
case TYPE_DOUBLE: case TYPE_DOUBLE:
vp = new(g) TYPVAL<double>(valp->GetFloatValue(), TYPE_DOUBLE, vp = new(g) TYPVAL<double>(valp->GetFloatValue(), TYPE_DOUBLE,
@@ -551,7 +551,7 @@ BYTE VALUE::TestValue(PVAL vp)
/***********************************************************************/ /***********************************************************************/
/* Compute a function on a string. */ /* Compute a function on a string. */
/***********************************************************************/ /***********************************************************************/
bool VALUE::Compute(PGLOBAL g, PVAL *vp, int np, OPVAL op) bool VALUE::Compute(PGLOBAL g, PVAL *, int, OPVAL)
{ {
strcpy(g->Message, "Compute not implemented for this value type"); strcpy(g->Message, "Compute not implemented for this value type");
return true; return true;
@@ -976,7 +976,7 @@ ulonglong TYPVAL<ulonglong>::MinMaxVal(bool b)
{return (b) ? 0xFFFFFFFFFFFFFFFFLL : 0;} {return (b) ? 0xFFFFFFFFFFFFFFFFLL : 0;}
template <> template <>
double TYPVAL<double>::MinMaxVal(bool b) double TYPVAL<double>::MinMaxVal(bool)
{assert(false); return 0.0;} {assert(false); return 0.0;}
template <> template <>
@@ -1566,7 +1566,7 @@ bool TYPVAL<PSZ>::GetBinValue(void *buf, int buflen, bool go)
/***********************************************************************/ /***********************************************************************/
/* STRING ShowValue: get string representation of a char value. */ /* STRING ShowValue: get string representation of a char value. */
/***********************************************************************/ /***********************************************************************/
char *TYPVAL<PSZ>::ShowValue(char *buf, int len) char *TYPVAL<PSZ>::ShowValue(char *, int)
{ {
return Strp; return Strp;
} // end of ShowValue } // end of ShowValue
@@ -1574,7 +1574,7 @@ char *TYPVAL<PSZ>::ShowValue(char *buf, int len)
/***********************************************************************/ /***********************************************************************/
/* STRING GetCharString: get string representation of a char value. */ /* STRING GetCharString: get string representation of a char value. */
/***********************************************************************/ /***********************************************************************/
char *TYPVAL<PSZ>::GetCharString(char *p) char *TYPVAL<PSZ>::GetCharString(char *)
{ {
return Strp; return Strp;
} // end of GetCharString } // end of GetCharString
@@ -1681,7 +1681,7 @@ bool TYPVAL<PSZ>::FormatValue(PVAL vp, char *fmt)
/***********************************************************************/ /***********************************************************************/
/* STRING SetFormat function (used to set SELECT output format). */ /* STRING SetFormat function (used to set SELECT output format). */
/***********************************************************************/ /***********************************************************************/
bool TYPVAL<PSZ>::SetConstFormat(PGLOBAL g, FORMAT& fmt) bool TYPVAL<PSZ>::SetConstFormat(PGLOBAL, FORMAT& fmt)
{ {
fmt.Type[0] = 'C'; fmt.Type[0] = 'C';
fmt.Length = Len; fmt.Length = Len;
@@ -2300,7 +2300,7 @@ char *BINVAL::ShowValue(char *buf, int len)
/***********************************************************************/ /***********************************************************************/
/* BINVAL GetCharString: get string representation of a binary value. */ /* BINVAL GetCharString: get string representation of a binary value. */
/***********************************************************************/ /***********************************************************************/
char *BINVAL::GetCharString(char *p) char *BINVAL::GetCharString(char *)
{ {
if (!Chrp) if (!Chrp)
Chrp = (char*)PlugSubAlloc(Global, NULL, Clen * 2 + 1); Chrp = (char*)PlugSubAlloc(Global, NULL, Clen * 2 + 1);
@@ -2349,7 +2349,7 @@ bool BINVAL::FormatValue(PVAL vp, char *fmt)
/***********************************************************************/ /***********************************************************************/
/* BINVAL SetFormat function (used to set SELECT output format). */ /* BINVAL SetFormat function (used to set SELECT output format). */
/***********************************************************************/ /***********************************************************************/
bool BINVAL::SetConstFormat(PGLOBAL g, FORMAT& fmt) bool BINVAL::SetConstFormat(PGLOBAL, FORMAT& fmt)
{ {
fmt.Type[0] = 'B'; fmt.Type[0] = 'B';
fmt.Length = Clen; fmt.Length = Clen;
@@ -2379,7 +2379,7 @@ DTVAL::DTVAL(PGLOBAL g, int n, int prec, PSZ fmt)
/***********************************************************************/ /***********************************************************************/
/* DTVAL public constructor from int. */ /* DTVAL public constructor from int. */
/***********************************************************************/ /***********************************************************************/
DTVAL::DTVAL(PGLOBAL g, int n) : TYPVAL<int>(n, TYPE_DATE) DTVAL::DTVAL(int n) : TYPVAL<int>(n, TYPE_DATE)
{ {
Pdtp = NULL; Pdtp = NULL;
Len = 19; Len = 19;

View File

@@ -94,18 +94,18 @@ class DllExport VALUE : public BLOCK {
virtual bool SetValue_pval(PVAL valp, bool chktype = false) = 0; virtual bool SetValue_pval(PVAL valp, bool chktype = false) = 0;
virtual bool SetValue_char(char *p, int n) = 0; virtual bool SetValue_char(char *p, int n) = 0;
virtual void SetValue_psz(PSZ s) = 0; virtual void SetValue_psz(PSZ s) = 0;
virtual void SetValue_bool(bool b) {assert(FALSE);} virtual void SetValue_bool(bool) {assert(FALSE);}
virtual int CompareValue(PVAL vp) = 0; virtual int CompareValue(PVAL vp) = 0;
virtual BYTE TestValue(PVAL vp); virtual BYTE TestValue(PVAL vp);
virtual void SetValue(char c) {assert(false);} virtual void SetValue(char) {assert(false);}
virtual void SetValue(uchar c) {assert(false);} virtual void SetValue(uchar) {assert(false);}
virtual void SetValue(short i) {assert(false);} virtual void SetValue(short) {assert(false);}
virtual void SetValue(ushort i) {assert(false);} virtual void SetValue(ushort) {assert(false);}
virtual void SetValue(int n) {assert(false);} virtual void SetValue(int) {assert(false);}
virtual void SetValue(uint n) {assert(false);} virtual void SetValue(uint) {assert(false);}
virtual void SetValue(longlong n) {assert(false);} virtual void SetValue(longlong) {assert(false);}
virtual void SetValue(ulonglong n) {assert(false);} virtual void SetValue(ulonglong) {assert(false);}
virtual void SetValue(double f) {assert(false);} virtual void SetValue(double) {assert(false);}
virtual void SetValue_pvblk(PVBLK blk, int n) = 0; virtual void SetValue_pvblk(PVBLK blk, int n) = 0;
virtual void SetBinValue(void *p) = 0; virtual void SetBinValue(void *p) = 0;
virtual bool GetBinValue(void *buf, int buflen, bool go) = 0; virtual bool GetBinValue(void *buf, int buflen, bool go) = 0;
@@ -338,7 +338,7 @@ class DllExport BINVAL: public VALUE {
virtual void SetValue(double f); virtual void SetValue(double f);
virtual void SetBinValue(void *p); virtual void SetBinValue(void *p);
virtual bool GetBinValue(void *buf, int buflen, bool go); virtual bool GetBinValue(void *buf, int buflen, bool go);
virtual int CompareValue(PVAL vp) {assert(false); return 0;} virtual int CompareValue(PVAL) {assert(false); return 0;}
virtual char *ShowValue(char *buf, int); virtual char *ShowValue(char *buf, int);
virtual char *GetCharString(char *p); virtual char *GetCharString(char *p);
virtual bool IsEqual(PVAL vp, bool chktype); virtual bool IsEqual(PVAL vp, bool chktype);
@@ -359,11 +359,11 @@ class DllExport DTVAL : public TYPVAL<int> {
public: public:
// Constructors // Constructors
DTVAL(PGLOBAL g, int n, int p, PSZ fmt); DTVAL(PGLOBAL g, int n, int p, PSZ fmt);
DTVAL(PGLOBAL g, PSZ s, int n); //DTVAL(PGLOBAL g, PSZ s, int n);
DTVAL(PGLOBAL g, short i); //DTVAL(PGLOBAL g, short i);
DTVAL(PGLOBAL g, int n); DTVAL(int n);
DTVAL(PGLOBAL g, longlong n); //DTVAL(PGLOBAL g, longlong n);
DTVAL(PGLOBAL g, double f); //DTVAL(PGLOBAL g, double f);
// Implementation // Implementation
virtual bool IsZero(void) {return Null;} virtual bool IsZero(void) {return Null;}

View File

@@ -1,7 +1,7 @@
/***************** Xindex C++ Class Xindex Code (.CPP) *****************/ /***************** Xindex C++ Class Xindex Code (.CPP) *****************/
/* Name: XINDEX.CPP Version 2.9 */ /* Name: XINDEX.CPP Version 2.9 */
/* */ /* */
/* (C) Copyright to the author Olivier BERTRAND 2004-2014 */ /* (C) Copyright to the author Olivier BERTRAND 2004-2015 */
/* */ /* */
/* This file contains the class XINDEX implementation code. */ /* This file contains the class XINDEX implementation code. */
/***********************************************************************/ /***********************************************************************/
@@ -179,7 +179,7 @@ XXBASE::XXBASE(PTDBDOS tbxp, bool b) : CSORT(b),
/***********************************************************************/ /***********************************************************************/
/* Make file output of XINDEX contents. */ /* Make file output of XINDEX contents. */
/***********************************************************************/ /***********************************************************************/
void XXBASE::Print(PGLOBAL g, FILE *f, uint n) void XXBASE::Print(PGLOBAL, FILE *f, uint n)
{ {
char m[64]; char m[64];
@@ -191,7 +191,7 @@ void XXBASE::Print(PGLOBAL g, FILE *f, uint n)
/***********************************************************************/ /***********************************************************************/
/* Make string output of XINDEX contents. */ /* Make string output of XINDEX contents. */
/***********************************************************************/ /***********************************************************************/
void XXBASE::Print(PGLOBAL g, char *ps, uint z) void XXBASE::Print(PGLOBAL, char *ps, uint z)
{ {
*ps = '\0'; *ps = '\0';
strncat(ps, "Xindex", z); strncat(ps, "Xindex", z);
@@ -287,7 +287,7 @@ int XINDEX::Qcompare(int *i1, int *i2)
/* Sure enough, it is done while records are read and permit to avoid */ /* Sure enough, it is done while records are read and permit to avoid */
/* reading the table while doing the join (Dynamic index only) */ /* reading the table while doing the join (Dynamic index only) */
/***********************************************************************/ /***********************************************************************/
bool XINDEX::AddColumns(PIXDEF xdp) bool XINDEX::AddColumns(void)
{ {
if (!Dynamic) if (!Dynamic)
return false; // Not applying to static index return false; // Not applying to static index
@@ -377,7 +377,7 @@ bool XINDEX::Make(PGLOBAL g, PIXDEF sxp)
To_LastCol = prev; To_LastCol = prev;
if (AddColumns(sxp)) { if (AddColumns()) {
PCOL kolp = To_Cols[0]; // Temporary while imposing Nk = 1 PCOL kolp = To_Cols[0]; // Temporary while imposing Nk = 1
i = 0; i = 0;
@@ -733,7 +733,7 @@ int XINDEX::ColMaxSame(PXCOL kp)
/* Reorder: use the sort index to reorder the data in storage so */ /* Reorder: use the sort index to reorder the data in storage so */
/* it will be physically sorted and sort index can be removed. */ /* it will be physically sorted and sort index can be removed. */
/***********************************************************************/ /***********************************************************************/
bool XINDEX::Reorder(PGLOBAL g) bool XINDEX::Reorder(PGLOBAL g __attribute__((unused)))
{ {
register int i, j, k, n; register int i, j, k, n;
bool sorted = true; bool sorted = true;
@@ -1585,7 +1585,7 @@ int XINDEX::Range(PGLOBAL g, int limit, bool incl)
if (++i == Nval) break; if (++i == Nval) break;
} // endfor kp } // endfor kp
if ((k = FastFind(Nval)) < Num_K) if ((k = FastFind()) < Num_K)
n = k; n = k;
// if (limit) // if (limit)
// n = (Mul) ? k : kp->Val_K; // n = (Mul) ? k : kp->Val_K;
@@ -1826,7 +1826,7 @@ int XINDEX::Fetch(PGLOBAL g)
if (trace > 1) if (trace > 1)
htrc("Fetch: Looking for new value\n"); htrc("Fetch: Looking for new value\n");
Cur_K = FastFind(Nval); Cur_K = FastFind();
if (Cur_K >= Num_K) if (Cur_K >= Num_K)
/*************************************************************/ /*************************************************************/
@@ -1857,12 +1857,12 @@ int XINDEX::Fetch(PGLOBAL g)
/* FastFind: Returns the index of matching record in a join using an */ /* FastFind: Returns the index of matching record in a join using an */
/* optimized algorithm based on dichotomie and optimized comparing. */ /* optimized algorithm based on dichotomie and optimized comparing. */
/***********************************************************************/ /***********************************************************************/
int XINDEX::FastFind(int nv) int XINDEX::FastFind(void)
{ {
register int curk, sup, inf, i= 0, k, n = 2; register int curk, sup, inf, i= 0, k, n = 2;
register PXCOL kp, kcp; register PXCOL kp, kcp;
assert((int)nv == Nval); //assert((int)nv == Nval);
if (Nblk && Op == OP_EQ) { if (Nblk && Op == OP_EQ) {
// Look in block values to find in which block to search // Look in block values to find in which block to search
@@ -2018,7 +2018,7 @@ int XINDXS::Range(PGLOBAL g, int limit, bool incl)
/*********************************************************************/ /*********************************************************************/
if (xp->GetType() == TYPE_CONST) { if (xp->GetType() == TYPE_CONST) {
kp->Valp->SetValue_pval(xp->GetValue(), !kp->Prefix); kp->Valp->SetValue_pval(xp->GetValue(), !kp->Prefix);
k = FastFind(Nval); k = FastFind();
if (k < Num_K || Op != OP_EQ) if (k < Num_K || Op != OP_EQ)
if (limit) if (limit)
@@ -2162,7 +2162,7 @@ int XINDXS::Fetch(PGLOBAL g)
if (trace > 1) if (trace > 1)
htrc("Fetch: Looking for new value\n"); htrc("Fetch: Looking for new value\n");
Cur_K = FastFind(1); Cur_K = FastFind();
if (Cur_K >= Num_K) if (Cur_K >= Num_K)
// Rank not whithin index table, signal record not found // Rank not whithin index table, signal record not found
@@ -2190,7 +2190,7 @@ int XINDXS::Fetch(PGLOBAL g)
/* FastFind: Returns the index of matching indexed record using an */ /* FastFind: Returns the index of matching indexed record using an */
/* optimized algorithm based on dichotomie and optimized comparing. */ /* optimized algorithm based on dichotomie and optimized comparing. */
/***********************************************************************/ /***********************************************************************/
int XINDXS::FastFind(int nk) int XINDXS::FastFind(void)
{ {
register int sup, inf, i= 0, n = 2; register int sup, inf, i= 0, n = 2;
register PXCOL kcp = To_KeyCol; register PXCOL kcp = To_KeyCol;
@@ -2360,7 +2360,8 @@ bool XFILE::Open(PGLOBAL g, char *filename, int id, MODE mode)
/***********************************************************************/ /***********************************************************************/
/* Move into an index file. */ /* Move into an index file. */
/***********************************************************************/ /***********************************************************************/
bool XFILE::Seek(PGLOBAL g, int low, int high, int origin) bool XFILE::Seek(PGLOBAL g, int low, int high __attribute__((unused)),
int origin)
{ {
#if defined(_DEBUG) #if defined(_DEBUG)
assert(high == 0); assert(high == 0);
@@ -2371,7 +2372,6 @@ bool XFILE::Seek(PGLOBAL g, int low, int high, int origin)
return true; return true;
} // endif } // endif
//ftell(Xfile);
return false; return false;
} // end of Seek } // end of Seek
@@ -2819,7 +2819,7 @@ void XHUGE::Close(char *fn, int id)
/***********************************************************************/ /***********************************************************************/
/* Don't know whether this is possible for huge files. */ /* Don't know whether this is possible for huge files. */
/***********************************************************************/ /***********************************************************************/
void *XHUGE::FileView(PGLOBAL g, char *fn) void *XHUGE::FileView(PGLOBAL g, char *)
{ {
strcpy(g->Message, MSG(NO_PART_MAP)); strcpy(g->Message, MSG(NO_PART_MAP));
return NULL; return NULL;
@@ -2879,7 +2879,7 @@ bool XXROW::Init(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* RANGE: Tell how many record exist in a given value range. */ /* RANGE: Tell how many record exist in a given value range. */
/***********************************************************************/ /***********************************************************************/
int XXROW::Range(PGLOBAL g, int limit, bool incl) int XXROW::Range(PGLOBAL, int limit, bool incl)
{ {
int n = Valp->GetIntValue(); int n = Valp->GetIntValue();
@@ -2895,7 +2895,7 @@ int XXROW::Range(PGLOBAL g, int limit, bool incl)
/***********************************************************************/ /***********************************************************************/
/* XXROW: Fetch a physical or logical record. */ /* XXROW: Fetch a physical or logical record. */
/***********************************************************************/ /***********************************************************************/
int XXROW::Fetch(PGLOBAL g) int XXROW::Fetch(PGLOBAL)
{ {
if (Num_K == 0) if (Num_K == 0)
return -1; // means end of file return -1; // means end of file
@@ -2904,7 +2904,7 @@ int XXROW::Fetch(PGLOBAL g)
/* Look for a key equal to the link column of previous table, */ /* Look for a key equal to the link column of previous table, */
/* and return its rank whithin the index table. */ /* and return its rank whithin the index table. */
/*********************************************************************/ /*********************************************************************/
Cur_K = FastFind(1); Cur_K = FastFind();
if (Cur_K >= Num_K) if (Cur_K >= Num_K)
/*******************************************************************/ /*******************************************************************/
@@ -2926,7 +2926,7 @@ int XXROW::Fetch(PGLOBAL g)
/***********************************************************************/ /***********************************************************************/
/* FastFind: Returns the index of matching record in a join. */ /* FastFind: Returns the index of matching record in a join. */
/***********************************************************************/ /***********************************************************************/
int XXROW::FastFind(int nk) int XXROW::FastFind(void)
{ {
int n = Valp->GetIntValue(); int n = Valp->GetIntValue();

View File

@@ -1,7 +1,7 @@
/*************** Xindex H Declares Source Code File (.H) ***************/ /*************** Xindex H Declares Source Code File (.H) ***************/
/* Name: XINDEX.H Version 3.5 */ /* Name: XINDEX.H Version 3.5 */
/* */ /* */
/* (C) Copyright to the author Olivier BERTRAND 2004 - 2013 */ /* (C) Copyright to the author Olivier BERTRAND 2004 - 2015 */
/* */ /* */
/* This file contains the XINDEX class declares. */ /* This file contains the XINDEX class declares. */
/***********************************************************************/ /***********************************************************************/
@@ -205,12 +205,11 @@ class DllExport XXBASE : public CSORT, public BLOCK {
#endif // XMAP #endif // XMAP
virtual int MaxRange(void) {return 1;} virtual int MaxRange(void) {return 1;}
virtual int Fetch(PGLOBAL g) = 0; virtual int Fetch(PGLOBAL g) = 0;
virtual bool NextVal(bool eq) {return true;} virtual bool NextVal(bool) {return true;}
virtual bool PrevVal(void) {return true;} virtual bool PrevVal(void) {return true;}
virtual int FastFind(int nk) = 0; virtual int FastFind(void) = 0;
virtual bool Reorder(PGLOBAL g) {return true;} virtual bool Reorder(PGLOBAL) {return true;}
virtual int Range(PGLOBAL g, int limit = 0, bool incl = true) virtual int Range(PGLOBAL, int = 0, bool = true) {return -1;} // Means error
{return -1;} // Means error
virtual int Qcompare(int *, int *) = 0; virtual int Qcompare(int *, int *) = 0;
virtual int GroupSize(void) {return 1;} virtual int GroupSize(void) {return 1;}
virtual void Close(void) = 0; virtual void Close(void) = 0;
@@ -266,7 +265,7 @@ class DllExport XINDEX : public XXBASE {
#endif // XMAP #endif // XMAP
virtual int Qcompare(int *, int *); virtual int Qcompare(int *, int *);
virtual int Fetch(PGLOBAL g); virtual int Fetch(PGLOBAL g);
virtual int FastFind(int nk); virtual int FastFind(void);
virtual int GroupSize(void); virtual int GroupSize(void);
virtual int Range(PGLOBAL g, int limit = 0, bool incl = true); virtual int Range(PGLOBAL g, int limit = 0, bool incl = true);
virtual int MaxRange(void) {return MaxSame;} virtual int MaxRange(void) {return MaxSame;}
@@ -280,7 +279,7 @@ class DllExport XINDEX : public XXBASE {
bool GetAllSizes(PGLOBAL g,/* int &ndif,*/ int &numk); bool GetAllSizes(PGLOBAL g,/* int &ndif,*/ int &numk);
protected: protected:
bool AddColumns(PIXDEF xdp); bool AddColumns(void);
bool NextValDif(void); bool NextValDif(void);
// Members // Members
@@ -312,7 +311,7 @@ class DllExport XINDXS : public XINDEX {
// Methods // Methods
virtual int Qcompare(int *, int *); virtual int Qcompare(int *, int *);
virtual int Fetch(PGLOBAL g); virtual int Fetch(PGLOBAL g);
virtual int FastFind(int nk); virtual int FastFind(void);
virtual bool NextVal(bool eq); virtual bool NextVal(bool eq);
virtual bool PrevVal(void); virtual bool PrevVal(void);
virtual int Range(PGLOBAL g, int limit = 0, bool incl = true); virtual int Range(PGLOBAL g, int limit = 0, bool incl = true);
@@ -421,14 +420,14 @@ class DllExport XXROW : public XXBASE {
// Methods // Methods
virtual bool Init(PGLOBAL g); virtual bool Init(PGLOBAL g);
#if defined(XMAP) #if defined(XMAP)
virtual bool MapInit(PGLOBAL g) {return true;} virtual bool MapInit(PGLOBAL) {return true;}
#endif // XMAP #endif // XMAP
virtual int Fetch(PGLOBAL g); virtual int Fetch(PGLOBAL g);
virtual int FastFind(int nk); virtual int FastFind(void);
virtual int MaxRange(void) {return 1;} virtual int MaxRange(void) {return 1;}
virtual int Range(PGLOBAL g, int limit = 0, bool incl = true); virtual int Range(PGLOBAL g, int limit = 0, bool incl = true);
virtual int Qcompare(int *, int *) {assert(false); return 0;} virtual int Qcompare(int *, int *) {assert(false); return 0;}
virtual bool Make(PGLOBAL g, PIXDEF sxp) {return false;} virtual bool Make(PGLOBAL, PIXDEF) {return false;}
virtual void Close(void) {} virtual void Close(void) {}
protected: protected:

View File

@@ -42,9 +42,9 @@ class DllExport XOBJECT : public BLOCK {
virtual int GetResultType(void) {return TYPE_VOID;} virtual int GetResultType(void) {return TYPE_VOID;}
virtual int GetKey(void) {return 0;} virtual int GetKey(void) {return 0;}
#if defined(_DEBUG) #if defined(_DEBUG)
virtual void SetKey(int k) {assert(false);} virtual void SetKey(int) {assert(false);}
#else // !_DEBUG #else // !_DEBUG
virtual void SetKey(int k) {} // Only defined for COLBLK virtual void SetKey(int) {} // Only defined for COLBLK
#endif // !_DEBUG #endif // !_DEBUG
virtual int GetLength(void) = 0; virtual int GetLength(void) = 0;
virtual int GetLengthEx(void) = 0; virtual int GetLengthEx(void) = 0;

View File

@@ -77,21 +77,21 @@ class DllExport TDB: public BLOCK { // Table Descriptor Block.
virtual int GetTdb_No(void) {return Tdb_No;} virtual int GetTdb_No(void) {return Tdb_No;}
virtual PTDB GetNext(void) {return Next;} virtual PTDB GetNext(void) {return Next;}
virtual PCATLG GetCat(void) {return NULL;} virtual PCATLG GetCat(void) {return NULL;}
virtual void SetAbort(bool b) {;} virtual void SetAbort(bool) {;}
// Methods // Methods
virtual bool IsSame(PTDB tp) {return tp == this;} virtual bool IsSame(PTDB tp) {return tp == this;}
virtual bool IsSpecial(PSZ name) = 0; virtual bool IsSpecial(PSZ name) = 0;
virtual bool GetBlockValues(PGLOBAL g) {return false;} virtual bool GetBlockValues(PGLOBAL) {return false;}
virtual int Cardinality(PGLOBAL g) {return 0;} virtual int Cardinality(PGLOBAL) {return 0;}
virtual int GetMaxSize(PGLOBAL) = 0; virtual int GetMaxSize(PGLOBAL) = 0;
virtual int GetProgMax(PGLOBAL) = 0; virtual int GetProgMax(PGLOBAL) = 0;
virtual int GetProgCur(void) = 0; virtual int GetProgCur(void) = 0;
virtual int RowNumber(PGLOBAL g, bool b = false); virtual int RowNumber(PGLOBAL g, bool b = false);
virtual bool IsReadOnly(void) {return true;} virtual bool IsReadOnly(void) {return true;}
virtual const CHARSET_INFO *data_charset() {return NULL;} virtual const CHARSET_INFO *data_charset() {return NULL;}
virtual PTDB Duplicate(PGLOBAL g) {return NULL;} virtual PTDB Duplicate(PGLOBAL) {return NULL;}
virtual PTDB CopyOne(PTABS t) {return this;} virtual PTDB CopyOne(PTABS) {return this;}
virtual PTDB Copy(PTABS t); virtual PTDB Copy(PTABS t);
virtual void PrintAM(FILE *f, char *m) virtual void PrintAM(FILE *f, char *m)
{fprintf(f, "%s AM(%d)\n", m, GetAmType());} {fprintf(f, "%s AM(%d)\n", m, GetAmType());}
@@ -108,7 +108,7 @@ class DllExport TDB: public BLOCK { // Table Descriptor Block.
virtual int WriteDB(PGLOBAL) = 0; virtual int WriteDB(PGLOBAL) = 0;
virtual int DeleteDB(PGLOBAL, int) = 0; virtual int DeleteDB(PGLOBAL, int) = 0;
virtual void CloseDB(PGLOBAL) = 0; virtual void CloseDB(PGLOBAL) = 0;
virtual int CheckWrite(PGLOBAL g) {return 0;} virtual int CheckWrite(PGLOBAL) {return 0;}
virtual bool ReadKey(PGLOBAL, OPVAL, const void *, int) = 0; virtual bool ReadKey(PGLOBAL, OPVAL, const void *, int) = 0;
protected: protected:
@@ -155,7 +155,7 @@ class DllExport TDBASE : public TDB {
PCOL Key(int i) {return (To_Key_Col) ? To_Key_Col[i] : NULL;} PCOL Key(int i) {return (To_Key_Col) ? To_Key_Col[i] : NULL;}
// Methods // Methods
virtual bool IsUsingTemp(PGLOBAL g) {return false;} virtual bool IsUsingTemp(PGLOBAL) {return false;}
virtual bool IsIndexed(void) {return false;} virtual bool IsIndexed(void) {return false;}
virtual bool IsSpecial(PSZ name); virtual bool IsSpecial(PSZ name);
virtual PCATLG GetCat(void); virtual PCATLG GetCat(void);
@@ -170,9 +170,9 @@ class DllExport TDBASE : public TDB {
virtual CHARSET_INFO *data_charset(void); virtual CHARSET_INFO *data_charset(void);
virtual int GetProgMax(PGLOBAL g) {return GetMaxSize(g);} virtual int GetProgMax(PGLOBAL g) {return GetMaxSize(g);}
virtual int GetProgCur(void) {return GetRecpos();} virtual int GetProgCur(void) {return GetRecpos();}
virtual PSZ GetFile(PGLOBAL g) {return "Not a file";} virtual PSZ GetFile(PGLOBAL) {return "Not a file";}
virtual int GetRemote(void) {return 0;} virtual int GetRemote(void) {return 0;}
virtual void SetFile(PGLOBAL g, PSZ fn) {} virtual void SetFile(PGLOBAL, PSZ) {}
virtual void ResetDB(void) {} virtual void ResetDB(void) {}
virtual void ResetSize(void) {MaxSize = -1;} virtual void ResetSize(void) {MaxSize = -1;}
virtual void RestoreNrec(void) {} virtual void RestoreNrec(void) {}
@@ -183,12 +183,12 @@ class DllExport TDBASE : public TDB {
virtual PCOL ColDB(PGLOBAL g, PSZ name, int num); virtual PCOL ColDB(PGLOBAL g, PSZ name, int num);
virtual PCOL MakeCol(PGLOBAL, PCOLDEF, PCOL, int) virtual PCOL MakeCol(PGLOBAL, PCOLDEF, PCOL, int)
{assert(false); return NULL;} {assert(false); return NULL;}
virtual PCOL InsertSpecialColumn(PGLOBAL g, PCOL colp); virtual PCOL InsertSpecialColumn(PCOL colp);
virtual PCOL InsertSpcBlk(PGLOBAL g, PCOLDEF cdp); virtual PCOL InsertSpcBlk(PGLOBAL g, PCOLDEF cdp);
virtual void MarkDB(PGLOBAL g, PTDB tdb2); virtual void MarkDB(PGLOBAL g, PTDB tdb2);
virtual int MakeIndex(PGLOBAL g, PIXDEF pxdf, bool add) virtual int MakeIndex(PGLOBAL g, PIXDEF, bool)
{strcpy(g->Message, "Remote index"); return RC_INFO;} {strcpy(g->Message, "Remote index"); return RC_INFO;}
virtual bool ReadKey(PGLOBAL g, OPVAL op, const void *key, int len) virtual bool ReadKey(PGLOBAL, OPVAL, const void *, int)
{assert(false); return true;} {assert(false); return true;}
protected: protected:
@@ -225,7 +225,7 @@ class DllExport TDBCAT : public TDBASE {
// Methods // Methods
virtual int GetRecpos(void) {return N;} virtual int GetRecpos(void) {return N;}
virtual int GetProgCur(void) {return N;} virtual int GetProgCur(void) {return N;}
virtual int RowNumber(PGLOBAL g, bool b = false) {return N + 1;} virtual int RowNumber(PGLOBAL, bool = false) {return N + 1;}
virtual bool SetRecpos(PGLOBAL g, int recpos); virtual bool SetRecpos(PGLOBAL g, int recpos);
// Database routines // Database routines