Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/MariaDB/storage/connect/   (MariaDB Server Version 8.1-8.4©)  Datei vom 1.9.2026 mit Größe 3 kB image not shown  

Quelle  mycat.h   Sprache: C

 

/* Copyright (C) MariaDB Corporation Ab

  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
  the Free Software Foundation; version 2 of the License.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */


/**************** MYCAT H Declares Source Code File (.H) ***************/
/*  Name: MYCAT.H  Version 2.4                                         */
/*  Author: Olivier Bertrand                                           */
/*  This file contains the CONNECT plugin MYCAT class definitions.     */
/***********************************************************************/
#ifndef __MYCAT__H
#define __MYCAT__H

#include "block.h"
#include "catalog.h"

//typedef struct ha_table_option_struct TOS, *PTOS;

/**
  structure for CREATE TABLE options (table options)

  These can be specified in the CREATE TABLE:
  CREATE TABLE ( ... ) {...here...}
*/

struct ha_table_option_struct {
  const char *type;
  const char *filename;
  const char *optname;
  const char *tabname;
  const char *tablist;
  const char *dbname;
  const char *separator;
  const char *connect;
  const char *qchar;
  const char *module;
  const char *subtype;
  const char *catfunc;
  const char *srcdef;
  const char *colist;
 const char *filter;
  const char *oplist;
  const char *data_charset;
  const char *http;
  const char *uri;
  ulonglong lrecl;
  ulonglong elements;
//ulonglong estimate;
  ulonglong multiple;
  ulonglong header;
  ulonglong quoted;
  ulonglong ending;
  ulonglong compressed;
  bool mapped;
  bool huge;
  bool split;
  bool readonly;
  bool sepindex;
 bool zipped;
  };

// Possible value for catalog functions
#define FNC_NO      (1 << 0)    // Not a catalog table         
#define FNC_COL     (1 << 1)    // Column catalog function     
#define FNC_TABLE   (1 << 2)    // Table catalog function      
#define FNC_DSN     (1 << 3)    // Data Source catalog function
#define FNC_DRIVER  (1 << 4)    // Column catalog function     
#define FNC_NIY     (1 << 5)    // Catalog function NIY        

typedef class ha_connect     *PHC;

char   *GetPluginDir(void);
char   *GetMessageDir(void);
TABTYPE GetTypeID(const char *type);
bool    IsFileType(TABTYPE type);
bool    IsExactType(TABTYPE type);
bool    IsTypeNullable(TABTYPE type);
bool    IsTypeFixed(TABTYPE type);
bool    IsTypeIndexable(TABTYPE type);
int     GetIndexType(TABTYPE type);
uint    GetFuncID(const char *func);

/***********************************************************************/
/*  MYCAT: class for managing the CONNECT plugin DB items.             */
/***********************************************************************/
class MYCAT : public CATALOG {
 public:
  MYCAT(PHC hc);                       // Constructor

  // Implementation
  PHC     GetHandler(void) {return Hc;}
  void    SetHandler(PHC hc) {Hc= hc;}

  // Methods
  void    Reset(void) override;
  bool    StoreIndex(PGLOBAL, PTABDEF) {return false;}  // Temporary
 PTABDEF GetTableDesc(PGLOBAL g, PTABLE tablep,
                     LPCSTR type, PRELDEF *prp = NULL);
  PTDB    GetTable(PGLOBAL g, PTABLE tablep, 
                   MODE mode = MODE_READ, LPCSTR type = NULL) override;
  void    ClearDB(PGLOBAL g) override;

 protected:
 PTABDEF MakeTableDesc(PGLOBAL g, PTABLE tablep, LPCSTR am);

  // Members
  ha_connect *Hc;                          // The Connect handler
  }; // end of class MYCAT

#endif /* __MYCAT__H */

Messung V0.5 in Prozent
C=78 H=100 G=89

¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet am  2026-10-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.