You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When running a match query on an empty node/rel tables, a std::bad_alloc is caused.
As pointed out by @andyfengHKU:
> it's because the following line
static inline uint64_t getMaxNodeOffsetFromNumTuples(uint64_t numTuples) {
return numTuples == 0 ? UINT64_MAX : numTuples - 1;
}
> when the table id empty
> we return maxNodeOffset as UINT64_MAX
> but our semi mask was interrept 64_MAX as a valid maxNodeOffset
> so it tries to generate a bitmask with size of 64_MAX which explore the memory
> that's why there is no error msg being throw out
To reproduce:
Run the following in a new database:
create node table person (ID INT64, PRIMARY KEY (ID));
create rel table knows (FROM person TO person, int64Prop INT64, MANY_MANY);
match (p0:person)-[r:knows]->(p1:person) WHERE p0.ID = 0 return p1.ID;
The text was updated successfully, but these errors were encountered:
Introduction
When running a match query on an empty node/rel tables, a
std::bad_alloc
is caused.As pointed out by @andyfengHKU:
To reproduce:
Run the following in a new database:
The text was updated successfully, but these errors were encountered: