Index: includes/database/database.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/database/database.inc,v retrieving revision 1.30 diff -u -r1.30 database.inc --- includes/database/database.inc 29 Nov 2008 09:30:35 -0000 1.30 +++ includes/database/database.inc 1 Dec 2008 05:21:45 -0000 @@ -1243,11 +1243,20 @@ * class DatabaseStatement_oracle extends PDOStatement implements DatabaseStatementInterface {} * @endcode * - * or implement their own class, but in that case they will also have to implement - * the Iterator or IteratorArray interfaces before DatabaseStatementInterface: + * or implement their own class. For the latter, they will have to either + * implement the Iterator interface directly, ensuring Iterator appears BEFORE + * the DatabaseStatementInterface: * @code * class DatabaseStatement_oracle implements Iterator, DatabaseStatementInterface {} * @endcode + * + * or extend the ArrayIterator class: + * @code + * class DatabaseStatement_oracle extends ArrayIterator implements DatabaseStatementInterface {} + * @endcode + * + * In this final case, ArrayIterator itself implements Iterator, so there is no + * need to implement it explicitly. */ interface DatabaseStatementInterface extends Traversable {