summaryrefslogtreecommitdiff
path: root/sql/gstream.h
diff options
context:
space:
mode:
authorunknown <bar@gw.udmsearch.izhnet.ru>2002-02-22 15:24:42 +0400
committerunknown <bar@gw.udmsearch.izhnet.ru>2002-02-22 15:24:42 +0400
commit32a08516c974045bfc16fb30fcac18bb7ad8fbb8 (patch)
treea1157e118f45978188d5caf492b320d6302b1f93 /sql/gstream.h
parent3d5dc65dfd72083ed159220d03bea942094e8662 (diff)
downloadmariadb-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.h61
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
+
+
+