/** @brief Helper function for defining schema */ catalog::Column ConstraintsTestsUtil::GetColumnInfo(int index) { const bool is_inlined = true; std::string not_null_constraint_name = "not_null"; std::string unique_constraint_name = "unique"; catalog::Column dummy_column; switch (index) { case 0: { auto column = catalog::Column(type::Type::INTEGER, type::Type::GetTypeSize(type::Type::INTEGER), "COL_A", is_inlined); column.AddConstraint(catalog::Constraint(ConstraintType::NOTNULL, not_null_constraint_name)); return column; } break; case 1: { auto column = catalog::Column(type::Type::INTEGER, type::Type::GetTypeSize(type::Type::INTEGER), "COL_B", is_inlined); column.AddConstraint(catalog::Constraint(ConstraintType::NOTNULL, not_null_constraint_name)); return column; } break; case 2: { auto column = catalog::Column(type::Type::DECIMAL, type::Type::GetTypeSize(type::Type::DECIMAL), "COL_C", is_inlined); column.AddConstraint(catalog::Constraint(ConstraintType::NOTNULL, not_null_constraint_name)); return column; } break; case 3: { auto column = catalog::Column(type::Type::VARCHAR, 25, // Column length. "COL_D", !is_inlined); // inlined. column.AddConstraint(catalog::Constraint(ConstraintType::NOTNULL, not_null_constraint_name)); column.AddConstraint( catalog::Constraint(ConstraintType::UNIQUE, unique_constraint_name)); return column; } break; default: { throw ExecutorException("Invalid column index : " + std::to_string(index)); } } return dummy_column; }
/** @brief Helper function for defining schema */ catalog::Column ExecutorTestsUtil::GetColumnInfo(int index) { const bool is_inlined = true; std::string not_null_constraint_name = "not_null"; catalog::Column dummy_column; switch (index) { case 0: { auto column = catalog::Column(VALUE_TYPE_INTEGER, GetTypeSize(VALUE_TYPE_INTEGER), "COL_A", is_inlined); column.AddConstraint(catalog::Constraint(CONSTRAINT_TYPE_NOTNULL, not_null_constraint_name)); return column; } break; case 1: { auto column = catalog::Column(VALUE_TYPE_INTEGER, GetTypeSize(VALUE_TYPE_INTEGER), "COL_B", is_inlined); column.AddConstraint(catalog::Constraint(CONSTRAINT_TYPE_NOTNULL, not_null_constraint_name)); return column; } break; case 2: { auto column = catalog::Column(VALUE_TYPE_DOUBLE, GetTypeSize(VALUE_TYPE_DOUBLE), "COL_C", is_inlined); column.AddConstraint(catalog::Constraint(CONSTRAINT_TYPE_NOTNULL, not_null_constraint_name)); return column; } break; case 3: { auto column = catalog::Column(VALUE_TYPE_VARCHAR, 25, // Column length. "COL_D", !is_inlined); // inlined. column.AddConstraint(catalog::Constraint(CONSTRAINT_TYPE_NOTNULL, not_null_constraint_name)); return column; } break; default: { throw ExecutorException("Invalid column index : " + std::to_string(index)); } } return dummy_column; }
/** * @brief Basic initialization. * @return true on success, false otherwise. */ bool CopyExecutor::DInit() { PELOTON_ASSERT(children_.size() == 1); // Grab info from plan node and check it const planner::CopyPlan &node = GetPlanNode<planner::CopyPlan>(); bool success = InitFileHandle(node.file_path.c_str(), "w"); if (success == false) { throw ExecutorException("Failed to create file " + node.file_path + ". Try absolute path and make sure you have the " "permission to access this file."); return false; } LOG_DEBUG("Created target copy output file: %s", node.file_path.c_str()); // Whether we're copying the parameters which require deserialization if (node.deserialize_parameters) { InitParamColIds(); } return true; }