mbeckerle commented on a change in pull request #560:
URL: https://github.com/apache/daffodil/pull/560#discussion_r635334464
##########
File path:
daffodil-tdml-processor/src/main/scala/org/apache/daffodil/tdml/processor/DaffodilTDMLDFDLProcessor.scala
##########
@@ -159,14 +163,18 @@ final class TDMLDFDLProcessorFactory private (
override def getProcessor(
schemaSource: DaffodilSchemaSource,
useSerializedProcessor: Boolean,
- optRootName: Option[String] = None,
- optRootNamespace: Option[String] = None): TDML.CompileResult = {
+ optRootName: Option[String],
+ optRootNamespace: Option[String],
+ tunables: Map[String, String]): TDML.CompileResult = {
Review comment:
Some of the tunables affect compilation, hence, unless they are passed
in, the cache can return a false match. The unqualifiedPathStepPolicy is the
primary one where I was actually getting a test failure (can't recall which
test), but there can (perhaps are) others, so I decided to just pass them all
in.
We could make a subset data structure with just the compler-affecting
tunables in it, but there are a lot of them, many are used both at compile time
and runtime.
These are the tunables accessed by schema compilation:
unqualifiedPathStepPolicy
requireTextStandardBaseProperty
requireEmptyElementParsePolicyProperty
allowExpressionResultCoercion
requireChoiceDispatchKeyKindProperty
requireFloatingProperty
generatedNamespacePrefixStem
requireTextBidiProperty
requireEncodingErrorPolicyProperty
maxBinaryDecimalVirtualPoint
minBinaryDecimalVirtualPoint
parseUnparsePolicy
maxSkipLengthInBytes
initialRegexMatchLimitInCharacters
defaultEmptyElementParsePolicy
... and any used by expressions which are evaluated at compile time for
constant folding purposes.
e.g., maxValidYear, minValidYear,
Any of these changing *could* result in an SDE vs. successful compilation.
--
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.
For queries about this service, please contact Infrastructure at:
[email protected]