You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

58 lines
1.6 KiB

  1. #pragma once
  2. #include "create_update_context.h"
  3. namespace cpphibernate {
  4. namespace mariadb {
  5. /* create_update_context */
  6. template<typename T_dataset>
  7. create_update_context::create_update_context(
  8. const schema_t& p_schema,
  9. ::cppmariadb::connection& p_connection,
  10. T_dataset& p_dataset)
  11. : data_context (p_schema, p_connection, p_dataset)
  12. , filter (nullptr)
  13. , derived_table (nullptr)
  14. , owner_field (nullptr)
  15. , owner_key ()
  16. , index (0)
  17. { }
  18. template<typename T_dataset>
  19. create_update_context::create_update_context(
  20. const schema_t& p_schema,
  21. ::cppmariadb::connection& p_connection,
  22. T_dataset& p_dataset,
  23. const filter_t& p_filter)
  24. : data_context (p_schema, p_connection, p_dataset)
  25. , filter (&p_filter)
  26. , derived_table (nullptr)
  27. , owner_field (nullptr)
  28. , owner_key ()
  29. , index (0)
  30. { }
  31. decltype(auto) create_update_context::make_create_context() const
  32. {
  33. auto ret = *this;
  34. ret.filter = nullptr;
  35. return ret;
  36. }
  37. decltype(auto) create_update_context::make_update_context(const filter_t& p_filter) const
  38. {
  39. auto ret = *this;
  40. ret.filter = &p_filter;
  41. return ret;
  42. }
  43. bool create_update_context::is_create() const
  44. { return !static_cast<bool>(filter); }
  45. bool create_update_context::is_update() const
  46. { return static_cast<bool>(filter); }
  47. } }