/*
 * Description    : Tests whether a conflict between two open field names are detected
 * Expected Result: An error reporting that there is a duplicate field name "name"
 * Author: zheilbron
 */
 
drop dataverse test if exists;
create dataverse test;
use dataverse test;

create type opentype as open {
fname1: string,
fname2: string
}

create dataset testds(opentype) primary key fname1; 

insert into dataset testds({'fname1': "name", 'fname2': "name"});

for $x in dataset('testds')
return {$x.fname1: "john", $x.fname2: "smith"}