[
https://issues.apache.org/jira/browse/AVRO-4118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18122209#comment-18122209
]
Werner Daehn commented on AVRO-4118:
------------------------------------
My other counter argument is, the behavior in Java is different/correct. The
list of logical types can be extended by the user there.
> Custom logical types not supported in Python
> --------------------------------------------
>
> Key: AVRO-4118
> URL: https://issues.apache.org/jira/browse/AVRO-4118
> Project: Apache Avro
> Issue Type: Bug
> Components: logical types, python
> Affects Versions: 1.12.0
> Reporter: Werner Daehn
> Priority: Major
>
> Adding customer logical types in Java is no problem, but with Python I get a
> warning
> {code:java}
> avro\schema.py:1233: IgnoredLogicalType: Unknown VARCHAR, using string. {code}
> According to the spec, everybody can create new logical types. That is what I
> do, in fact. logical types like NVARCHAR(1). Yet the code displays a warning
> always.
> The general ask is to honor that fact and align to what Java does.
> I can see three options here, ordered by preference
> # Ability to add custom logical types. In Java this is what you do, you
> register additional logical types when initializing the class.
> # A global flag to disable the warning.
> # Do nothing.
> Any change here will not break something, it is fully backward compatible.
> [https://github.com/apache/avro/blob/28cb08c15543c8c2dd8d186db2029bfe760940a5/lang/py/avro/schema.py#L1242]
> Example field:
> {code:java}
> {
> "name" : "__change_type",
> "type" : [ "null", {
> "type" : "string",
> "logicalType" : "NVARCHAR",
> "length" : 1
> } ],
> "default" : null
> } {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)