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.
Description
This Pull Request introduces support for
sql.Null[T]
in thego-sqlla
library, enhancing type handling capabilities. The key updates include:sql.Null[T]
: Enables the use ofsql.Null[T]
in column definitions.sql.Null[T]
, distinct from othersql.Null
types.Additionally, comprehensive tests have been added to ensure the new functionality works correctly.
Example
To define a column using
sql.Null[T]
, you can create the following schema:In this schema definition,
sub_product_id
is recognized as a nullable column, generating corresponding methods.sql.Null[T]
allows for both basic and user-defined types.Unlike other
sql.Null*
types, you can directly specifyProductID
in theSelect()
WHERE clause without wrapping it insql.Null[T]
:You can also explicitly specify null:
The
IN
operator can be specified with multipleProductID
values:For
Update
, you can directly specifyProductID
or set null explicitly:For
Insert()
, direct specification or explicit null setting is possible:The
Insert().OnDuplicateKeyUpdate()
method for handling key conflicts also supports these methods:The
Delete()
method also allows queries similar toSelect()
:These functionalities become available when using
sql.Null[T]
for column definitions.