{"action":"created","issue":{"url":"https://api.github.com/repos/scassandra/scassandra-server/issues/48","labels_url":"https://api.github.com/repos/scassandra/scassandra-server/issues/48/labels{/name}","comments_url":"https://api.github.com/repos/scassandra/scassandra-server/issues/48/comments","events_url":"https://api.github.com/repos/scassandra/scassandra-server/issues/48/events","html_url":"https://github.com/scassandra/scassandra-server/issues/48","id":46716269,"number":48,"title":"Match prepared statement by bound parameters","user":{"login":"adrianmkng","id":5457826,"avatar_url":"https://avatars.githubusercontent.com/u/5457826?v=3","gravatar_id":"","url":"https://api.github.com/users/adrianmkng","html_url":"https://github.com/adrianmkng","followers_url":"https://api.github.com/users/adrianmkng/followers","following_url":"https://api.github.com/users/adrianmkng/following{/other_user}","gists_url":"https://api.github.com/users/adrianmkng/gists{/gist_id}","starred_url":"https://api.github.com/users/adrianmkng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adrianmkng/subscriptions","organizations_url":"https://api.github.com/users/adrianmkng/orgs","repos_url":"https://api.github.com/users/adrianmkng/repos","events_url":"https://api.github.com/users/adrianmkng/events{/privacy}","received_events_url":"https://api.github.com/users/adrianmkng/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/scassandra/scassandra-server/labels/Feature","name":"Feature","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2014-10-24T08:45:04Z","updated_at":"2015-08-25T15:05:07Z","closed_at":null,"body":"Match the prepared statement with the bound parameters rather than just the prepared statement itself."},"comment":{"url":"https://api.github.com/repos/scassandra/scassandra-server/issues/comments/134615060","html_url":"https://github.com/scassandra/scassandra-server/issues/48#issuecomment-134615060","issue_url":"https://api.github.com/repos/scassandra/scassandra-server/issues/48","id":134615060,"user":{"login":"cretz","id":206396,"avatar_url":"https://avatars.githubusercontent.com/u/206396?v=3","gravatar_id":"","url":"https://api.github.com/users/cretz","html_url":"https://github.com/cretz","followers_url":"https://api.github.com/users/cretz/followers","following_url":"https://api.github.com/users/cretz/following{/other_user}","gists_url":"https://api.github.com/users/cretz/gists{/gist_id}","starred_url":"https://api.github.com/users/cretz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cretz/subscriptions","organizations_url":"https://api.github.com/users/cretz/orgs","repos_url":"https://api.github.com/users/cretz/repos","events_url":"https://api.github.com/users/cretz/events{/privacy}","received_events_url":"https://api.github.com/users/cretz/received_events","type":"User","site_admin":false},"created_at":"2015-08-25T15:05:07Z","updated_at":"2015-08-25T15:05:07Z","body":"Ok, will do. In my case I execute statements frequently without preparing them but of course still use parameters to prevent injection. It is definitely a use case I have to solve for myself. My early base integration test:\r\n\r\n```java\r\npackage queries;\r\n\r\nimport java.util.List;\r\n\r\nimport org.junit.Test;\r\nimport org.scassandra.cql.CqlType;\r\nimport org.scassandra.cql.PrimitiveType;\r\nimport org.scassandra.http.client.PrimingRequest;\r\n\r\nimport com.google.common.collect.ImmutableMap;\r\n\r\nimport common.AbstractScassandraTest;\r\nimport common.CassandraExecutor;\r\nimport common.CassandraResult;\r\nimport common.CassandraRow;\r\nimport static org.junit.Assert.*;\r\nimport static org.scassandra.http.client.PrimingRequest.then;\r\nimport static org.scassandra.http.client.types.ColumnMetadata.*;\r\n\r\npublic class PrimingWithVariableMatchers extends AbstractScassandraTest {\r\n\r\n    public PrimingWithVariableMatchers(CassandraExecutor cassandraExecutor) {\r\n        super(cassandraExecutor);\r\n    }\r\n\r\n    @Test\r\n    public void testSimpleStringVariablePatternFailure() {\r\n        PrimingRequest.Then then = then().\r\n                withVariableMatchers(\"C.*\").\r\n                withRows(ImmutableMap.of(\"name\", \"Chad\")).\r\n                build();\r\n        PrimingRequest request = PrimingRequest.queryBuilder().\r\n                withQuery(\"select name from people where name = ?\").\r\n                withThen(then).\r\n                build();\r\n        primingClient.prime(request);\r\n        CassandraResult result = cassandra().executeQuery(\"select name from people where name = ?\", \"Chad\");\r\n        List<CassandraRow> rows = result.rows();\r\n        assertEquals(0, rows.size());\r\n    }\r\n}\r\n```\r\n\r\nThe problem is that, in `QueryHandler` that runs `msgFactory.parseQueryRequest(stream, queryBody, types)`, the `parameters` list in the result is always empty. I will dig into making the parser read parameters also."}}