The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
##### defines data for handcrafted database with history

[maptable_001]
data=<<DATA
type_001/a_001 type_002/a_001
type_001/a_011 type_002/a_011
type_001/a_101 type_002/a_101
type_001/a_111 type_002/a_111
DATA

[maptable_002]
data=<<DATA
type_002/a_010 type_003/a_010
type_002/a_011 type_003/a_011
type_002/a_110 type_003/a_110
type_002/a_111 type_003/a_111
DATA

[maptable_003]
data=<<DATA
type_003/a_100 type_004/a_100
type_003/a_101 type_004/a_101
type_003/a_110 type_004/a_110
type_003/a_111 type_004/a_111
DATA

### these guys are deliberately simple - 1:1 histories

[type_001_master]
data=<<DATA
type_001/x_000 type_001/a_000
type_001/x_001 type_001/a_001
type_001/x_010 type_001/a_010
type_001/x_011 type_001/a_011
type_001/x_100 type_001/a_100
type_001/x_101 type_001/a_101
type_001/x_110 type_001/a_110
type_001/x_111 type_001/a_111
DATA

[type_002_master]
data=<<DATA
type_002/x_000 type_002/a_000
type_002/x_001 type_002/a_001
type_002/x_010 type_002/a_010
type_002/x_011 type_002/a_011
type_002/x_100 type_002/a_100
type_002/x_101 type_002/a_101
type_002/x_110 type_002/a_110
type_002/x_111 type_002/a_111
DATA

# type_003_master & type_004_master are for testing load_implicit_masters
[type_003_master]
data=<<DATA
type_003/a_010
type_003/a_011
type_003/a_100
type_003/a_101
type_003/a_110
type_003/a_111
DATA

[type_004_master]
data=<<DATA
type_004/a_100
type_004/a_101
type_004/a_110
type_004/a_111
DATA

# correct ur
[ur]
data=<<DATA
type_001/a_001  type_002/a_001  NULL            NULL            type_001/x_001  type_002/x_001
type_001/a_011  type_002/a_011  type_003/a_011  NULL            type_001/x_011  type_002/x_011
type_001/a_101  type_002/a_101  NULL            NULL            type_001/x_101  type_002/x_101
type_001/a_111  type_002/a_111  type_003/a_111  type_004/a_111  type_001/x_111  type_002/x_111
NULL            type_002/a_010  type_003/a_010  NULL            NULL            type_002/x_010
NULL            type_002/a_110  type_003/a_110  type_004/a_110  NULL            type_002/x_110
NULL            NULL            type_003/a_100  type_004/a_100  NULL            NULL
NULL            NULL            type_003/a_101  type_004/a_101  NULL            NULL
type_001/a_000  NULL            NULL            NULL            type_001/x_000  NULL
type_001/a_010  NULL            NULL            NULL            type_001/x_010  NULL
type_001/a_100  NULL            NULL            NULL            type_001/x_100  NULL
type_001/a_110  NULL            NULL            NULL            type_001/x_110  NULL
NULL            type_002/a_000  NULL            NULL            NULL            type_002/x_000
NULL            type_002/a_100  NULL            NULL            NULL            type_002/x_100
DATA

# ur selection for 040.translate
# NG 10-11-10: removed NULL row (below) 'cuz translate now skips these
# NULL		NULL
[ur_selection]
data=<<DATA
type_001/a_000	NULL
type_001/a_001  NULL
type_001/a_010	NULL
type_001/a_011  NULL
type_001/a_100	NULL
NULL		type_004/a_100
type_001/a_101	NULL
NULL		type_004/a_101
type_001/a_110	NULL
NULL		type_004/a_110
type_001/a_111  type_004/a_111
DATA

# NG 10-11-10: removed 1st row (below) 'cuz translate now skips these
# type_001/a_000	NULL		NULL		NULL
[basics]
data=<<DATA
type_001/x_001  type_002/a_001	NULL		NULL
type_001/x_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA

# validate
[basics_validate]
data=<<DATA
type_001/x_invalid	0	NULL
type_001/x_000		1	NULL
type_001/x_001		1	NULL
type_001/x_011		1	type_003/a_011
type_001/x_110		1	NULL
type_001/x_111		1	type_003/a_111
DATA

# filter
[basics_filter]
data=<<DATA
type_001/x_111  type_002/a_111  type_003/a_111  type_004/a_111
DATA

[filter_all]
data=<<DATA
type_001/x_011  type_002/a_011	type_003/a_011	NULL
type_001/x_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA

[filter_one]
data=<<DATA
type_001/x_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA

[filter_one_undef]
data=<<DATA
type_001/x_001	type_002/a_001	NULL	        NULL
type_001/x_101	type_002/a_101	NULL		NULL
type_001/x_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA

# translate all
[basics_all]
data=<<DATA
type_001/x_001  type_002/a_001	NULL		NULL
type_001/x_011  type_002/a_011	type_003/a_011	NULL
type_001/x_101	type_002/a_101	NULL		NULL
type_001/x_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA

# test one row for each input type
[type_001]
data=<<DATA
type_001/x_111  type_001/a_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA
[type_002]
data=<<DATA
type_002/x_111  type_001/a_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA
[type_003]
data=<<DATA
type_003/a_111  type_001/a_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA
[type_004]
data=<<DATA
type_004/a_111  type_001/a_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA