Add no-deprecated to warnings due to dynamic exceptions.
[anna.git] / include / anna / dbms.mysql / OracleTranslator.hpp
1 // ANNA - Anna is Not Nothingness Anymore                                                         //
2 //                                                                                                //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo                         //
4 //                                                                                                //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite                           //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
7
8
9 #ifndef anna_dbms_mysql_OracleTranslator_hpp
10 #define anna_dbms_mysql_OracleTranslator_hpp
11
12 #include <anna/dbms/StatementTranslator.hpp>
13
14 namespace anna {
15
16 namespace dbms {
17
18 namespace mysql {
19
20 /**
21  * Ésta clase permite que sentencias, escritas originalmente para ser ejecutadas sobre
22  * Oracle (tm) puedan ser ejecutadas desde MySQL (tm) sin ningún tipo de problemas.
23  *
24  * Si este traductor se aplica sobre una sentencia SQL escrita originalmente para
25  * funcionar sobre MySQL el resultado será la misma sentencia.
26  *
27  * \see anna::dbms::Database::setStatementTranslator
28  */
29 class OracleTranslator : public StatementTranslator {
30 public:
31   /**
32    * Obtiene la instancia de este traductor de sentencias SQL.
33    */
34   static StatementTranslator* instantiate() throw() { return &st_this; }
35
36 private:
37   char* a_buffer;
38   int a_size;
39
40   static OracleTranslator st_this;
41
42   OracleTranslator() : StatementTranslator("dbms::mysql::OracleTranslator"),
43     a_buffer(NULL), a_size(-1)
44   {;}
45
46   const char* apply(const char* statement) throw(RuntimeException);
47   void allocate(const char* statement) throw();
48 };
49
50 }
51 }
52 }
53
54 #endif