Skip to content

Commit

Permalink
Merge pull request #52 from jmmut/feature/repeated-report
Browse files Browse the repository at this point in the history
EVA-470 Summary report independent from checks
  • Loading branch information
Cristina Yenyxe Gonzalez Garcia authored Oct 17, 2016
2 parents 76714c4 + 8ca88b6 commit d9c1031
Show file tree
Hide file tree
Showing 19 changed files with 3,112 additions and 1,785 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ set (MOD_VCF_SOURCES
inc/vcf/report_reader.hpp
inc/vcf/report_writer.hpp
inc/vcf/sqlite_report.hpp
inc/vcf/summary_report_writer.hpp
inc/vcf/validator_detail_v41.hpp
inc/vcf/validator_detail_v42.hpp
inc/vcf/validator_detail_v43.hpp
Expand Down
275 changes: 275 additions & 0 deletions inc/vcf/error-odb.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,55 @@ namespace odb
callback (database&, const object_type&, callback_event);
};

// NoMetaDefinitionError
//
template <>
struct class_traits< ::ebi::vcf::NoMetaDefinitionError >
{
static const class_kind kind = class_object;
};

template <>
class access::object_traits< ::ebi::vcf::NoMetaDefinitionError >
{
public:
typedef ::ebi::vcf::NoMetaDefinitionError object_type;
typedef ::ebi::vcf::NoMetaDefinitionError* pointer_type;
typedef odb::pointer_traits<pointer_type> pointer_traits;

static const bool polymorphic = true;

typedef ::ebi::vcf::Error root_type;
typedef ::ebi::vcf::Error base_type;
typedef object_traits<root_type>::discriminator_type discriminator_type;
typedef polymorphic_concrete_info<root_type> info_type;

static const std::size_t depth = 2UL;

typedef object_traits< ::ebi::vcf::Error >::id_type id_type;

static const bool auto_id = false;

static const bool abstract = false;

static id_type
id (const object_type&);

typedef
no_op_pointer_cache_traits<object_traits<root_type>::pointer_type>
pointer_cache_traits;

typedef
no_op_reference_cache_traits<root_type>
reference_cache_traits;

static void
callback (database&, object_type&, callback_event);

static void
callback (database&, const object_type&, callback_event);
};

// FileformatError
//
template <>
Expand Down Expand Up @@ -1807,6 +1856,230 @@ namespace odb
{
};

// NoMetaDefinitionError
//
template <typename A>
struct query_columns< ::ebi::vcf::NoMetaDefinitionError, id_sqlite, A >:
query_columns< ::ebi::vcf::Error, id_sqlite, typename A::base_traits >
{
// Error
//
typedef query_columns< ::ebi::vcf::Error, id_sqlite, typename A::base_traits > Error;

// id
//
typedef
sqlite::query_column<
sqlite::value_traits<
long unsigned int,
sqlite::id_integer >::query_type,
sqlite::id_integer >
id_type_;

static const id_type_ id;

// column
//
typedef
sqlite::query_column<
sqlite::value_traits<
::std::string,
sqlite::id_text >::query_type,
sqlite::id_text >
column_type_;

static const column_type_ column;

// field
//
typedef
sqlite::query_column<
sqlite::value_traits<
::std::string,
sqlite::id_text >::query_type,
sqlite::id_text >
field_type_;

static const field_type_ field;
};

template <typename A>
const typename query_columns< ::ebi::vcf::NoMetaDefinitionError, id_sqlite, A >::id_type_
query_columns< ::ebi::vcf::NoMetaDefinitionError, id_sqlite, A >::
id (A::table_name, "\"id\"", 0);

template <typename A>
const typename query_columns< ::ebi::vcf::NoMetaDefinitionError, id_sqlite, A >::column_type_
query_columns< ::ebi::vcf::NoMetaDefinitionError, id_sqlite, A >::
column (A::table_name, "\"column\"", 0);

template <typename A>
const typename query_columns< ::ebi::vcf::NoMetaDefinitionError, id_sqlite, A >::field_type_
query_columns< ::ebi::vcf::NoMetaDefinitionError, id_sqlite, A >::
field (A::table_name, "\"field\"", 0);

template <typename A>
struct pointer_query_columns< ::ebi::vcf::NoMetaDefinitionError, id_sqlite, A >:
query_columns< ::ebi::vcf::NoMetaDefinitionError, id_sqlite, A >
{
};

template <>
class access::object_traits_impl< ::ebi::vcf::NoMetaDefinitionError, id_sqlite >:
public access::object_traits< ::ebi::vcf::NoMetaDefinitionError >
{
public:
typedef polymorphic_entry<object_type, id_sqlite> entry_type;
typedef object_traits_impl<root_type, id_sqlite> root_traits;
typedef object_traits_impl<base_type, id_sqlite> base_traits;

typedef root_traits::id_image_type id_image_type;

static const info_type info;

struct image_type
{
base_traits::image_type* base;

// id_
//
long long id_value;
bool id_null;

// column
//
details::buffer column_value;
std::size_t column_size;
bool column_null;

// field
//
details::buffer field_value;
std::size_t field_size;
bool field_null;

std::size_t version;
};

struct extra_statement_cache_type;

using object_traits<object_type>::id;

static bool
grow (image_type&,
bool*,
std::size_t = depth);

static void
bind (sqlite::bind*,
const sqlite::bind* id,
std::size_t id_size,
image_type&,
sqlite::statement_kind);

static void
bind (sqlite::bind*, id_image_type&);

static bool
init (image_type&,
const object_type&,
sqlite::statement_kind);

static void
init (object_type&,
const image_type&,
database*,
std::size_t = depth);

static void
init (id_image_type&, const id_type&);

static bool
check_version (const std::size_t*, const image_type&);

static void
update_version (std::size_t*, const image_type&, sqlite::binding*);

typedef
sqlite::polymorphic_derived_object_statements<object_type>
statements_type;

typedef
sqlite::polymorphic_root_object_statements<root_type>
root_statements_type;

typedef sqlite::query_base query_base_type;

static const std::size_t column_count = 3UL;
static const std::size_t id_column_count = 1UL;
static const std::size_t inverse_column_count = 0UL;
static const std::size_t readonly_column_count = 0UL;
static const std::size_t managed_optimistic_column_count = 0UL;

static const std::size_t separate_load_column_count = 0UL;
static const std::size_t separate_update_column_count = 0UL;

static const bool versioned = false;

static const char persist_statement[];
static const char* const find_statements[depth];
static const std::size_t find_column_counts[depth];
static const char update_statement[];
static const char erase_statement[];
static const char query_statement[];
static const char erase_query_statement[];

static const char table_name[];

static void
persist (database&, object_type&, bool top = true, bool dyn = true);

static pointer_type
find (database&, const id_type&);

static bool
find (database&, const id_type&, object_type&, bool dyn = true);

static bool
reload (database&, object_type&, bool dyn = true);

static void
update (database&, const object_type&, bool top = true, bool dyn = true);

static void
erase (database&, const id_type&, bool top = true, bool dyn = true);

static void
erase (database&, const object_type&, bool top = true, bool dyn = true);

static result<object_type>
query (database&, const query_base_type&);

static unsigned long long
erase_query (database&, const query_base_type&);

public:
static bool
find_ (statements_type&,
const id_type*,
std::size_t = depth);

static void
load_ (statements_type&,
object_type&,
bool reload,
std::size_t = depth);

static void
load_ (database&, root_type&, std::size_t);
};

template <>
class access::object_traits_impl< ::ebi::vcf::NoMetaDefinitionError, id_common >:
public access::object_traits_impl< ::ebi::vcf::NoMetaDefinitionError, id_sqlite >
{
};

// FileformatError
//
template <typename A>
Expand Down Expand Up @@ -4373,6 +4646,8 @@ namespace odb
//
// BodySectionError
//
// NoMetaDefinitionError
//
// FileformatError
//
// ChromosomeBodyError
Expand Down
65 changes: 65 additions & 0 deletions inc/vcf/error-odb.ipp
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,35 @@ namespace odb
ODB_POTENTIALLY_UNUSED (e);
}

// NoMetaDefinitionError
//

inline
access::object_traits< ::ebi::vcf::NoMetaDefinitionError >::id_type
access::object_traits< ::ebi::vcf::NoMetaDefinitionError >::
id (const object_type& o)
{
return object_traits< ::ebi::vcf::Error >::id (o);
}

inline
void access::object_traits< ::ebi::vcf::NoMetaDefinitionError >::
callback (database& db, object_type& x, callback_event e)
{
ODB_POTENTIALLY_UNUSED (db);
ODB_POTENTIALLY_UNUSED (x);
ODB_POTENTIALLY_UNUSED (e);
}

inline
void access::object_traits< ::ebi::vcf::NoMetaDefinitionError >::
callback (database& db, const object_type& x, callback_event e)
{
ODB_POTENTIALLY_UNUSED (db);
ODB_POTENTIALLY_UNUSED (x);
ODB_POTENTIALLY_UNUSED (e);
}

// FileformatError
//

Expand Down Expand Up @@ -667,6 +696,42 @@ namespace odb
b[1UL].version++;
}

// NoMetaDefinitionError
//

inline
void access::object_traits_impl< ::ebi::vcf::NoMetaDefinitionError, id_sqlite >::
bind (sqlite::bind* b, id_image_type& i)
{
object_traits_impl< ::ebi::vcf::Error, id_sqlite >::bind (b, i);
}

inline
void access::object_traits_impl< ::ebi::vcf::NoMetaDefinitionError, id_sqlite >::
init (id_image_type& i, const id_type& id)
{
object_traits_impl< ::ebi::vcf::Error, id_sqlite >::init (i, id);
}

inline
bool access::object_traits_impl< ::ebi::vcf::NoMetaDefinitionError, id_sqlite >::
check_version (const std::size_t* v, const image_type& i)
{
return
v[0UL] != i.version ||
v[1UL] != i.base->version;
}

inline
void access::object_traits_impl< ::ebi::vcf::NoMetaDefinitionError, id_sqlite >::
update_version (std::size_t* v, const image_type& i, sqlite::binding* b)
{
v[0UL] = i.version;
v[1UL] = i.base->version;
b[0UL].version++;
b[1UL].version++;
}

// FileformatError
//

Expand Down
Loading

0 comments on commit d9c1031

Please sign in to comment.