Sounds like a bug to me.

On 7/13/17 7:59 PM, Taewoo Kim wrote:
Currently, I am working on a field type propagation without using
initializing the OptimizableSubTree in the current index access method. I
am encountering an issue with an open-type enforced index. So, I just want
to make sure that my understanding is correct. It looks like we can't have
an enforced-index on a completely schemaless nested field. For example, the
following doesn't generate any issue.

//
create type DBLPType as open {id: int32}
create type CSXType as closed {id: int32}

create dataset DBLP(DBLPType) primary key id;
create dataset CSX(CSXType) primary key id;

for $a in dataset('DBLP')
for $b in dataset('CSX')
where $a.nested.one.title /*+ indexnl */ = $b.nested.one.title
return {"arec": $a, "brec": $b}
//

However, the following generates an exception. So, can we assume that to
create an enforced-index, except the leaf level, there should be a defined
record type. For example, for this example, there should be "nested" type
and "one" type.

//
create type DBLPType as open {id: int32}
create type CSXType as closed {id: int32}

create dataset DBLP(DBLPType) primary key id;
create dataset CSX(CSXType) primary key id;

create index title_index_DBLP on DBLP(nested.one.title: string?) enforced;
create index title_index_CSX on CSX(nested.one.title: string?) enforced;

for $a in dataset('DBLP')
for $b in dataset('CSX')
where $a.nested.one.title /*+ indexnl */ = $b.nested.one.title
return {"arec": $a, "brec": $b}
//

Best,
Taewoo


Reply via email to