/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ #include "apache/das/rdb/CreatedDataObject.h" namespace apache { namespace das { namespace rdb { CreatedDataObject::CreatedDataObject(const Table& table, commonj::sdo::DataObjectPtr dataObject, commonj::sdo::ChangeSummaryPtr changeSummary) : DASDataObject(table, dataObject, changeSummary) { commonj::sdo::PropertyList properties = dataObject->getInstanceProperties(); statement.append("insert into ").append(table.getTableName()).append("("); bool containsDataType = false; std::string columns; std::string values; for (unsigned int i = 0 ; i < properties.size() ; i++) { if (properties[i].getType().isDataType()) { if (containsDataType) { columns.append(","); values.append(","); } containsDataType = true; const Column* column = table.getColumnByProperty(properties[i].getName()); ColumnData columnData(*column, dataObject); columns.append(column->getName()); values.append(columnData.toSQL()); } } statement.append(columns).append(") values(").append(values).append(");"); } CreatedDataObject::~CreatedDataObject(void) {} std::string CreatedDataObject::getStatement(void) const { return statement; } //void CreatedDataObject::execute(StatementPtr stmt) const { // DASDataObject::execute(stmt); // // std::string statement; // statement = statement.append("insert into ").append(getDataObject()->getType().getName()).append("("); // // stmt->executeQuery(statement); // // //} // //void CreatedDataObject::execute(StatementPtr stmt) const { // // for (std::list::const_iterator it = dependencies.begin() ; // it != dependencies.end() ; it++) { // // (*it)->execute(stmt); // // } // // std::cout << statement << std::endl; // // if (statement != "") { // stmt->executeQuery(statement); // } // //} void CreatedDataObject::printStmt(void) { /*DASDataObject::printStmt(); std::string statement; statement = statement.append("insert into ").append(getDataObject()->getType().getName()).append("(").append(columns).append(") values(").append(values).append(");"); std::cout << statement << std::endl;*/ } }; }; };