         return impl.copy(self)
     }
     
-    deinit {
-        statementRef?.release()
-    }
-    
     
     // MARK: - Not Public
     

    /// The statementRef is released in deinit.
    let statementRef: Unmanaged<SelectStatement>?
    let sqliteStatement: SQLiteStatement
    
    /// Builds a row from the an SQLite statement.
    ///

    /// access to the SQLite statement. Iteration of the statement does modify
    /// the row.
    init(statement: SelectStatement) {
        let statementRef = Unmanaged.passRetained(statement) // released in deinit
        self.statementRef = statementRef
        self.sqliteStatement = statement.sqliteStatement
        self.impl = StatementRowImpl(statementRef: statementRef, sqliteStatement: statement.sqliteStatement)
