static rc_t vdb_info_db( vdb_info_data * data, VSchema * schema, const VDBManager *mgr ) { const VDatabase * db; rc_t rc = VDBManagerOpenDBRead( mgr, &db, schema, "%s", data->acc ); if ( rc == 0 ) { const VTable * tab; const KMetadata * meta = NULL; rc_t rc1 = VDatabaseOpenTableRead( db, &tab, "SEQUENCE" ); if ( rc1 == 0 ) { data->s_platform = get_platform( tab ); data->seq_rows = get_rowcount( tab ); VTableRelease( tab ); } data->ref_rows = get_tab_row_count( db, "REFERENCE" ); data->prim_rows = get_tab_row_count( db, "PRIMARY_ALIGNMENT" ); data->sec_rows = get_tab_row_count( db, "SECONDARY_ALIGNMENT" ); data->ev_rows = get_tab_row_count( db, "EVIDENCE_ALIGNMENT" ); data->ev_int_rows = get_tab_row_count( db, "EVIDENCE_INTERVAL" ); data->consensus_rows = get_tab_row_count( db, "CONSENSUS" ); data->passes_rows = get_tab_row_count( db, "PASSES" ); data->metrics_rows = get_tab_row_count( db, "ZMW_METRICS" ); if ( data->ref_rows > 0 ) get_species( data->species, sizeof data->species, db, mgr ); rc = VDatabaseOpenMetadataRead ( db, &meta ); if ( rc == 0 ) { get_meta_info( data, meta ); KMetadataRelease ( meta ); } VDatabaseRelease( db ); } return rc; }
static rc_t vdb_info_tab( vdb_info_data * data, VSchema * schema, const VDBManager *mgr ) { const VTable * tab; rc_t rc = VDBManagerOpenTableRead( mgr, &tab, schema, "%s", data->acc ); if ( rc == 0 ) { const KMetadata * meta = NULL; data->s_platform = get_platform( tab ); data->seq_rows = get_rowcount( tab ); rc = VTableOpenMetadataRead ( tab, &meta ); if ( rc == 0 ) { get_meta_info( data, meta ); KMetadataRelease ( meta ); } VTableRelease( tab ); } return rc; }