NETProvider icon indicating copy to clipboard operation
NETProvider copied to clipboard

Advantage performance of Fetch/FetchAsync

Open BFuerchau opened this issue 2 years ago • 12 comments

Now, i have found the tests within the sources and have corrected the ReadObject-Function with adding of DBNull.Value. Some tests fails because of my current environment with parallel installations of 3 firebird versions. E.g.: FirebirdSql.Data.Common.IscException : Database is probably already opened by another engine instance in another Windows session

Also i have understand how to use branch in the git.

The most advantage is the less object creation and less GC work during Fetch(). In case of FetchAsync(), which is always slower, the advantage may be less.

BFuerchau avatar Jul 13 '23 15:07 BFuerchau

How can i identify the failing test in the test source? I'm running all tests, except some with missing plugins, fine. Also the embedded tests running now, if i execeute them test by test,

BFuerchau avatar Jul 14 '23 09:07 BFuerchau

Not sure what you're asking. But you see the name of failing test(s) and with that you can check the code easily.

cincuranet avatar Jul 14 '23 09:07 cincuranet

Some tests fails: CompleteDatabaseInfoTest FbDatabaseInfo.GetMaxMemory/GetCurrentMemory is of type int, but if you have more than 2 GB assigned, you get an overflow exception, i have assigned 8GB to FB.

All tests with northwind fails when i use FB-Server 3.0.10, may be depends on my environment. With FB 4.0 all works fine. Finally i have only fails with authority tests because a plugin is missing, and 1 migration test, because the windows environment adds "\r" to the command source in the sourcefile where the build result contains only "\n". When i remove the "\r", test runs ok.

But when i look at the logs in the attachd checks i find only one error:

  1. Error : FirebirdSql.Data.FirebirdClient.Tests.FbArrayTests(Default,True,Required).BigArrayTest FirebirdSql.Data.FirebirdClient.FbException : Unable to complete network request to host "localhost". I have checked these tests with FB 3.0 and FB 4.0 and both works fine. And i don't understand why connection problems should have to do with my changes in fetch.

BFuerchau avatar Jul 14 '23 12:07 BFuerchau

What is the further procedure now? I cannot reproduce the above error in the test. The test is positive for me with FB 3.0 and FB 4.0.

BFuerchau avatar Jul 18 '23 10:07 BFuerchau

I have checked once more the error from the test (BigArrayTest): https://github.com/FirebirdSQL/NETProvider/actions/runs/5545201297/job/15020409952?pr=1121 The test fails during create database. I have called this test separately and get no error. So what should i do now?

BFuerchau avatar Aug 13 '23 14:08 BFuerchau

Could you please modify the ReadRow directly, so it's easier to see the diff. We don't have to keep the original version.

cincuranet avatar Oct 01 '23 15:10 cincuranet

Are my changes rolled back? Should i do a complete new request?

BFuerchau avatar Oct 02 '23 14:10 BFuerchau

You should modify this PR, preferably.

cincuranet avatar Oct 02 '23 14:10 cincuranet

Ok, i have updated the Patch-1 now (i was on the wrong patch before). Is this now enough? I can't make a new pull request. Is the current pull request updated?

Sorry for my questions.

BFuerchau avatar Oct 02 '23 15:10 BFuerchau

Why haven't any of my requests been taken into account? Not even the choppy suggestion for FbDataRader?

BFuerchau avatar Nov 29 '23 08:11 BFuerchau

I think this is a interesting patch regarding performance. Would like to see it.

MartinKoeditz avatar Jan 14 '24 10:01 MartinKoeditz

I think this is a interesting patch regarding performance. Would like to see it.

First changes in FbDataReader: https://github.com/FirebirdSQL/NETProvider/pull/1122

Second changes in GdsStatements (concerning garbage and object creation): https://github.com/FirebirdSQL/NETProvider/pull/1121

Complete fork, based on 9.1.0: https://github.com/BFuerchau/NETProvider

What do you like to know more specific?

BFuerchau avatar Jan 15 '24 08:01 BFuerchau