/*
 * Description  : This test case is to verify the fix for issue288
 				: https://code.google.com/p/asterixdb/issues/detail?id=288
 * Expected Res : Success
 * Date         : 3th April 2013
 */

drop dataverse test if exists;
create dataverse test;

use dataverse test;

create type LineIDType as closed {
  l_orderkey: int32, 
  l_linenumber: int32, 
  l_suppkey: int32
}

create dataset LineID(LineIDType)
  primary key l_orderkey, l_linenumber;

create dataset LineID2(LineIDType)
  primary key l_orderkey, l_linenumber;
