scovich commented on code in PR #9272:
URL: https://github.com/apache/arrow-rs/pull/9272#discussion_r2736708169
##########
arrow-json/src/lib.rs:
##########
@@ -86,7 +86,7 @@
pub mod reader;
pub mod writer;
-pub use self::reader::{Reader, ReaderBuilder};
+pub use self::reader::{ArrayDecoder, DecoderFactory, Reader, ReaderBuilder,
Tape, TapeElement};
Review Comment:
Good question, and I don't remember seeing any discussion on the original PR
I'm building on here:
* https://github.com/apache/arrow-rs/pull/9021
Is there any way to allow users to customize parsing without exposing
_something_? Other options might include:
1. Create a new trait or wrapper that exposes the tape's information in a
simplified/safe/stable way, to decouple users from the low-level details.
* Maybe could work? Worth exploring?
3. Convert the tape to variant, and shift the factory/decoder stuff over to
variant-compute instead of json crate
* We'd still need _something_ to allow parsing JSON to variant, which I
believe is a canonical extension types that _should_ be supported directly.
* Variant is insanely complex once shredding comes into the picture, so
such an interface would not be easier or safer to use IMO.
* The extra layer of conversion would impose significant overhead for
somebody who just wants to parse a few misbehaving columns in a special way.
4. Something else I'm not thinking of?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]