npgsql - Npgsql2: In new branch: Change behaviour of datareader to be

Поиск
Список
Период
Сортировка
От talliesin@pgfoundry.org (User Talliesin)
Тема npgsql - Npgsql2: In new branch: Change behaviour of datareader to be
Дата
Msg-id 20080310105858.92EBF17ADCD2@pgfoundry.org
обсуждение исходный текст
Список pgsql-committers
Log Message:
-----------
In new branch:

Change behaviour of datareader to be lazy-loaded as read rather than read in one batch.

Many changes to facilitate above change.

Only use UTF-8 encoding.

Use of typed collections instead of untyped, throughout.

Better recovery from thread-abort.

Better survival of connection damage. Connections retrieved from pool checked before use.

Add separate test cases for version2 protocol, so that version2 and version3 can be simultaneously tested.

Change test cases to close datareaders after use. The documentation for ExecuteReader says "While the IDataReader is in
use,the associated IDbConnection is busy serving the IDataReader. While in this state, no other operations can be
performedon the IDbConnection other than closing it. This is the case until the Close method of the DataReader is
called.If the DataReader is created with CommandBehavior set to CloseConnection, closing the DataReader closes the
connectionautomatically." Npgsql previously didn't enforce this rule, but has to with these changes. All test cases
thatbroke this rule therefore had to be changed. 

Tags:
----
RELEASE_2_0_ALPHA3

Modified Files:
--------------
    Npgsql2/src:
        Npgsql.build (r1.11 -> r1.11.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql.build.diff?r1=1.11&r2=1.11.2.1)
        Npgsql.csproj (r1.9 -> r1.9.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql.csproj.diff?r1=1.9&r2=1.9.2.1)
        Npgsql.sln (r1.3 -> r1.3.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql.sln.diff?r1=1.3&r2=1.3.2.1)
        Npgsql2008.csproj (r1.7 -> r1.7.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql2008.csproj.diff?r1=1.7&r2=1.7.2.1)
    Npgsql2/src/NpgsqlTypes:
        ArrayHandling.cs (r1.1 -> r1.1.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/NpgsqlTypes/ArrayHandling.cs.diff?r1=1.1&r2=1.1.2.1)
        FastPath.cs (r1.4 -> r1.4.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/NpgsqlTypes/FastPath.cs.diff?r1=1.4&r2=1.4.2.1)
        LargeObjectManager.cs (r1.4 -> r1.4.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/NpgsqlTypes/LargeObjectManager.cs.diff?r1=1.4&r2=1.4.2.1)
        NpgsqlDbType.cs (r1.8 -> r1.8.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/NpgsqlTypes/NpgsqlDbType.cs.diff?r1=1.8&r2=1.8.2.1)
        NpgsqlTypeConverters.cs (r1.3 -> r1.3.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/NpgsqlTypes/NpgsqlTypeConverters.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlTypes.cs (r1.3 -> r1.3.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/NpgsqlTypes/NpgsqlTypes.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlTypesHelper.cs (r1.11 -> r1.11.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/NpgsqlTypes/NpgsqlTypesHelper.cs.diff?r1=1.11&r2=1.11.2.1)
    Npgsql2/src/Npgsql:
        AssemblyInfo.cs (r1.8 -> r1.8.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/AssemblyInfo.cs.diff?r1=1.8&r2=1.8.2.1)
        NpgsqlAsciiRow.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlAsciiRow.cs.diff?r1=1.2&r2=1.2.2.1)
        NpgsqlBackEndKeyData.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlBackEndKeyData.cs.diff?r1=1.2&r2=1.2.2.1)
        NpgsqlBind.cs (r1.3 -> r1.3.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlBind.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlCancelRequest.cs (r1.3 -> r1.3.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlCancelRequest.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlClosedState.cs (r1.8 -> r1.8.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlClosedState.cs.diff?r1=1.8&r2=1.8.2.1)
        NpgsqlCommand.cs (r1.17 -> r1.17.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlCommand.cs.diff?r1=1.17&r2=1.17.2.1)
        NpgsqlCommandBuilder.cs (r1.11 -> r1.11.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlCommandBuilder.cs.diff?r1=1.11&r2=1.11.2.1)
        NpgsqlConnectedState.cs (r1.3 -> r1.3.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlConnectedState.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlConnection.cs (r1.14 -> r1.14.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlConnection.cs.diff?r1=1.14&r2=1.14.2.1)
        NpgsqlConnectionStringBuilder.cs (r1.1 -> r1.1.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlConnectionStringBuilder.cs.diff?r1=1.1&r2=1.1.2.1)
        NpgsqlConnector.cs (r1.12 -> r1.12.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlConnector.cs.diff?r1=1.12&r2=1.12.2.1)
        NpgsqlConnectorPool.cs (r1.6 -> r1.6.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlConnectorPool.cs.diff?r1=1.6&r2=1.6.2.1)
        NpgsqlCopyFormat.cs (r1.1 -> r1.1.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlCopyFormat.cs.diff?r1=1.1&r2=1.1.2.1)
        NpgsqlCopyIn.cs (r1.3 -> r1.3.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlCopyIn.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlCopyInState.cs (r1.4 -> r1.4.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlCopyInState.cs.diff?r1=1.4&r2=1.4.2.1)
        NpgsqlCopyOut.cs (r1.3 -> r1.3.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlCopyOut.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlCopyOutState.cs (r1.4 -> r1.4.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlCopyOutState.cs.diff?r1=1.4&r2=1.4.2.1)
        NpgsqlCopySerializer.cs (r1.1 -> r1.1.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlCopySerializer.cs.diff?r1=1.1&r2=1.1.2.1)
        NpgsqlDataReader.cs (r1.7 -> r1.7.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlDataReader.cs.diff?r1=1.7&r2=1.7.2.1)
        NpgsqlDescribe.cs (r1.3 -> r1.3.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlDescribe.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlError.cs (r1.2 -> r1.2.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlError.cs.diff?r1=1.2&r2=1.2.2.1)
        NpgsqlException.cs (r1.6 -> r1.6.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlException.cs.diff?r1=1.6&r2=1.6.2.1)
        NpgsqlExecute.cs (r1.3 -> r1.3.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlExecute.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlFlush.cs (r1.3 -> r1.3.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlFlush.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlMediator.cs (r1.5 -> r1.5.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlMediator.cs.diff?r1=1.5&r2=1.5.2.1)
        NpgsqlMessageTypes.cs (r1.4 -> r1.4.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlMessageTypes.cs.diff?r1=1.4&r2=1.4.2.1)
        NpgsqlNotificationEventArgs.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlNotificationEventArgs.cs.diff?r1=1.2&r2=1.2.2.1)
        NpgsqlParameter.cs (r1.11 -> r1.11.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlParameter.cs.diff?r1=1.11&r2=1.11.2.1)
        NpgsqlParameterCollection.cs (r1.5 -> r1.5.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlParameterCollection.cs.diff?r1=1.5&r2=1.5.2.1)
        NpgsqlParameterStatus.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlParameterStatus.cs.diff?r1=1.2&r2=1.2.2.1)
        NpgsqlParse.cs (r1.3 -> r1.3.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlParse.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlPasswordPacket.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlPasswordPacket.cs.diff?r1=1.2&r2=1.2.2.1)
        NpgsqlQuery.cs (r1.2 -> r1.2.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlQuery.cs.diff?r1=1.2&r2=1.2.2.1)
        NpgsqlReadyState.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlReadyState.cs.diff?r1=1.2&r2=1.2.2.1)
        NpgsqlRow.cs (r1.2 -> r1.2.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlRow.cs.diff?r1=1.2&r2=1.2.2.1)
        NpgsqlRowDescription.cs (r1.4 -> r1.4.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlRowDescription.cs.diff?r1=1.4&r2=1.4.2.1)
        NpgsqlStartupPacket.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlStartupPacket.cs.diff?r1=1.2&r2=1.2.2.1)
        NpgsqlStartupState.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlStartupState.cs.diff?r1=1.2&r2=1.2.2.1)
        NpgsqlState.cs (r1.7 -> r1.7.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlState.cs.diff?r1=1.7&r2=1.7.2.1)
        NpgsqlSync.cs (r1.3 -> r1.3.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlSync.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlTransaction.cs (r1.3 -> r1.3.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlTransaction.cs.diff?r1=1.3&r2=1.3.2.1)
        NpgsqlTransactionCallbacks.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlTransactionCallbacks.cs.diff?r1=1.2&r2=1.2.2.1)
        PGUtil.cs (r1.3 -> r1.3.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/PGUtil.cs.diff?r1=1.3&r2=1.3.2.1)
        PGUtil.resx (r1.1 -> r1.1.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/PGUtil.resx.diff?r1=1.1&r2=1.1.2.1)
    Npgsql2/src/Npgsql/SqlGenerators:
        SqlBaseGenerator.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/SqlGenerators/SqlBaseGenerator.cs.diff?r1=1.2&r2=1.2.2.1)
        SqlDeleteGenerator.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/SqlGenerators/SqlDeleteGenerator.cs.diff?r1=1.2&r2=1.2.2.1)
        SqlInsertGenerator.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/SqlGenerators/SqlInsertGenerator.cs.diff?r1=1.2&r2=1.2.2.1)
        SqlSelectGenerator.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/SqlGenerators/SqlSelectGenerator.cs.diff?r1=1.2&r2=1.2.2.1)
        SqlUpdateGenerator.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/SqlGenerators/SqlUpdateGenerator.cs.diff?r1=1.2&r2=1.2.2.1)
        VisitedExpression.cs (r1.2 -> r1.2.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/SqlGenerators/VisitedExpression.cs.diff?r1=1.2&r2=1.2.2.1)
    Npgsql2/src/Npgsql/Web:
        NpgsqlMembershipProvider.cs (r1.4 -> r1.4.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/Web/NpgsqlMembershipProvider.cs.diff?r1=1.4&r2=1.4.2.1)
        NpgsqlProfileProvider.cs (r1.5 -> r1.5.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/Web/NpgsqlProfileProvider.cs.diff?r1=1.5&r2=1.5.2.1)
        NpgsqlRoleProvider.cs (r1.5 -> r1.5.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/Web/NpgsqlRoleProvider.cs.diff?r1=1.5&r2=1.5.2.1)

Added Files:
-----------
    Npgsql2/src:
        .cvsignore (r1.1.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/.cvsignore?rev=1.1.2.1&content-type=text/x-cvsweb-markup)
    Npgsql2/src/Npgsql:
        NpgsqlRow.resx (r1.1.2.1)

(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlRow.resx?rev=1.1.2.1&content-type=text/x-cvsweb-markup)

Removed Files:
-------------
    Npgsql2/src/Npgsql:
        NpgsqlBinaryRow.cs
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlBinaryRow.cs)
        NpgsqlResultSet.cs
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlResultSet.cs)

В списке pgsql-committers по дате отправления:

Предыдущее
От: tgl@postgresql.org (Tom Lane)
Дата:
Сообщение: pgsql: Throw an error for negative LIMIT or OFFSET values, instead of
Следующее
От: talliesin@pgfoundry.org (User Talliesin)
Дата:
Сообщение: npgsql - Npgsql2: In new branch: Change behaviour of datareader to be