static rc_t pacbio_make_alias( VDatabase * vdb_db, const char *existing_obj, const char *alias_to_create ) { KDatabase *kdb; rc_t rc = VDatabaseOpenKDatabaseUpdate ( vdb_db, & kdb ); if ( rc == 0 ) { rc = KDatabaseAliasTable ( kdb, existing_obj, alias_to_create ); KDatabaseRelease ( kdb ); } return rc; }
rc_t correct( const char * obj ) { KDirectory * dir; rc_t rc = KDirectoryNativeDir( &dir ); if ( rc != 0 ) { LOGERR( klogErr, rc, "creation of KDirectory failed" ); } else { VDBManager * vdb_mgr; rc = VDBManagerMakeUpdate ( &vdb_mgr, dir ); if ( rc != 0 ) { LOGERR( klogErr, rc, "creation of VDBManager failed" ); } else { VDatabase * vdb_db; rc = VDBManagerOpenDBUpdate ( vdb_mgr, &vdb_db, NULL, "%s", obj ); if ( rc != 0 ) { LOGERR( klogErr, rc, "vdb: open for update failed" ); } else { KDatabase *kdb; rc = VDatabaseOpenKDatabaseUpdate ( vdb_db, & kdb ); if ( rc != 0 ) { LOGERR( klogErr, rc, "kdb: open for update failed" ); } else { if ( KDatabaseExists ( kdb, kptTable, CONSENSUS ) ) { if ( KDatabaseExists ( kdb, kptTable, PULSE ) ) { OUTMSG(( "table >%s< does already exist in >%s<\n", PULSE, obj )); } else { if ( KDatabaseExists ( kdb, kptTable, SEQUENCE ) ) { rc = KDatabaseRenameTable ( kdb, true, SEQUENCE, PULSE ); if ( rc != 0 ) { LOGERR( klogErr, rc, "kdb: renaming table failed" ); } else { OUTMSG(( "table >%s< renamed to >%s< in >%s<\n", SEQUENCE, PULSE, obj )); } if ( rc == 0 ) { rc = KDatabaseAliasTable ( kdb, CONSENSUS, SEQUENCE ); if ( rc != 0 ) { LOGERR( klogErr, rc, "kdb: creating table-alias failed" ); } else { OUTMSG(( "alias >%s< created for >%s< in >%s<\n", SEQUENCE, CONSENSUS, obj )); } } } } } else { OUTMSG(( "table >%s< does not exist in >%s<\n", CONSENSUS, obj )); } KDatabaseRelease ( kdb ); } VDatabaseRelease( vdb_db ); } VDBManagerRelease( vdb_mgr ); } KDirectoryRelease( dir ); } return rc; }