OSDN Git Service

db/sql/prepare.hpp: 中身書いたかなー
authormyun2 <myun2@nwhite.info>
Tue, 17 Apr 2012 09:25:11 +0000 (18:25 +0900)
committermyun2 <myun2@nwhite.info>
Tue, 17 Apr 2012 09:25:11 +0000 (18:25 +0900)
roast/include/roast/db/sql/prepare.hpp
roast/include/roast/db/sql/sql_common.hpp

index 7fa0257..7398699 100644 (file)
@@ -16,25 +16,29 @@ namespace roast
                //      Prepared Statements
                
                //      PREPARE (ex: PREPARE stmt1 FROM 'SELECT ...')
-               template <typename STMT_NAME, typename STMT_BODY>
+               template <typename STATEMENT_NAME, typename QUERY_BODY>
                struct prepate : public seq<
-                       _op_names::prepate, _char::space,
-                       _op_names::from, _char::sglqut, _char::space, STMT_BODY, _char::sglqut>
+                       _op_names::prepate, _char::space,                                                                               //      PREPARE <STATEMENT_NAME>
+                       _op_names::from, _char::space, _char::sglqut, QUERY_BODY, _char::sglqut>//      FROM '<QUERY_BODY>'
                {
                };
                
                ///////////////////////////////////////////////////////////////////////////////////
                
                //      SET
-               template <typename VAR_NAME, typename VAR_VALUE>
-               class set : public seq<_op_names::set, _char::space, _char::equal, _char::space, VAR_VALUE>
+               template <typename VARIABLE_NAME, typename VALUE>
+               class set : public seq<
+                       _op_names::set, _char::space, _char::equal, _char::space, VAR_VALUE>    //      SET <VARIABLE_NAME> = <VALUE>
                {
                };
                
                ///////////////////////////////////////////////////////////////////////////////////
                
                //      EXECUTE
-               class execute
+               template <typename STATEMENT_NAME, typename VARIABLES>
+               class execute : public seq<
+                       _op_names::execute, _char::space,                               //      EXECUTE <STATEMENT_NAME>
+                       _op_names::_using, _char::space, VARIABLES>             //      USING <VARIABLES>
                {
                };
                
index 533a6e5..09d1f72 100644 (file)
@@ -61,6 +61,7 @@ namespace roast
                        ROAST_LEXICAL_FIXSTR(prepare,"PREPARE");
                        ROAST_LEXICAL_FIXSTR(set,"SET");
                        ROAST_LEXICAL_FIXSTR(execute,"EXECUTE");
+                       ROAST_LEXICAL_FIXSTR(_using,"USING");
                }
                
                ///////////////////////////////////////////////////////////////////////////////////