-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Comparing changes
Open a pull request
base repository: go-gorm/gorm
base: v1.25.4
head repository: go-gorm/gorm
compare: v1.25.5
- 9 commits
- 14 files changed
- 8 contributors
Commits on Aug 20, 2023
-
Fixed error message when dialector fails to initialize (#6509)
Let's say we have a problem with DSN which leads to dialector initialize error. However DB connection is not created and for some reason line 184 error provides <nil> even though "db" doesn't exist. Previously, this code leads to: panic: runtime error: invalid memory address or nil pointer dereference This fix now doesn't attempt to close non-existant database connection and instead continues, so the proper error is shown. In my case: [error] failed to initialize database, got error default addr for network 'localhost' unknown
Configuration menu - View commit details
-
Copy full SHA for ac07543 - Browse repository at this point
Copy the full SHA ac07543View commit details
Commits on Aug 24, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 653732e - Browse repository at this point
Copy the full SHA 653732eView commit details
Commits on Aug 27, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e57e5d8 - Browse repository at this point
Copy the full SHA e57e5d8View commit details
Commits on Oct 9, 2023
-
fix: sqlite dialector cannot apply
PRIMARY KEY AUTOINCREMENT
type (#…Configuration menu - View commit details
-
Copy full SHA for 2095d42 - Browse repository at this point
Copy the full SHA 2095d42View commit details
Commits on Oct 10, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 9d8a5bb - Browse repository at this point
Copy the full SHA 9d8a5bbView commit details -
*datatypes.JSON in model causes panic on tx.Statement.Changed (#6611)
* do not panic on nil * more explanation in comments * get things compact
Mathias Zeller authoredOct 10, 2023 Configuration menu - View commit details
-
Copy full SHA for 12ba285 - Browse repository at this point
Copy the full SHA 12ba285View commit details -
Don't call MethodByName with a variable arg (#6602)
Go 1.22 goes somewhat toward addressing the issue using reflect MethodByName disabling linker deadcode elimination (DCE) and the resultant large increase in binary size because the linker cannot prune unused code because it might be reached via reflection. Go Issue golang/go#62257 reduces the number of incidences of this problem by leveraging a compiler assist to avoid marking functions containing calls to MethodByName as ReflectMethods as long as the arguments are constants. An analysis of Uber Technologies code base however shows that a number of transitive imports still contain calls to MethodByName with a variable argument, including GORM. In the case of GORM, the solution we are proposing is because the number of possible methods is finite, we will "unroll" this. This demonstrably shows that GORM is not longer a problem for DCE. Before ``` % go version go version devel go1.22-2f3458a8ce Sat Sep 16 16:26:48 2023 -0700 darwin/arm64 % go test ./... -ldflags=-dumpdep 2> >(grep -i -e '->.*<reflectmethod>') gorm.io/gorm.(*Statement).BuildCondition -> gorm.io/gorm/schema.ParseWithSpecialTableName <ReflectMethod> type:reflect.Value <UsedInIface> -> reflect.(*Value).Method <ReflectMethod> type:reflect.Value <UsedInIface> -> reflect.(*Value).MethodByName <ReflectMethod> ok gorm.io/gorm (cached) ok gorm.io/gorm/callbacks (cached) gorm.io/gorm/clause_test.BenchmarkComplexSelect -> gorm.io/gorm/schema.ParseWithSpecialTableName <ReflectMethod> type:reflect.Value <UsedInIface> -> reflect.(*Value).Method <ReflectMethod> type:reflect.Value <UsedInIface> -> reflect.(*Value).MethodByName <ReflectMethod> ? gorm.io/gorm/migrator [no test files] ok gorm.io/gorm/clause (cached) ok gorm.io/gorm/logger (cached) gorm.io/gorm/schema_test.TestAdvancedDataTypeValuerAndSetter -> gorm.io/gorm/schema.ParseWithSpecialTableName <ReflectMethod> type:reflect.Value <UsedInIface> -> reflect.(*Value).Method <ReflectMethod> type:reflect.Value <UsedInIface> -> reflect.(*Value).MethodByName <ReflectMethod> ? gorm.io/gorm/utils/tests [no test files] ok gorm.io/gorm/schema (cached) ok gorm.io/gorm/utils (cached) ``` After ``` %go version go version devel go1.22-2f3458a8ce Sat Sep 16 16:26:48 2023 -0700 darwin/arm64 %go test ./... -ldflags=-dumpdep 2> >(grep -i -e '->.*<reflectmethod>') ok gorm.io/gorm (cached) ok gorm.io/gorm/callbacks (cached) ? gorm.io/gorm/migrator [no test files] ? gorm.io/gorm/utils/tests [no test files] ok gorm.io/gorm/clause (cached) ok gorm.io/gorm/logger (cached) ok gorm.io/gorm/schema (cached) ok gorm.io/gorm/utils (cached) ```
Configuration menu - View commit details
-
Copy full SHA for 8c18714 - Browse repository at this point
Copy the full SHA 8c18714View commit details -
chore(deps): bump actions/checkout from 3 to 4 (#6586)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 1b24081 - Browse repository at this point
Copy the full SHA 1b24081View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6bef318 - Browse repository at this point
Copy the full SHA 6bef318View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.25.4...v1.25.5