@ -109,13 +109,13 @@ func (s *SQL) checkAlreadyApplied(migrations []*migrate.Migration) bool {
records , err := migrate . GetMigrationRecords ( s . db . DB , postgreSQLDialect )
migrate . SetDisableCreateTable ( false )
if err != nil {
s . Log . Debug ( " checkAlreadyApplied: failed to get migration records: %v ", err )
s . Log . Debug ( " failed to get migration records", "error ", err )
return false
}
for _ , record := range records {
if _ , ok := migrationsIDs [ record . Id ] ; ok {
s . Log . Debug ( " checkAlreadyApplied: found previous migration (Id: %v) applied at %v", record . Id , record . AppliedAt )
s . Log . Debug ( " found previous migration", "id" , record . Id , "appliedAt" , record . AppliedAt )
delete ( migrationsIDs , record . Id )
}
}
@ -123,7 +123,7 @@ func (s *SQL) checkAlreadyApplied(migrations []*migrate.Migration) bool {
// check if all migrations applied
if len ( migrationsIDs ) != 0 {
for id := range migrationsIDs {
s . Log ( "checkAlreadyApplied: find unapplied migration (id: %v) ", id )
s . Log . Debug ( "find unapplied migration" , "id ", id )
}
return false
}
@ -310,24 +310,24 @@ func (s *SQL) Get(key string) (*rspb.Release, error) {
query , args , err := qb . ToSql ( )
if err != nil {
s . Log ( "failed to build query: %v ", err )
s . Log . Debug ( "failed to build query" , "error ", err )
return nil , err
}
// Get will return an error if the result is empty
if err := s . db . Get ( & record , query , args ... ) ; err != nil {
s . Log ( "got SQL error when getting release %s: %v" , key , err )
s . Log . Debug ( "got SQL error when getting release" , "key" , key , "error" , err )
return nil , ErrReleaseNotFound
}
release , err := decodeRelease ( record . Body )
if err != nil {
s . Log ( "get: failed to decode data %q: %v" , key , err )
s . Log . Debug ( "failed to decode data" , "key" , key , "error" , err )
return nil , err
}
if release . Labels , err = s . getReleaseCustomLabels ( key , s . namespace ) ; err != nil {
s . Log ( "failed to get release %s/%s custom labels: %v ", s . namespace , key , err )
s . Log . Debug ( "failed to get release custom labels" , "namespace ", s . namespace , "key" , key , "error" , err )
return nil , err
}
@ -348,13 +348,13 @@ func (s *SQL) List(filter func(*rspb.Release) bool) ([]*rspb.Release, error) {
query , args , err := sb . ToSql ( )
if err != nil {
s . Log ( "failed to build query: %v ", err )
s . Log . Debug ( "failed to build query" , "error ", err )
return nil , err
}
var records = [ ] SQLReleaseWrapper { }
if err := s . db . Select ( & records , query , args ... ) ; err != nil {
s . Log ( "list: failed to list: %v ", err )
s . Log . Debug ( "failed to list" , "error ", err )
return nil , err
}
@ -362,12 +362,12 @@ func (s *SQL) List(filter func(*rspb.Release) bool) ([]*rspb.Release, error) {
for _ , record := range records {
release , err := decodeRelease ( record . Body )
if err != nil {
s . Log ( "list: failed to decode release: %v: %v" , record , err )
s . Log . Debug ( "failed to decode release" , "record" , record , "error" , err )
continue
}
if release . Labels , err = s . getReleaseCustomLabels ( record . Key , record . Namespace ) ; err != nil {
s . Log ( "failed to get release %s/%s custom labels: %v ", record . Namespace , record . Key , err )
s . Log . Debug ( "failed to get release custom labels" , "namespace ", record . Namespace , "key" , record . Key , "error" , err )
return nil , err
}
for k , v := range getReleaseSystemLabels ( release ) {
@ -397,7 +397,7 @@ func (s *SQL) Query(labels map[string]string) ([]*rspb.Release, error) {
if _ , ok := labelMap [ key ] ; ok {
sb = sb . Where ( sq . Eq { key : labels [ key ] } )
} else {
s . Log ( "unknown label %s ", key )
s . Log . Debug ( "unknown label" , "key ", key )
return nil , fmt . Errorf ( "unknown label %s" , key )
}
}
@ -410,13 +410,13 @@ func (s *SQL) Query(labels map[string]string) ([]*rspb.Release, error) {
// Build our query
query , args , err := sb . ToSql ( )
if err != nil {
s . Log ( "failed to build query: %v ", err )
s . Log . Debug ( "failed to build query" , "error ", err )
return nil , err
}
var records = [ ] SQLReleaseWrapper { }
if err := s . db . Select ( & records , query , args ... ) ; err != nil {
s . Log ( "list: failed to query with labels: %v ", err )
s . Log . Debug ( "failed to query with labels" , "error ", err )
return nil , err
}
@ -428,12 +428,12 @@ func (s *SQL) Query(labels map[string]string) ([]*rspb.Release, error) {
for _ , record := range records {
release , err := decodeRelease ( record . Body )
if err != nil {
s . Log ( "list: failed to decode release: %v: %v" , record , err )
s . Log . Debug ( "failed to decode release" , "record" , record , "error" , err )
continue
}
if release . Labels , err = s . getReleaseCustomLabels ( record . Key , record . Namespace ) ; err != nil {
s . Log ( "failed to get release %s/%s custom labels: %v ", record . Namespace , record . Key , err )
s . Log . Debug ( "failed to get release custom labels" , "namespace ", record . Namespace , "key" , record . Key , "error" , err )
return nil , err
}
@ -457,13 +457,13 @@ func (s *SQL) Create(key string, rls *rspb.Release) error {
body , err := encodeRelease ( rls )
if err != nil {
s . Log ( "failed to encode release: %v ", err )
s . Log . Debug ( "failed to encode release" , "error ", err )
return err
}
transaction , err := s . db . Beginx ( )
if err != nil {
s . Log ( "failed to start SQL transaction: %v ", err )
s . Log . Debug ( "failed to start SQL transaction" , "error ", err )
return fmt . Errorf ( "error beginning transaction: %v" , err )
}
@ -492,7 +492,7 @@ func (s *SQL) Create(key string, rls *rspb.Release) error {
int ( time . Now ( ) . Unix ( ) ) ,
) . ToSql ( )
if err != nil {
s . Log ( "failed to build insert query: %v ", err )
s . Log . Debug ( "failed to build insert query" , "error ", err )
return err
}
@ -506,17 +506,17 @@ func (s *SQL) Create(key string, rls *rspb.Release) error {
Where ( sq . Eq { sqlReleaseTableNamespaceColumn : s . namespace } ) .
ToSql ( )
if buildErr != nil {
s . Log ( "failed to build select query: %v ", buildErr )
s . Log . Debug ( "failed to build select query" , "error ", buildErr )
return err
}
var record SQLReleaseWrapper
if err := transaction . Get ( & record , selectQuery , args ... ) ; err == nil {
s . Log ( "release %s already exists ", key )
s . Log . Debug ( "release already exists" , "key ", key )
return ErrReleaseExists
}
s . Log ( "failed to store release %s in SQL database: %v" , key , err )
s . Log . Debug ( "failed to store release in SQL database" , "key" , key , "error" , err )
return err
}
@ -539,13 +539,13 @@ func (s *SQL) Create(key string, rls *rspb.Release) error {
if err != nil {
defer transaction . Rollback ( )
s . Log ( "failed to build insert query: %v ", err )
s . Log . Debug ( "failed to build insert query" , "error ", err )
return err
}
if _ , err := transaction . Exec ( insertLabelsQuery , args ... ) ; err != nil {
defer transaction . Rollback ( )
s . Log ( "failed to write Labels: %v ", err )
s . Log . Debug ( "failed to write Labels" , "error ", err )
return err
}
}
@ -564,7 +564,7 @@ func (s *SQL) Update(key string, rls *rspb.Release) error {
body , err := encodeRelease ( rls )
if err != nil {
s . Log ( "failed to encode release: %v ", err )
s . Log . Debug ( "failed to encode release" , "error ", err )
return err
}
@ -581,12 +581,12 @@ func (s *SQL) Update(key string, rls *rspb.Release) error {
ToSql ( )
if err != nil {
s . Log ( "failed to build update query: %v ", err )
s . Log . Debug ( "failed to build update query" , "error ", err )
return err
}
if _ , err := s . db . Exec ( query , args ... ) ; err != nil {
s . Log ( "failed to update release %s in SQL database: %v" , key , err )
s . Log . Debug ( "failed to update release in SQL database" , "key" , key , "error" , err )
return err
}
@ -597,7 +597,7 @@ func (s *SQL) Update(key string, rls *rspb.Release) error {
func ( s * SQL ) Delete ( key string ) ( * rspb . Release , error ) {
transaction , err := s . db . Beginx ( )
if err != nil {
s . Log ( "failed to start SQL transaction: %v ", err )
s . Log . Debug ( "failed to start SQL transaction" , "error ", err )
return nil , fmt . Errorf ( "error beginning transaction: %v" , err )
}
@ -608,20 +608,20 @@ func (s *SQL) Delete(key string) (*rspb.Release, error) {
Where ( sq . Eq { sqlReleaseTableNamespaceColumn : s . namespace } ) .
ToSql ( )
if err != nil {
s . Log ( "failed to build select query: %v ", err )
s . Log . Debug ( "failed to build select query" , "error ", err )
return nil , err
}
var record SQLReleaseWrapper
err = transaction . Get ( & record , selectQuery , args ... )
if err != nil {
s . Log ( "release %s not found: %v" , key , err )
s . Log . Debug ( "release not found" , "key" , key , "error" , err )
return nil , ErrReleaseNotFound
}
release , err := decodeRelease ( record . Body )
if err != nil {
s . Log ( "failed to decode release %s: %v" , key , err )
s . Log . Debug ( "failed to decode release" , "key" , key , "error" , err )
transaction . Rollback ( )
return nil , err
}
@ -633,18 +633,18 @@ func (s *SQL) Delete(key string) (*rspb.Release, error) {
Where ( sq . Eq { sqlReleaseTableNamespaceColumn : s . namespace } ) .
ToSql ( )
if err != nil {
s . Log ( "failed to build delete query: %v ", err )
s . Log . Debug ( "failed to build delete query" , "error ", err )
return nil , err
}
_ , err = transaction . Exec ( deleteQuery , args ... )
if err != nil {
s . Log ( "failed perform delete query: %v ", err )
s . Log . Debug ( "failed perform delete query" , "error ", err )
return release , err
}
if release . Labels , err = s . getReleaseCustomLabels ( key , s . namespace ) ; err != nil {
s . Log ( "failed to get release %s/%s custom labels: %v ", s . namespace , key , err )
s . Log . Debug ( "failed to get release custom labels" , "namespace ", s . namespace , "key" , key , "error" , err )
return nil , err
}
@ -655,7 +655,7 @@ func (s *SQL) Delete(key string) (*rspb.Release, error) {
ToSql ( )
if err != nil {
s . Log ( "failed to build delete Labels query: %v ", err )
s . Log . Debug ( "failed to build delete Labels query" , "error ", err )
return nil , err
}
_ , err = transaction . Exec ( deleteCustomLabelsQuery , args ... )