Remove sql resources to ease anna-ericsson building
[anna.git] / source / dbms.mysql / InputBind.cpp
diff --git a/source/dbms.mysql/InputBind.cpp b/source/dbms.mysql/InputBind.cpp
deleted file mode 100644 (file)
index edfb2d3..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-// ANNA - Anna is Not Nothingness Anymore                                                         //
-//                                                                                                //
-// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo                         //
-//                                                                                                //
-// See project site at http://redmine.teslayout.com/projects/anna-suite                           //
-// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
-
-
-#include <time.h>
-
-#include <mysql/mysql.h>
-
-#include <anna/config/defines.hpp>
-#include <anna/core/functions.hpp>
-#include <anna/core/DataBlock.hpp>
-#include <anna/core/tracing/Logger.hpp>
-
-#include <anna/dbms/String.hpp>
-#include <anna/dbms/ShortBlock.hpp>
-#include <anna/dbms/Date.hpp>
-#include <anna/dbms/TimeStamp.hpp>
-#include <anna/dbms/LongBlock.hpp>
-
-#include <anna/dbms.mysql/mysql.hpp>
-
-using namespace std;
-using namespace anna;
-
-InputBind::InputBind(const char* name, dbms::Data&  data) :
-  dbms::InputBind(name, data),
-  BaseBind(data) {
-}
-
-InputBind::~InputBind() {
-}
-
-/*
- * Completa la informacion establececida por el setupBind.
- */
-void InputBind::prepare(anna::dbms::Statement* dbmsStmt, anna::dbms::Connection*, const int pos)
-throw(RuntimeException) {
-  st_mysql_bind* bind = static_cast <dbms::mysql::Statement*>(dbmsStmt)->getBindParams() + pos;
-  Data& data = anna::dbms::Bind::getData();
-  BaseBind::setupBind(*bind, data);
-
-  if(data.getType() == Data::Type::LongBlock) {
-    DataBlock& dataBlock = static_cast <dbms::LongBlock&>(data).getValue();
-    bind->buffer_type = MYSQL_TYPE_BLOB;
-    bind->buffer_length = dataBlock.getSize();
-    bind->buffer = (char*) dataBlock.getData();
-    bind->length = &a_length;
-  }
-}
-
-/*
- * Se invoca desde anna::dbms::mysql::Statement::execute.
- * Codificar� la informaci�n C++ de forma que encaje en las estructuras requeridas por el API de MySQL.
- */
-void InputBind::code() const
-throw(RuntimeException) {
-  InputBind* _this = const_cast <InputBind*>(this);
-  Data& data = _this->getData();
-
-  if((_this->a_nullIndicator = data.isNull() ? true : false) == true)
-    return;
-
-  switch(data.getType()) {
-  case Data::Type::String:
-    _this->a_length = anna_strlen((char*)(static_cast <dbms::String&>(data).getBuffer()));
-    break;
-  case Data::Type::Date:
-  case Data::Type::TimeStamp:
-    _this->codeDate(data);
-    break;
-  case Data::Type::Integer:
-    throw RuntimeException("anna::dbms::mysql::InputBind::code not implemented for Data::Type::Integer", ANNA_FILE_LOCATION);
-    break;
-  case Data::Type::Float:
-    throw RuntimeException("anna::dbms::mysql::InputBind::code not implemented for Data::Type::Float", ANNA_FILE_LOCATION);
-    break;
-  case Data::Type::ShortBlock:
-    throw RuntimeException("anna::dbms::mysql::InputBind::code not implemented for Data::Type::ShortBlock", ANNA_FILE_LOCATION);
-    break;
-  case Data::Type::LongBlock:
-    throw RuntimeException("anna::dbms::mysql::InputBind::code not implemented for Data::Type::LongBlock", ANNA_FILE_LOCATION);
-    break;
-
-  }
-}
-
-/**
- * El bind.buffer ha sido asociado a una estructura de tipo MYSQL_TIME (a_time), cuyos valores vamos
- * a establecer en �ste m�todo.
- */
-void InputBind::codeDate(dbms::Data& data)
-throw() {
-  dbms::Date& date = static_cast <dbms::Date&>(data);
-
-  if(data.getType() == Data::Type::TimeStamp) {
-    a_time->second_part = static_cast <dbms::TimeStamp&>(data).getFractionalSecond();
-  }
-
-  a_time->year = date.getYear();
-  a_time->month = date.getMonth();
-  a_time->day = date.getDay();
-  a_time->hour = date.getHour();
-  a_time->minute = date.getMinute();
-  a_time->second = date.getSecond();
-}
-