fintp_udal
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OracleDatabaseProvider.h
Go to the documentation of this file.
1 /*
2 * FinTP - Financial Transactions Processing Application
3 * Copyright (C) 2013 Business Information Systems (Allevo) S.R.L.
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>
17 * or contact Allevo at : 031281 Bucuresti, 23C Calea Vitan, Romania,
18 * phone +40212554577, office@allevo.ro <mailto:office@allevo.ro>, www.allevo.ro.
19 */
20 
21 #ifndef ORACLEDATABASEPROVIDER_H
22 #define ORACLEDATABASEPROVIDER_H
23 
24 #include "../DatabaseProvider.h"
25 #include "../DataParameter.h"
26 
27 #include <sstream>
28 
29 #define MAX_ORACLE_DATE_DIMENSION 70
30 #define MAX_ORACLE_NUMBER_DIMENSION 30
31 
32 namespace FinTP
33 {
35  {
39  public:
41 
49 
53  DataColumnBase* createColumn( DataType::DATA_TYPE columnType, unsigned int dimension, int scale, const string& name );
54 
62  static DataColumnBase* internalCreateColumn( DataType::DATA_TYPE columnType, unsigned int dimension, int scale, const string& name );
63 
71  static unsigned short int getOracleSqlType( const DataType::DATA_TYPE type, const int dimension );
72 
76  static unsigned short int getOracleDataType( const DataType::DATA_TYPE type );
77 
82 
90  static DataType::DATA_TYPE getDataType( const short int type, const int dimension );
91 
92  string getParamPlaceholder( const unsigned int i ) const
93  {
94  std::stringstream retval;
95  retval << ":" << i;
96  return retval.str();
97  }
98 
99  string getParamPlaceholder( const string& paramname ) const
100  {
101  std::stringstream retval;
102  retval << ":" << paramname;
103  return retval.str();
104  }
105 
106  string getTrimFunc( const string& value ) const {
107  return string( "TRIM(" ) + value + string( ")" );
108  }
109  };
110 }
111 
112 #endif // OracleDATABASEPROVIDER_H