Skip to content

ArcadeDB Query Issue: SELECT FROM ... WHERE ANY() LIKE (Unknown function name 'ANY') #1338

@GabiPDev

Description

@GabiPDev

ArcadeDB Version: v23.11.1-SNAPSHOT (build 8c2ca2d/1700033725715/main)

OS and JDK Version:

Running on Linux 5.15.133.1-microsoft-standard-WSL2 - OpenJDK 64-Bit Server VM 11.0.21 (Temurin-11.0.21+9)

Expected behavior

The query SELECT FROM Scientist WHERE ANY() LIKE '%Physics%' should return all Scientist vertices where any field contains the specified word.

Actual behavior

Error: Unknown function name 'ANY'
<ArcadeDB_0> Error on command execution (PostCommandHandler)
arcadedb | com.arcadedb.exception.CommandExecutionException: Unknown function name 'ANY'
arcadedb | at com.arcadedb.query.sql.SQLQueryEngine.getFunction(SQLQueryEngine.java:198)
arcadedb | at com.arcadedb.query.sql.parser.FunctionCall.getFunction(FunctionCall.java:418)
arcadedb | at com.arcadedb.query.sql.parser.FunctionCall.getCachedFunction(FunctionCall.java:423)
arcadedb | at com.arcadedb.query.sql.parser.FunctionCall.isIndexedFunctionCall(FunctionCall.java:144)
arcadedb | at com.arcadedb.query.sql.parser.LevelZeroIdentifier.isIndexedFunctionCall(LevelZeroIdentifier.java:78)
arcadedb | at com.arcadedb.query.sql.parser.BaseIdentifier.isIndexedFunctionCall(BaseIdentifier.java:74)
arcadedb | at com.arcadedb.query.sql.parser.BaseExpression.isIndexedFunctionCall(BaseExpression.java:163)
arcadedb | at com.arcadedb.query.sql.parser.Expression.isIndexedFunctionCal(Expression.java:206)
arcadedb | at com.arcadedb.query.sql.parser.BinaryCondition.getIndexedFunctionConditions(BinaryCondition.java:108)
arcadedb | at com.arcadedb.query.sql.parser.AndBlock.getIndexedFunctionConditions(AndBlock.java:103)
arcadedb | at com.arcadedb.query.sql.executor.SelectExecutionPlanner.handleClassAsTargetWithIndexedFunction(SelectExecutionPlanner.java:1304)
arcadedb | at com.arcadedb.query.sql.executor.SelectExecutionPlanner.handleClassAsTarget(SelectExecutionPlanner.java:1255)
arcadedb | at com.arcadedb.query.sql.executor.SelectExecutionPlanner.handleClassAsTarget(SelectExecutionPlanner.java:1249)
arcadedb | at com.arcadedb.query.sql.executor.SelectExecutionPlanner.handleFetchFromTarget(SelectExecutionPlanner.java:782)
arcadedb | at com.arcadedb.query.sql.executor.SelectExecutionPlanner.createExecutionPlan(SelectExecutionPlanner.java:144)
arcadedb | at com.arcadedb.query.sql.parser.SelectStatement.createExecutionPlan(SelectStatement.java:212)
arcadedb | at com.arcadedb.query.sql.parser.SelectStatement.execute(SelectStatement.java:206)
arcadedb | at com.arcadedb.query.sql.parser.Statement.execute(Statement.java:73)
arcadedb | at com.arcadedb.query.sql.SQLQueryEngine.command(SQLQueryEngine.java:101)
arcadedb | at com.arcadedb.database.EmbeddedDatabase.command(EmbeddedDatabase.java:1330)
arcadedb | at com.arcadedb.server.ServerDatabase.command(ServerDatabase.java:467)
arcadedb | at com.arcadedb.server.http.handler.PostCommandHandler.executeCommand(PostCommandHandler.java:129)
arcadedb | at com.arcadedb.server.http.handler.PostCommandHandler.execute(PostCommandHandler.java:96)
arcadedb | at com.arcadedb.server.http.handler.DatabaseAbstractHandler.execute(DatabaseAbstractHandler.java:99)
arcadedb | at com.arcadedb.server.http.handler.AbstractServerHttpHandler.handleRequest(AbstractServerHttpHandler.java:127)
arcadedb | at io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
arcadedb | at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
arcadedb | at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
arcadedb | at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
arcadedb | at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
arcadedb | at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
arcadedb | at java.base/java.lang.Thread.run(Thread.java:829)

Steps to reproduce

Create a new database that contains vertices of type 'Scientist'.
Insert some sample data into the 'Scientist' vertices, ensuring that various fields contain diverse words for testing.
Run the query SELECT FROM Scientist WHERE ANY() LIKE '%Physics%'
Observe the behavior or results, noting if they differ from the expected outcome where all Scientist vertices containing the specified word in any field should be returned.

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions