-
-
Notifications
You must be signed in to change notification settings - Fork 970
Hibernate 7 Support #15530
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
Open
jdaugherty
wants to merge
946
commits into
spring-boot-4
Choose a base branch
from
8.0.x-hibernate7
base: spring-boot-4
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Hibernate 7 Support #15530
Changes from all commits
Commits
Show all changes
946 commits
Select commit
Hold shift + click to select a range
28c923a
Fix codenarc violations in datamapping-core and datamapping-tck
jamesfredley 8f8b7db
Add missing micronaut test dependencies to H7 multiple-datasources te…
jamesfredley 84825ba
Fix codestyle CI script failing when build/ directory does not exist
jamesfredley c88e1dc
Handle null values for SimpleMapQuery
jdaugherty 8c2ad15
Handle null values for MongoQuery
jdaugherty 1fcc7b7
Add missing servlet API
jdaugherty ebb1474
Port hibernate 5 OpenSessionInViewInterceptor fixes to hibernate 7
jdaugherty 55b4529
Merge branch '8.0.x' into 8.0.x-hibernate7
jdaugherty 7d197bf
fix: share single InFlightMetadataCollector across binders in test specs
borinquenkid e7b7167
Refactor CollectionSecondPassBinder and ManyToOneBinder for typed dis…
borinquenkid f910c02
Introduce HibernateEnumProperty marker interface; replace isEnumType(…
borinquenkid e753e65
refactor isValidHibernateOneToOne and isValidHibernateManyToOne
borinquenkid bb09c7a
Clean up GrailsPropertyBinder/ManyToOneBinder/OneToOneBinder to use c…
borinquenkid 4edc9aa
Move InFlightMetadataCollector into ComponentBinder constructor; remo…
borinquenkid 16b4923
refactor methods into HibernateOneToOneProperty
borinquenkid 4d86dcb
refactor: split ManyToOneBinder into ManyToOneBinder and ForeignKeyOn…
borinquenkid c96bf2d
refactor: replace isCompositeIdentifier with Optional<CompositeIdenti…
borinquenkid 1c1dc23
refactor: CompositeIdentifierToManyToOneBinder
borinquenkid bfbde3a
test OrderByClauseBuilder
borinquenkid 85c0aac
refactor CollectionSecondPassBinder
borinquenkid b53527e
refactor CollectionSecondPassBinder
borinquenkid d13a8d9
Extract bindOrderBy into CollectionOrderByBinder
borinquenkid 8f37cd3
refactor: extract bindOrderBy and applyMultiTenantFilter from Collect…
borinquenkid 1da3398
refactor: extract bindCollectionKey from CollectionSecondPassBinder i…
borinquenkid b24db91
refactor: extract bindBidirectionalMapElement into BidirectionalMapEl…
borinquenkid 4a28b19
refactor: extract bindManyToManyElement into ManyToManyElementBinder
borinquenkid 08e1e86
refactor: move DependantValue creation into CollectionKeyBinder
borinquenkid 63b2488
refactor: HibernateToManyProperty.getCacheUSage
borinquenkid 3d80db3
refactor: move CollectionKeyBinder into CollectionKeyColumnUpdater
borinquenkid b92f0b1
efactor: extract BasicCollectionElementBinder from CollectionWithJoin…
borinquenkid b9933d0
refactor: move ManyToOne element creation into UnidirectionalOneToMan…
borinquenkid c3356b1
refactor: extract resolveJoinTableForeignKeyColumnName into Hibernate…
borinquenkid 9cdb1d3
refactor: create SimpleValue inside of simpleValueColumnBinder
borinquenkid 3f90467
refactor(hibernate7): merge AbstractHibernateDatastore into Hibernate…
borinquenkid 1ebdbca
Fixed SubqueryAliasSpec
borinquenkid 62a1500
rename for Hibernate7OptimisticLockingSpec
borinquenkid ff57040
fix FindByExample
borinquenkid 1625183
Restore NamedCriteria to Hibernate 5
borinquenkid b9865c4
refactor: fold AbstractHibernateGormValidationApi into HibernateGormV…
borinquenkid 65172d4
refactor(hibernate7): fold AbstractHibernateSession into HibernateSes…
borinquenkid 29b14b0
refactor(hibernate7): fold AbstractClosureEventTriggeringInterceptor …
borinquenkid 7c58c6b
refactor(hibernate7): fold AbstractHibernateEventListener into Hibern…
borinquenkid 0914076
clean up PredicateGenerator
borinquenkid af7113a
clean up HibernateQuery
borinquenkid e11209d
clean up HibernateHqlQuery
borinquenkid 04d3685
refactor(hibernate7): replace dual-field HibernateHqlQuery with HqlQu…
borinquenkid 73d0286
fix: tighten PersistentEntity.getJavaClass() return type to Class<?>
borinquenkid 8f51ec5
clean up HibernateQuery
borinquenkid 615d25e
change HibernateQueryConstants to HibernateQueryArgument
borinquenkid de39638
refactor(hibernate7): replace HibernateDatastore.FlushMode with org.h…
borinquenkid 6dd23eb
refactor(hibernate7): more cleanup HibernateDatastore
borinquenkid fe43b89
refactor(hibernate7): more cleanup HibernateGormStaticApi
borinquenkid c75510a
refactor(hibernate7): cleanup HibernateSession
borinquenkid 6cc4475
refactor(hibernate7): cleanup HibernateProxyHandler
borinquenkid 70c7807
refactor(hibernate7): type safety, API modernisation, and spec coverage
borinquenkid a0e8586
cleanup(hibernate7): ColumnBinder using more GrailsHibernate types
borinquenkid 16b8dc1
cleanup(hibernate7): Remove unused InFlightMetadataCollector from Co…
borinquenkid c060e28
cleanup(hibernate7): Make SimpleValueBinder.bindSimpleValue return S…
borinquenkid 893508e
cleanup(hibernate7): General cleanup
borinquenkid 9804429
cleanup(hibernate7): Fix Generics
borinquenkid 7acd83c
cleanup(hibernate7): Make sure updateable is not used internally.
borinquenkid 5769be2
cleanup(hibernate7): general clean up
borinquenkid 7519aca
cleanup(hibernate7): DefaultColumnNameFetcher
borinquenkid ee718c9
cleanup(hibernate7): ConfigureDerivedPropertiesConsumer
borinquenkid 6dcbf33
cleanup(hibernate7): use Hibernate-specific types in ForeignKeyColum…
borinquenkid 62c24f0
hibernate7: CloseSuppressingInvocationHandler
borinquenkid fa06fe7
hibernate7: clean up GrailsHibernateTemplate
borinquenkid 2d00680
hibernate7: spec for GrailsSessionContext and InstanceApiHelper
borinquenkid 2ef3d51
hibernate7: cleanup ListSecondPassBinder
borinquenkid 91ef923
hibernate7: cleanup GrailsHibernateUtil
borinquenkid e4b8bbf
hibernate7: cleanup update MapSecondPassBinderSpec
borinquenkid 4369ad4
hibernate7: cleanup update MapSecondPassBinderSpec
borinquenkid d598e2c
hibernate7: cleanup update GrailsHibernateQueryUtils
borinquenkid 9edc594
hibernate7: PredicateGenerator now uses ConversionService to coerce a…
borinquenkid a5c83ed
hibernate7: Refactoring GrailsHibernateQueryUtils and HibernateGormSt…
borinquenkid a636c83
hibernate7: Refactoring HibernateGormStaticApi
borinquenkid 6346ae6
hibernate7: removing GrailsHibernateQueryUtils.java
borinquenkid ac1c7ec
hibernate7: cleanup HibernateHqlQuery
borinquenkid 7e115b1
hibernate7: add Positional Parameters support
borinquenkid 961d4f4
hibernate7: codenarc
borinquenkid 8cd8d27
hibernate7: more Codenarc
borinquenkid 13c0cb0
hibernate7: more Codenarc
borinquenkid f28386c
hibernate7: more Codenarc
borinquenkid 341f453
hibernate7: more Codenarc
borinquenkid b9a175d
hibernate7: more Codenarc
borinquenkid f54b941
hibernate7: more Codenarc
borinquenkid c570446
hibernate7: removed deprecated code from HibernateGormInstanceApi
borinquenkid 483c9b1
hibernate7: more CodeNarc
borinquenkid 59dba3d
hibernate7: more CodeNarc
borinquenkid a6d502c
hibernate7: more CodeNarc
borinquenkid a20ffb9
hibernate7: more CodeNarc
borinquenkid 7031b9c
hibernate7: HibernateGormValidationApi bug fix
borinquenkid f54f866
hibernate7:
borinquenkid d074b82
hibernate7:
borinquenkid b738f11
hibernate7:
borinquenkid b79b287
hibernate7:
borinquenkid ef7f1ce
hibernate7:
borinquenkid abaa38b
hibernate7: cleanup TraitPropertyAccessStrategy
borinquenkid f791e4d
hibernate7: SubClassBinder now returns a list of subclasses
borinquenkid 3a1bbaa
hibernate7: 1 Refactor subclass binders to internally create Hibernat…
borinquenkid d1bdac6
hibernate7: clean up constructor of SubclassMappingBinder
borinquenkid 18da254
hibernate7: Modify NaturalIdentifierBinder to accept GrailsHibernate…
borinquenkid 8e4f5a7
liquibase-hibernate7-oss fork
borinquenkid d774afc
partial linting commit.
borinquenkid eb885c1
hibernate 7: further linting and testing
borinquenkid ec9e023
hibernate 7: cleaning and testing HibernateSpringBeanDatabase
borinquenkid aef5c0e
hibernate 7: added more robustness to ChangeLogParser
borinquenkid a25dff3
hibernate 7: added GormColumnSnapshotGeneratorSpec
borinquenkid 4601826
hibernate 7: added GormDatabaseSpec
borinquenkid 087d7bb
hibernate 7 GrailsLiquibaseSpec
borinquenkid db80b65
hibernate 7 GroovyChangeSpec
borinquenkid 1a38b41
hibernate 7 ChangedColumnChangeGenerator
borinquenkid dd92e80
hibernate 7 ChangedSequenceChangeGenerator
borinquenkid c227011
dbmigration: added specs for Generators
borinquenkid ab0c61a
dbmigration: added specs for Generators
borinquenkid 0ca04a0
hibernate 7: refactor ClassBinder
borinquenkid d6c3684
hibernate 7: CacheConfig usage and include are now enums
borinquenkid 9984a6b
hibernate 7: GrailsHibernatePersistentEntity.java: Added a default g…
borinquenkid dbe04cb
hibernate 7: Ensuring robust identifier handling through the
borinquenkid 61a4f25
hibernate 7: Consolidated Identity logic
borinquenkid 94dc6e0
hibernate 7: reducing arguments to HibernatePersistentEntity
borinquenkid b55d18f
hibernate 7: reducing arguments to HibernatePersistentEntity
borinquenkid 0cf3281
hibernate 7: refactoring RootBinder
borinquenkid 70775c2
hibernate 7: using more HibernatePersistentEntity
borinquenkid eea8d27
hibernate 7: clean up ClassPropertiesBinder.bindClassProperties
borinquenkid 4db2987
hibernate 7: first step in encapsulating Table inside of HibernatePe…
borinquenkid 1062c8f
hibernate 7: Refactoring signature of GrailsPropertyBinder
borinquenkid 4e20853
hibernate 7: Refactoring signature of OneToOneBinder
borinquenkid 80dc543
hibernate 7: Refactoring signature of EnumTypeBinder
borinquenkid 5e4e1c1
hibernate 7: Refactoring CollectionBinder
borinquenkid 12c237d
hibernate 7: Refactoring ForeignKeyOneToOneBinder
borinquenkid 12bcc66
hibernate 7: remove unnecessary collection arguments
borinquenkid cdf0b68
hibernate 7 refactoring EnumTypeBinder
borinquenkid d412af8
hibernate 7 temp
borinquenkid 5c9ecac
hibernate 7 temp
borinquenkid 6e0abf6
minor fixes
borinquenkid 20ff4c7
PredicateGenerator throws correct exception
borinquenkid 1c7b105
better fixes for PredicateGenerator
borinquenkid 0a9cc2a
hibernate 7: refactor ManyToOneBinder
borinquenkid ae5d320
hibernate 7: refactor ManyToOneBinder
borinquenkid 1318b8d
hibernate 7: refactor ComponentBinder
borinquenkid d1eee79
hibernate 7: refactor EnumTypeBinder
borinquenkid a172b56
hibernate 7: update BindCollectionElementBinderSpec
borinquenkid 64052ca
hibernate 7: refactor BindCollectionElementBinder
borinquenkid 9003465
hibernate 7: refactor BindCollectionElementBinder to EnumTypeBinder
borinquenkid 840fd60
hibernate 7:
borinquenkid bf1d4df
hibernate 7:
borinquenkid 889458c
hibernate 7:
borinquenkid 04a9041
hibernate 7:
borinquenkid 2c5ea3c
hibernate 7:
borinquenkid 2b65553
hibernate 7:
borinquenkid da7b79d
hibernate 7:
borinquenkid 25698ec
hibernate 7:
borinquenkid e1de371
hibernate 7:
borinquenkid 506d69d
hibernate 7:
borinquenkid 921c97c
hibernate 7:
borinquenkid 4a8fdd9
hibernate 7:
borinquenkid 1fb626b
hibernate 7:
borinquenkid 5cd0b68
hibernate 7:
borinquenkid 61db8e6
hibernate 7:
borinquenkid 230bb94
hibernate 7:
borinquenkid 6371219
hibernate 7:
borinquenkid 4fd80ac
hibernate 7: linting
borinquenkid 832ddb8
hibernate 7: linting
borinquenkid 402690e
hibernate 7: linting and EventListenerIntegrator tightening
borinquenkid ad038d9
hibernate 7: Internally DataSource Connection.DEFAULT value was incor…
borinquenkid ec22a38
hibernate 7: added more validations for GrailsHibernateUtil
borinquenkid 2baf5fa
hibernate 7: more linting
borinquenkid fe558c7
hibernate 7:
borinquenkid 4bd0764
hibernate 7:
borinquenkid 515ec3c
hibernate 7:
borinquenkid b760584
hibernate 7:
borinquenkid a0c5838
hibernate 7:
borinquenkid af9c94c
hibernate 7:
borinquenkid 3209616
hibernate 7:
borinquenkid b940162
hibernate 7:
borinquenkid 3d0c862
hibernate 7:
borinquenkid c7ab80c
mongo: split H7 specs from the rest
borinquenkid bacd5fa
mongo: fix MongoContainers for latest version of Docker
borinquenkid 6eef167
mongo: starts MongoDatastoreSpec
borinquenkid d6414a1
mongo: fix tests
borinquenkid 17160e2
hibernate: fix PagedResultList
borinquenkid 8d5789f
hibernate: Pending checks
borinquenkid 2d7682f
hibernate: RAT
borinquenkid 0975eff
hibernate: PMD
borinquenkid 29559c0
hibernate: OptimisticLockingSpec
borinquenkid ae21bb2
hibernate: linting
borinquenkid 1e2e7f7
hibernate: fixed broken tests
borinquenkid c9ae2ec
hibernate: linting
borinquenkid 0609920
hibernate: linting
borinquenkid 948bab9
gorm: separating core GORM tests from implementations. Some tests mar…
borinquenkid 0ef4d19
1) Stabilized Multi-DataSource Support
borinquenkid 2b7199d
spring 4.0 integration hit hibernate 7 branch
borinquenkid 18eaf6b
Finalize Hibernate 7 multi-datasource support and Spring Boot 4 modul…
borinquenkid 63b3e7a
Updated GrailsCodeStylePlugin to aggregate all linting violations int…
borinquenkid 6aa1d89
The GrailsCodeStylePlugin now supports consolidated style violation r…
borinquenkid 216cef3
hibernate 7: linting
borinquenkid cd2c8d1
hibernate 7: linting and expanding tests
borinquenkid 5d11c06
chore: fix CodeNarc violations in grails-datamapping-tck and improve …
borinquenkid 4aea0cb
chore: fix final CodeNarc indentation violation in grails-datamapping…
borinquenkid 980cbe9
chore: fix Apache Rat audit failures
borinquenkid b8b16f8
fix: various build and test failures in Hibernate 7 and GSP modules
borinquenkid 8d9b371
datamapping-core complilation
borinquenkid 240b972
codenarc
borinquenkid ac62344
linting
borinquenkid e36e38a
Merge remote-tracking branch 'jamesfredley/spring-boot-4' into 8.0.x-…
borinquenkid 713487d
testing violations plugins
borinquenkid a004b00
chore: fix grails-data-hibernate7-dbmigration tests and compatibility
borinquenkid 64310a7
chore: fix SpotBugs violations in grails-data-hibernate7-dbmigration
borinquenkid e8ee4ba
hibernate7 codeNarc fixes
borinquenkid e649743
refactor: change SimpleValueBinder constructor visibility to private
borinquenkid 6929305
refactor: BasicValueIdCreator and SimpleValueBinder refactoring
borinquenkid 1a7eb80
refactor: encapsulate identifier resolution in BasicValueIdCreator
borinquenkid e90fb81
Merge branch 'spring-boot-4' into 8.0.x-hibernate7
jamesfredley c6bb085
fix: DynamicFinder boolean+OR query junction logic
jamesfredley 0d8f43d
fix: @DelegateAsync AST transform classloader regression
jamesfredley 20131c0
fix: restore non-hibernate7 test coverage
jamesfredley cb25275
Merge branch 'fix/restore-non-hibernate7-test-coverage' into 8.0.x-hi…
jamesfredley 2cf2ad1
refactor: rename BasicValueIdCreator to BasicValueCreator and consoli…
borinquenkid c8944ed
style: fix CodeNarc violations in TCK specs
jamesfredley ecf8caf
refactor: rename of HibernateProperty hierarchy
borinquenkid 6fd8c13
Merge remote-tracking branch 'origin/8.0.x-hibernate7' into 8.0.x-hib…
borinquenkid 33f1a2f
test: expand HibernateProxyHandler7Spec to match hibernate5 test cove…
jamesfredley e0e272c
fix: add Groovy proxy support to HibernateProxyHandler.isInitialized()
jamesfredley 1a66edc
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid 148d718
refactor: address Copilot review feedback on PR #15548
jamesfredley 8a035be
fix: normalize Groovy GString to String in Hibernate 7 criteria queries
jamesfredley 6641b98
Merge pull request #15549 from apache/fix/h7-multi-datasource-execute…
jamesfredley 2687842
refactor: replace DSL identity config with typed identity properties …
borinquenkid 101d0bc
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid fbced2d
refactor: move generator name resolution into HibernatePersistentProp…
borinquenkid 14dd3f8
test: add getGeneratorName() coverage to HibernatePersistentPropertySpec
borinquenkid 67fb91e
refactor: throw MappingException in getIdentityProperty() instead of …
borinquenkid a7830a6
refactor: simplify binder signatures; fix composite identity parts type
borinquenkid e0b59e1
refactor: remove RootClass param from IdentityBinder.bindIdentity
borinquenkid 8bdc7e3
fix: H7 merge upserts correctly and mutates caller instance
borinquenkid 93c5928
test: DetachedCriteria list returns PagedResultList only when max is set
borinquenkid 6382464
fix: remove double populateArgumentsForCriteria call in DetachedCrite…
borinquenkid 9598b9d
Merge remote-tracking branch 'origin/spring-boot-4' into 8.0.x-hibern…
jamesfredley 945c907
fix: PagedResultList totalCount leaks ORDER BY into COUNT query on H2
borinquenkid 8c2ae2e
test: restore multi-row validation for findAll* boolean property finders
borinquenkid eaacee2
H7: incorrect messages
borinquenkid 78b8b36
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid 1497ea4
H7: fix style violations and update agent guidelines
borinquenkid 9d723a8
H7: update agent guidelines for test aggregation
borinquenkid d52a9e5
H7: make test aggregation more robust by scanning all root directories
borinquenkid 6658a08
fix: DefaultUrlCreator generates correct URL for controller-only links
borinquenkid 9c79935
fix: remove @PendingFeatureIf from many-to-many sorting test in H5
borinquenkid 6cc9fda
Merge pull request #15548 from apache/fix/groovy-proxy-isinitialized
jamesfredley e2d9374
Merge pull request #15550 from apache/8.0.x-hibernate7-dev
jdaugherty File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| # .git-blame-ignore-revs | ||
| # Reformat code: https://github.com/apache/grails-core/pull/14925 | ||
| 20c3278683f2993e23c947c409eafa978c0aefb7 | ||
| # Reformat code for hibernate 7 | ||
| 811bacd377678e22bac6308065da28b1caa17700 |
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
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
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
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
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
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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.