-
Notifications
You must be signed in to change notification settings - Fork 871
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
Index cannot be created for properties with non-simplified identifier names #8761
Comments
Any update? Could you replicate the issue? |
Hi @muneebshere I just pushed a fix, it will be released with v 3.0.18 Thanks Luigi |
@luigidellaquila |
Hi @muneebshere The actual fix is only these ten lines of code 8de5efa#diff-66768ef3a31ffa04a5036f7d9855fb6aR87 Thanks Luigi |
Yes, but how does that parse `` when it wasn't doing that before? Does it have to do with |
Hi @muneebshere The problem is not at query parsing, it's in the index factory. There is a legacy API to create indexes by key or by value (on maps) like Thanks Luigi |
OrientDB Version: 3.0.14
Java Version: 11
OS: Windows 10
Expected behavior
It is possible to create properties with non-simplified identifier names, such as names containing spaces. Such names are surrounded by back-ticks, e.g. `First Name`. It should also be possible to create indexes on such properties.
Actual behavior
When attempting to create an index on a property which has spaces in its names, the OrientDB engine throws an exception whether or not the back-ticks are added:
java.lang.IllegalArgumentException: Illegal field name format, should be ' [by key|value]' but was '`First Name`'
Steps to reproduce
CREATE VERTEX Customer
CREATE PROPERTY Customer.`First Name` STRING
CREATE PROPERTY Customer.`Last Name` STRING
CREATE INDEX Name ON Customer( `First Name`, `Last Name` ) UNIQUE
The text was updated successfully, but these errors were encountered: