mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
32a08516c9
BitKeeper/etc/ignore: Added myisam/rt_test myisam/sp_test to the ignore list
61 lines
1.1 KiB
C++
61 lines
1.1 KiB
C++
#ifndef GSTREAM_H
|
|
#define GSTREAM_H
|
|
|
|
#ifdef WITHOUT_MYSQL
|
|
#include ".\rtree\myisamdef.h"
|
|
#else
|
|
#include "mysql_priv.h"
|
|
#endif
|
|
|
|
class GTextReadStream
|
|
{
|
|
public:
|
|
enum TokTypes
|
|
{
|
|
unknown,
|
|
eostream,
|
|
word,
|
|
numeric,
|
|
l_bra,
|
|
r_bra,
|
|
comma,
|
|
};
|
|
GTextReadStream(const char *buffer, int size) :
|
|
m_cur(buffer), m_limit(buffer + size), m_last_text_position(buffer), m_err_msg(NULL) {}
|
|
GTextReadStream() : m_cur(NULL), m_limit(NULL), m_err_msg(NULL) {}
|
|
|
|
~GTextReadStream()
|
|
{
|
|
my_free(m_err_msg, MYF(MY_ALLOW_ZERO_PTR));
|
|
}
|
|
|
|
int get_next_toc_type() const;
|
|
const char *get_next_word(int *word_len);
|
|
int get_next_number(double *d);
|
|
char get_next_symbol();
|
|
|
|
const char *get_last_text_position() const
|
|
{
|
|
return m_last_text_position;
|
|
}
|
|
|
|
void set_error_msg(const char *msg);
|
|
|
|
// caller should free this pointer
|
|
char *get_error_msg()
|
|
{
|
|
char *err_msg = m_err_msg;
|
|
m_err_msg = NULL;
|
|
return err_msg;
|
|
}
|
|
protected:
|
|
const char *m_cur;
|
|
const char *m_limit;
|
|
const char *m_last_text_position;
|
|
char *m_err_msg;
|
|
};
|
|
|
|
#endif
|
|
|
|
|
|
|