@@ -121,13 +121,24 @@ static <R> R visit(Schema schema, PartitionField field, PartitionSpecVisitor<R>
121
121
} else if (transform instanceof Truncate ) {
122
122
int width = ((Truncate <?>) transform ).width ();
123
123
return visitor .truncate (field .fieldId (), sourceName , field .sourceId (), width );
124
- } else if ("year" .equalsIgnoreCase (transform .toString ())) {
124
+ } else if (transform == Dates .YEAR
125
+ || transform == Timestamps .YEAR_FROM_MICROS
126
+ || transform == Timestamps .YEAR_FROM_NANOS
127
+ || transform instanceof Years ) {
125
128
return visitor .year (field .fieldId (), sourceName , field .sourceId ());
126
- } else if ("month" .equalsIgnoreCase (transform .toString ())) {
129
+ } else if (transform == Dates .MONTH
130
+ || transform == Timestamps .MONTH_FROM_MICROS
131
+ || transform == Timestamps .MONTH_FROM_NANOS
132
+ || transform instanceof Months ) {
127
133
return visitor .month (field .fieldId (), sourceName , field .sourceId ());
128
- } else if ("day" .equalsIgnoreCase (transform .toString ())) {
134
+ } else if (transform == Dates .DAY
135
+ || transform == Timestamps .DAY_FROM_MICROS
136
+ || transform == Timestamps .DAY_FROM_NANOS
137
+ || transform instanceof Days ) {
129
138
return visitor .day (field .fieldId (), sourceName , field .sourceId ());
130
- } else if ("hour" .equalsIgnoreCase (transform .toString ())) {
139
+ } else if (transform == Timestamps .HOUR_FROM_MICROS
140
+ || transform == Timestamps .HOUR_FROM_NANOS
141
+ || transform instanceof Hours ) {
131
142
return visitor .hour (field .fieldId (), sourceName , field .sourceId ());
132
143
} else if (transform instanceof VoidTransform ) {
133
144
return visitor .alwaysNull (field .fieldId (), sourceName , field .sourceId ());
0 commit comments