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

[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

[type_001_master]
data=<<DATA
type_001/a_000
type_001/a_001
type_001/a_010
type_001/a_011
type_001/a_100
type_001/a_101
type_001/a_110
type_001/a_111
DATA

[type_002_master]
data=<<DATA
type_002/a_000
type_002/a_001
type_002/a_010
type_002/a_011
type_002/a_100
type_002/a_101
type_002/a_110
type_002/a_111
DATA

[type_001_master_history]
data=<<DATA
type_001/a_xxx_old NULL

type_001/a_000 type_001/a_000
type_001/a_001 type_001/a_001
type_001/a_010 type_001/a_010
type_001/a_011 type_001/a_011
type_001/a_100 type_001/a_100
type_001/a_101 type_001/a_101
type_001/a_110 type_001/a_110
type_001/a_111 type_001/a_111

type_001/a_000_old_1 type_001/a_000
type_001/a_001_old_1 type_001/a_001
type_001/a_010_old_1 type_001/a_010
type_001/a_011_old_1 type_001/a_011
type_001/a_100_old_1 type_001/a_100
type_001/a_101_old_1 type_001/a_101
type_001/a_110_old_1 type_001/a_110
type_001/a_111_old_1 type_001/a_111

type_001/a_000_old_2 type_001/a_000
type_001/a_001_old_2 type_001/a_001
type_001/a_010_old_2 type_001/a_010
type_001/a_011_old_2 type_001/a_011

type_001/a_010_old_3 type_001/a_010
type_001/a_011_old_3 type_001/a_011
DATA

[type_002_master_history]
data=<<DATA
type_002/a_xxx_old NULL

type_002/a_000 type_002/a_000
type_002/a_001 type_002/a_001
type_002/a_010 type_002/a_010
type_002/a_011 type_002/a_011
type_002/a_100 type_002/a_100
type_002/a_101 type_002/a_101
type_002/a_110 type_002/a_110
type_002/a_111 type_002/a_111

type_002/a_000_old_1 type_002/a_000
type_002/a_001_old_1 type_002/a_001
type_002/a_010_old_1 type_002/a_010
type_002/a_011_old_1 type_002/a_011
type_002/a_100_old_1 type_002/a_100
type_002/a_101_old_1 type_002/a_101
type_002/a_110_old_1 type_002/a_110
type_002/a_111_old_1 type_002/a_111

type_002/a_000_old_2 type_002/a_000
type_002/a_001_old_2 type_002/a_001
type_002/a_010_old_2 type_002/a_010
type_002/a_011_old_2 type_002/a_011

type_002/a_010_old_3 type_002/a_010
type_002/a_011_old_3 type_002/a_011
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_000	NULL		NULL		NULL
NULL		type_002/a_000	NULL		NULL
type_001/a_001  type_002/a_001	NULL		NULL
type_001/a_010	NULL		NULL		NULL
NULL		type_002/a_010	type_003/a_010	NULL
type_001/a_011  type_002/a_011	type_003/a_011	NULL
type_001/a_100	NULL		NULL		NULL
NULL		type_002/a_100	NULL		NULL
NULL		NULL		type_003/a_100	type_004/a_100
type_001/a_101	type_002/a_101	NULL		NULL
NULL		NULL		type_003/a_101	type_004/a_101
type_001/a_110	NULL		NULL		NULL
NULL		type_002/a_110	type_003/a_110	type_004/a_110
type_001/a_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA

# correct 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

# correct result of query in 010.basics
# 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/a_001  type_002/a_001	NULL		NULL
type_001/a_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA

# NG 12-11-23: added validate option
[basics_validate_option]
data=<<DATA
type_001/invalid	0	NULL
type_001/a_000		1	NULL
type_001/a_001		1	NULL
type_001/a_011		1	type_003/a_011
type_001/a_110		1	NULL
type_001/a_111		1	type_003/a_111
DATA

# NG 12-11-25: added validate method
[basics_validate_method]
data=<<DATA
type_001/invalid	0	NULL
type_001/a_000		1	type_001/a_000
type_001/a_001		1	type_001/a_001
type_001/a_011		1	type_001/a_011
type_001/a_110		1	type_001/a_110
type_001/a_111		1	type_001/a_111
DATA

# NG 11-01-21: added 'translate all'
# correct result of 'translate all' query in 010.basics
[basics_all]
data=<<DATA
type_001/a_001  type_002/a_001	NULL		NULL
type_001/a_011  type_002/a_011	type_003/a_011	NULL
type_001/a_101	type_002/a_101	NULL		NULL
type_001/a_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA

# NG 12-08-22: added 'filter'
# correct result of 'filter' query in 010.basics
[basics_filter]
data=<<DATA
type_001/a_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA

# NG 12-09-20: added 'filter=>undef'
[filter_undef]
data=<<DATA
type_001/a_011  type_002/a_011	type_003/a_011	NULL
type_001/a_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA

# NG 12-09-21: added 'filter=>[undef]'
[filter_arrayundef]
data=<<DATA
type_001/a_001  type_002/a_001	NULL		NULL
type_001/a_101	type_002/a_101	NULL		NULL
DATA

# NG 12-09-21: added 'filter=>[undef,111]'
[filter_arrayundef_111]
data=<<DATA
type_001/a_001  type_002/a_001	NULL		NULL
type_001/a_101	type_002/a_101	NULL		NULL
type_001/a_111  type_002/a_111	type_003/a_111	type_004/a_111
DATA

# NG 12-09-21: added 'input_ids=>scalar
[input_scalar]
data=<<DATA
type_001/a_001  type_002/a_001	NULL		NULL
DATA

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

# correct query result for 102.dup_outs regression test
[translate_dup_outputs]
data=<<DATA
type_001/a_000	type_001/a_000	NULL		NULL		NULL
type_001/a_001  type_001/a_001  NULL		NULL		NULL
type_001/a_111  type_001/a_111  type_003/a_111	type_003/a_111	type_004/a_111
DATA

# NG 11-01-21: added 'translate all'
# correct 'translate all' query result for 102.dup_outs regression test
[translate_dup_outputs_all]
data=<<DATA
type_001/a_000	type_001/a_000	NULL		NULL		NULL
type_001/a_001  type_001/a_001  NULL		NULL		NULL
type_001/a_010	type_001/a_010	NULL		NULL		NULL
type_001/a_011  type_001/a_011  type_003/a_011	type_003/a_011	NULL
type_001/a_100	type_001/a_100	NULL		NULL		NULL
type_001/a_101	type_001/a_101	NULL		NULL		NULL
type_001/a_110	type_001/a_110	NULL		NULL		NULL
type_001/a_111  type_001/a_111  type_003/a_111	type_003/a_111	type_004/a_111
DATA