Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provenance gives Relation not found error for relations with record types. #2392

Open
MarkMizzi opened this issue Jan 23, 2023 · 1 comment

Comments

@MarkMizzi
Copy link

Here is a minimal example:

// file provenance_test.dl

.type T = [ x:number ]

.decl E(x:T, y:T)
.output E

E([1], [2]).

When invoking souffle with explain, the following behaviour is observed:

-> % souffle -t explain provenance_test.dl
Explain is invoked.
Enter command > explain E([1], [2])
Relation not found

Souffle version is 2.3 running on vanilla Ubuntu 22.04.

@quentin
Copy link
Member

quentin commented Jan 25, 2023

The interactive provenance only supports numeric literals and symbol:

// regex for matching tuples
// values matches numbers or strings enclosed in quotation marks
std::regex relationRegex(
"([a-zA-Z0-9_.-]*)[[:blank:]]*\\(([[:blank:]]*([0-9]+|\"[^\"]*\")([[:blank:]]*,[[:blank:]]*(["
"0-"
"9]+|\"[^\"]*\"))*)?\\)",
std::regex_constants::extended);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants