-
Notifications
You must be signed in to change notification settings - Fork 26
Nuget packages updated #434
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
and pass postgre abstract driver to compiler/typemapper not the generic one ALSO - Added setting of two Postgre AppDomain switches. The first one disables DateTime/DateOnly/DateTimeOffset's min and max value conversion to Infinity/-Infinity, without it many of operations with the types are more complicated because require checks for infinities to provide correct results of queries. Second one disable legacy timestamps behavior, this legacy mode can be removed at any point of time in future we can't rely on it.
…ing count of points
…eOffset Since we have to support Npgsql conversion of the values to infinity/-infinity we need to test such behavior
Switches are initialized in global test setup via TestConfiguration if necessary
…ersion Server-side version has reduced fractions which can cause problems on comparison with .NET values.
- Some tests became Postgre-only - removed temporary logging of commands
When infinity aliases enabled Npgsql makes correct replacement, otherwise we replace "max value" from server with true max value
Some parts are extracted from infinity as null value and some parts as double.Infinity
- TimeSpan reading assumes some values as MinValue/MaxValue, otherwise writing and then reading of MinValue/MaxValue will not be the same because of different number of fractional points in Postgre and .NET. We loose 18 particular values for comfort of comparison (we loose them anyway because of PG resolution). The odds of having MaxValue - 1-to-7 ticks or MinValue + 1-to-8 ticks as true values are extremely low. - some comments improved
- operations based on server-side predefined constant values, not on defined results on client-side, in long term it is better and more reliable - small code improvements - fix of IntervalToMilliseconds for 9.0+ versions which lacked trunc operation
no loading data from server
# Conflicts: # Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/Compiler.cs # Orm/Xtensive.Orm.Tests.Sql/PostgreSql/IntervalToMillisecondsTest.cs
Tests require PostgreSQL so model should not have them in model
# Conflicts: # ChangeLog/7.2.0-Beta-2-dev.txt
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updated packages
Various changes for PostgreSql that ware required to make for newversion of library to work, including
.Milliseconds
part translation for types that have the partTimeSpan.TotalMilliseconds
translationAppContext
switchNpgsql.EnableLegacyTimestampBehavior
made to be turned off if the user hasn't set it before Domain build, though both states are supported.AppContext
switchNpgsql.DisableDateTimeInfinityConversions
is turned on if the user hasn't set it before Domain build, this is done to not allow Npgsql to convertMinValue
andMaxValue
of certain types, if the user wants such conversion, we support both states of the switch.DateTime
values '0001.01.01 00:00:00.00000' and '9999.12.31 23:59:59.99999' will be read asMinValue
andMaxValue
accordingly.DateTimeOffset
values '0001.01.01 00:00:00.00000+00:00' and '9999.12.31 23:59:59.99999+00:00' will be read asMinValue
andMaxValue
accordinglyDateTimeOffset
values if possible, otherwise, to local one. We try to find system time zone for connection time zone by using TimeZoneInfo, including offsets in POSIX format, if there is no such time zone foundDateTimeOffset.ToLocalTime()
will be used.TimeSpan
s based on values lower than -9223372036854775800L and higher 92233720368547758xxL will be read asMinValue
andMaxValue
accordingly. Server type has lower resolution and data will be lost anyway, this is done for convenience of further comparisons by the user.