@@ -384,13 +384,21 @@ void logicalTypesField() {
384384 "name": "lt_timestamp_micros",
385385 "type": { "type": "long", "logicalType": "timestamp-micros" }
386386 },
387+ {
388+ "name": "lt_timestamp_nanos",
389+ "type": { "type": "long", "logicalType": "timestamp-nanos" }
390+ },
387391 {
388392 "name": "lt_local_timestamp_millis",
389393 "type": { "type": "long", "logicalType": "local-timestamp-millis" }
390394 },
391395 {
392396 "name": "lt_local_timestamp_micros",
393397 "type": { "type": "long", "logicalType": "local-timestamp-micros" }
398+ },
399+ {
400+ "name": "lt_local_timestamp_nanos",
401+ "type": { "type": "long", "logicalType": "local-timestamp-nanos" }
394402 }
395403 ]
396404 }"""
@@ -405,8 +413,10 @@ void logicalTypesField() {
405413 "lt_uuid": "a37b75ca-097c-5d46-6119-f0637922e908",
406414 "lt_timestamp_millis": "2007-12-03T10:15:30.123Z",
407415 "lt_timestamp_micros": "2007-12-13T10:15:30.123456Z",
416+ "lt_timestamp_nanos": "2007-12-13T10:15:30.123456789Z",
408417 "lt_local_timestamp_millis": "2017-12-03T10:15:30.123",
409- "lt_local_timestamp_micros": "2017-12-13T10:15:30.123456"
418+ "lt_local_timestamp_micros": "2017-12-13T10:15:30.123456",
419+ "lt_local_timestamp_nanos": "2017-12-13T10:15:30.123456789"
410420 }
411421 """ ;
412422
@@ -427,10 +437,14 @@ var record = (GenericData.Record) converted;
427437 .isEqualTo (Instant .parse ("2007-12-03T10:15:30.123Z" ));
428438 assertThat (record .get ("lt_timestamp_micros" ))
429439 .isEqualTo (Instant .parse ("2007-12-13T10:15:30.123456Z" ));
440+ assertThat (record .get ("lt_timestamp_nanos" ))
441+ .isEqualTo (Instant .parse ("2007-12-13T10:15:30.123456789Z" ));
430442 assertThat (record .get ("lt_local_timestamp_millis" ))
431443 .isEqualTo (LocalDateTime .parse ("2017-12-03T10:15:30.123" ));
432444 assertThat (record .get ("lt_local_timestamp_micros" ))
433445 .isEqualTo (LocalDateTime .parse ("2017-12-13T10:15:30.123456" ));
446+ assertThat (record .get ("lt_local_timestamp_nanos" ))
447+ .isEqualTo (LocalDateTime .parse ("2017-12-13T10:15:30.123456789" ));
434448 }
435449 }
436450
@@ -582,13 +596,21 @@ void logicalTypesField() {
582596 "name": "lt_timestamp_micros",
583597 "type": { "type": "long", "logicalType": "timestamp-micros" }
584598 },
599+ {
600+ "name": "lt_timestamp_nanos",
601+ "type": { "type": "long", "logicalType": "timestamp-nanos" }
602+ },
585603 {
586604 "name": "lt_local_timestamp_millis",
587605 "type": { "type": "long", "logicalType": "local-timestamp-millis" }
588606 },
589607 {
590608 "name": "lt_local_timestamp_micros",
591609 "type": { "type": "long", "logicalType": "local-timestamp-micros" }
610+ },
611+ {
612+ "name": "lt_local_timestamp_nanos",
613+ "type": { "type": "long", "logicalType": "local-timestamp-nanos" }
592614 }
593615 ]
594616 }"""
@@ -602,8 +624,10 @@ void logicalTypesField() {
602624 inputRecord .put ("lt_time_micros" , LocalTime .parse ("10:15:30.123456" ));
603625 inputRecord .put ("lt_timestamp_millis" , Instant .parse ("2007-12-03T10:15:30.123Z" ));
604626 inputRecord .put ("lt_timestamp_micros" , Instant .parse ("2007-12-13T10:15:30.123456Z" ));
627+ inputRecord .put ("lt_timestamp_nanos" , Instant .parse ("2007-12-13T10:15:30.123456789Z" ));
605628 inputRecord .put ("lt_local_timestamp_millis" , LocalDateTime .parse ("2017-12-03T10:15:30.123" ));
606629 inputRecord .put ("lt_local_timestamp_micros" , LocalDateTime .parse ("2017-12-13T10:15:30.123456" ));
630+ inputRecord .put ("lt_local_timestamp_nanos" , LocalDateTime .parse ("2017-12-13T10:15:30.123456789" ));
607631
608632 String expectedJson = """
609633 {
@@ -614,8 +638,10 @@ void logicalTypesField() {
614638 "lt_time_micros": "10:15:30.123456",
615639 "lt_timestamp_millis": "2007-12-03T10:15:30.123Z",
616640 "lt_timestamp_micros": "2007-12-13T10:15:30.123456Z",
641+ "lt_timestamp_nanos": "2007-12-13T10:15:30.123456789Z",
617642 "lt_local_timestamp_millis": "2017-12-03T10:15:30.123",
618- "lt_local_timestamp_micros": "2017-12-13T10:15:30.123456"
643+ "lt_local_timestamp_micros": "2017-12-13T10:15:30.123456",
644+ "lt_local_timestamp_nanos": "2017-12-13T10:15:30.123456789"
619645 }
620646 """ ;
621647
0 commit comments