neo4j/neo4j-browser

:use `movies`; throws database not found error

ikwattro opened this issue ยท 6 comments

Neo4j Version: 5.15.0
Operating System: Any
API: Any

The following statement throws database not found error although the database name is escaped.

:use `movies`;
A database with the "movies`;" name or alias could not be found.

Adding a space before the semicolon works.

Steps to reproduce

As above

Expected behavior

Since the database is escaped, Cypher should understand that the semicolon is not part of the database name.

Actual behavior

database not found error

I assume you are running the above in Browser?

@arnefischereit and I just checked, in cypher-shell it does work correctly

neo4j@neo4j> :use `senzing`;
neo4j@senzing>

@ikwattro I did some testing and seems the problem is with the semicolon, a hint is in the error message that the database ""movies`;" wasn't found.

:use `movies` // <-- works fine
:use `movies`; // <-- breaks 

Should be straightforward to fix, I'll move the issue to Browser. Thanks for reporting it ๐Ÿ‘

@OskarDamkjaer Yes I got the issue was the semicolon, however it works from cypher-shell so I believe it should work from the browser surface as well. Secondly we generate multi-statements scripts to paste in the browser and it seems the :use clause is the only one causing issues with the semicolon.

@ikwattro I agree it's a bug we should fix. For your generated scripts I think I adding an extra space can would be a workaround you could use in the meantime:

:use `movies` ;
create ()

The above worked when I tried it just now.