fix: enum models not used when column def has qualifier #37
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.
When trying to use sqlc to generate kotlin code for Atlas generated migrations I found that the ResultSet bindings weren't properly generated.
I was getting
results.getAny($columnIndex)instead of
EnumName.lookup(results.getString($columnIndex))!!After looking through the code and the atlas migrations I realised that when the column type has the schema qualifier in postgres 'public.enum_name' (Atlas' behaviour) the generator wasn't able to associate the correct enum Model because it was comparing the columnType variable which includes the schema against the enum name which doesn't.
The change should fix the issue and make a more strict comparison for the enum names and the schema they belong to against the column type and the schema of the column type.
Simplified schema definition:
Apologies if the title isn't very descriptive as I didn't know how to summarize the issue, suggestions are appreciated.