         try deleteStatement.execute(bindings: bindings)
     }
     
-    // SELECT
+    /// SELECT
     func reloadStatement(db: Database) throws -> SelectStatement {
         // Fail early if databaseTable is nil (not overriden)
         guard let table = databaseTable else {

            // RowNotFound when there is no matching row in the
            // database. I mean, consistency is important. So:
            
            let whereSQL = " AND ".join(primaryKeyDictionary.keys.map { column in "\(column.quotedDatabaseIdentifier)=?" })
            let sql = "SELECT 1 FROM \(table.name.quotedDatabaseIdentifier) WHERE \(whereSQL)"
            let row = db.fetchOneRow(sql, bindings: Bindings(primaryKeyDictionary.values))
            guard row != nil else {
                throw DataMapperError.RowNotFound
            }

    
    /// UPDATE or INSERT
    func save(db: Database) throws -> (String, Int64)? {
        if strongPrimaryKeyDictionary == nil {
            return try insert(db)
        }
        
        do {
            try update(db)
            return nil
        } catch DataMapperError.RowNotFound {
            return try insert(db)
        }
    }
