diff options
author | unknown <bar@gw.udmsearch.izhnet.ru> | 2002-02-22 15:24:42 +0400 |
---|---|---|
committer | unknown <bar@gw.udmsearch.izhnet.ru> | 2002-02-22 15:24:42 +0400 |
commit | 32a08516c974045bfc16fb30fcac18bb7ad8fbb8 (patch) | |
tree | a1157e118f45978188d5caf492b320d6302b1f93 /sql/gstream.h | |
parent | 3d5dc65dfd72083ed159220d03bea942094e8662 (diff) | |
download | mariadb-git-32a08516c974045bfc16fb30fcac18bb7ad8fbb8.tar.gz |
Added GIS extension
BitKeeper/etc/ignore:
Added myisam/rt_test myisam/sp_test to the ignore list
Diffstat (limited to 'sql/gstream.h')
-rw-r--r-- | sql/gstream.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/sql/gstream.h b/sql/gstream.h new file mode 100644 index 00000000000..f8df6e337b0 --- /dev/null +++ b/sql/gstream.h @@ -0,0 +1,61 @@ +#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 + + + |