#88 Improvements for named queries

Merged
carlos.garcia merged 11 commits from stefan.schmidt/pyparsing_improved into SPIN/master 6 years ago

This introduced several improvements to query parsing, as discussed in the meeting.

Most importantly, a new operator called "in" was added. It behaves very much like its SQL-sibling, and is required when using a query returning a list is used inside a parameterized query, such as this:

macAddress(ipAddress in ipaddress(pktssent>1))

If the user wishes to use a normal comparison operator, he needs to make sure that the right side of the comparison is a single value, like this:

macAddress(ipAddress = first(ipaddress(pktssent>1)))

It is now also possible to directly enter lists for usage inside parameterized queries:

macAddress(ipAddress in [192.168.189.1,192.168.189.143]);

The parser now also catches more cases of invalid use of attributes, such as "avg(ipAddress)". To simplify the split into avg-capable and avg-incapable attributes, I implemented three more queries: all(winSize), all(ipClass) and least_used(ipClass).

The remaining commits mainly consist of improvements for error reporting when a query fails, as well as documentation updates and bugfixes.

This introduced several improvements to query parsing, as discussed in the meeting. Most importantly, a new operator called "in" was added. It behaves very much like its SQL-sibling, and is required when using a query returning a list is used inside a parameterized query, such as this: macAddress(ipAddress in ipaddress(pktssent>1)) If the user wishes to use a normal comparison operator, he needs to make sure that the right side of the comparison is a single value, like this: macAddress(ipAddress = first(ipaddress(pktssent>1))) It is now also possible to directly enter lists for usage inside parameterized queries: macAddress(ipAddress in [192.168.189.1,192.168.189.143]); The parser now also catches more cases of invalid use of attributes, such as "avg(ipAddress)". To simplify the split into avg-capable and avg-incapable attributes, I implemented three more queries: all(winSize), all(ipClass) and least_used(ipClass). The remaining commits mainly consist of improvements for error reporting when a query fails, as well as documentation updates and bugfixes.
This pull request has been merged successfully!
Sign in to join this conversation.
No Milestone
No assignee
1 Participants
Loading...
Cancel
Save
There is no content yet.