You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Should we look for another version marker and reenter the parsing loop if we find one?
No, I don't think so. There's a bunch of issues that make it undesirable to handle in the Ion Schema System right now. Basically, if we start parsing again, is the data part of the same schema, or is it a new schema? If it's part of the same schema, then we need to deal with the fact that we could have two different ISL versions contributing to the same schema (and this library is not in a state to handle that right now). If it's a different schema, then we have a situation where there are two schemas that came from one schema ID, and that's something that we don't want to allow.
I think the ideal long term solution would be to finish parsing one schema, and then return any remaining elements to the user. E.g., return a class SchemaReadOutput(val schema: SchemaDocument, val unconsumedValues: Iterable<IonValue>) or something like that—basically, we allow the user to decide whether to continue looking for more schemas in the Ion stream.
No, I don't think so. There's a bunch of issues that make it undesirable to handle in the Ion Schema System right now. Basically, if we start parsing again, is the data part of the same schema, or is it a new schema? If it's part of the same schema, then we need to deal with the fact that we could have two different ISL versions contributing to the same schema (and this library is not in a state to handle that right now). If it's a different schema, then we have a situation where there are two schemas that came from one schema ID, and that's something that we don't want to allow.
I think the ideal long term solution would be to finish parsing one schema, and then return any remaining elements to the user. E.g., return a
class SchemaReadOutput(val schema: SchemaDocument, val unconsumedValues: Iterable<IonValue>)
or something like that—basically, we allow the user to decide whether to continue looking for more schemas in the Ion stream.Originally posted by @popematt in #268 (comment)
The text was updated successfully, but these errors were encountered: