diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-07-22 14:33:21 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-07-22 14:33:21 +0200 |
commit | cea6fb57ac8c9a893c0f404fef6c1469f0b6222b (patch) | |
tree | fed8b6ffa8ea2cb6347ece69c0cb81003d0ccbf6 /odb/mysql/context.hxx | |
parent | 5f71c55a1c24c23af1eeb0d664922497a0e5c071 (diff) |
Next chunk of functionality
Add SQL language lexer. Implement MySQL type declaration parser.
Create sub-directories for databases, currently mysql and tracer.
Create MySQL-specific context.
Diffstat (limited to 'odb/mysql/context.hxx')
-rw-r--r-- | odb/mysql/context.hxx | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/odb/mysql/context.hxx b/odb/mysql/context.hxx new file mode 100644 index 0000000..7c075b2 --- /dev/null +++ b/odb/mysql/context.hxx @@ -0,0 +1,47 @@ +// file : odb/mysql/context.hxx +// author : Boris Kolpackov <boris@codesynthesis.com> +// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef ODB_MYSQL_CONTEXT_HXX +#define ODB_MYSQL_CONTEXT_HXX + +#include <string> + +#include <odb/context.hxx> + +namespace mysql +{ + struct sql_type + { + sql_type () : unsign (false), bounds (false) {} + + std::string type; + bool unsign; + bool bounds; + unsigned int bounds_value; // MySQL max value is 2^32 - 1 (LONGBLOG/TEXT). + }; + + class context: public ::context + { + private: + typedef ::context base_context; + + struct data: base_context::data + { + }; + + private: + data* data_; + + public: + sql_type const& + db_type (semantics::data_member&); + + public: + context (std::ostream&, semantics::unit&, options_type const&); + context (context&); + }; +} + +#endif // ODB_MYSQL_CONTEXT_HXX |