Attribute Discovery Process
How DataPancake discovers attributes during scanning, including polymorphic detection and recursive parsing of stringified JSON.
Discovery Process
Recursively traverse records - Every nested level is visited
Track attribute paths - Complete paths from root to leaf (e.g.,
customer.contact.email)Identify data types - Source data type inferred for each path occurrence
Create all 7 polymorphic versions - Proactively created when attribute first discovered
Activate matching versions - Only versions matching discovered types set to
VERSION_STATUS = 'active'Create attribute records - Records created in
core.datasource_attributeandcore.datasource_attribute_polymorphic_version
What Gets Discovered
All attribute paths - Complete paths from root to leaf (e.g.,
customer.contact.email)Nested objects - Every level of object nesting
Nested arrays - Both object arrays (
ARRAY_TYPE = 'object') and primitive arrays (ARRAY_TYPE = 'primitive')Embedded JSON - JSON stored as strings (
HAS_EMBEDDED_CONTENT = TRUE); recursively parsedPolymorphic variations - All data type variations for the same path (handled via polymorphic versions)
Example: Polymorphic Discovery
Record 1:
Record 2:
Discovery Results:
customer.address:Record 1:
str→address_stractivatedRecord 2:
object→address_objectactivated (existing version)
customer.metadata:HAS_EMBEDDED_CONTENT = TRUERecursively parsed to discover:
metadata.source,metadata.tags[]
Last updated
Was this helpful?