Skip to content

gRPC: ResultSet serialization of commands is missing alias #2903

@robfrank

Description

@robfrank

Given a type defined in this way:

        CREATE VERTEX TYPE article ;
        CREATE PROPERTY article.id ILONG;
        CREATE PROPERTY article.author IF NOT EXISTS STRING;

and this query:

UPDATE article  SET title = "My third article updated" RETURN AFTER *, author AS _author WHERE id = 3

Use the RemoteDatabase client to execute the query the alias _author is correctly populated

    RemoteDatabase remoteDatabase = new RemoteDatabase("localhost", 2480,"testdb "root","password);
    ResultSet resultSet = remoteDatabase.command("sql", "UPDATE article  SET title = "My third article updated" RETURN AFTER *, author AS _author WHERE id = 3");
    resultSet.stream().forEach(r-> System.out.println(" _author = " + r.getProperty("_author")));

Using the RemoteGrpcDatabase the _author is not populated

    RemoteGrpcDatabase database = new RemoteGrpcDatabase(server, "localhost", 50051, 2480, "testDatabase, "root", "password");
    ResultSet resultSet = database.command("sql", "UPDATE article  SET title = "My third article updated" RETURN AFTER *, author AS _author WHERE id = 3);
    resultSet.stream().forEach(r-> System.out.println(" _author = " + r.getProperty("_author")));

Cause

In ArcadeDbGrpcService the method public void executeCommand(ExecuteCommandRequest request, StreamObserver<ExecuteCommandResponse> responseObserver) doesn't use the new serialization method introduced to fix #2854

Solutions

Fix the service to use the new serialization method

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions