Skip to content

Counter table support lists filter: true, contrary to actual support #2462

@sl-at-ibm

Description

@sl-at-ibm

A table with counter columns, when described by the Data API, returns e.g. this (note the "filter": true bit):

{
    "status": {
        "tables": [
            {
                "name": "c",
                "definition": {
                    "columns": {
                        "a": {
                            "type": "int"
                        },
                        "b": {
                            "type": "counter",
                            "apiSupport": {
                                "createTable": false,
                                "insert": false,
                                "read": true,
                                "filter": true,
                                "cqlDefinition": "counter"
                            }
                        }
                    },
                    "primaryKey": {
                        "partitionBy": [
                            "a"
                        ],
                        "partitionSort": {}
                    }
                }
            }
        ]
    }
}

Yet when running a search that filters on that column, such as

{
    "findOne": {
        "filter": {
            "b": 1
        }
    }
}

this is what one -predictably- gets:

{
    "status": {
        "warnings": [
            {
                "id": "f2b94f83-e974-42ec-8d29-3ea0d528d8a8",
                "family": "REQUEST",
                "scope": "WARNING",
                "errorCode": "MISSING_INDEX",
                "title": "Filter includes columns that are not indexed",
                "message": "The filter includes columns that are not indexed. \n\nThe table default_keyspace.c has the primary key: a(int).\nAnd has indexes on the columns: [None].\nThe request filtered on the un-indexed columns: b.\n\nNote: There may be a small delay in newly created indexes propagating through the system, this warning may be ignored if the column(s) were recently indexed.\n\nThe query was executed without taking advantage of the primary key or indexes on the table, this can have performance implications on large tables.\n\nSee documentation for best practices for filtering."
            }
        ]
    },
    "errors": [
        {
            "id": "69bf86d0-c4ba-4916-9833-0c0ff5f2f9a1",
            "family": "REQUEST",
            "scope": "FILTER",
            "errorCode": "INVALID_FILTER_COLUMN_VALUES",
            "title": "Column value in filter is not valid",
            "message": "Only values that are supported by the column data type can be included when filtering.\n\nThe table default_keyspace.c defines the columns: a(int), b(counter).\nThe command included the column b that has COUNTER type defined.\n\nResend the command using only supported column values."
        }
    ]
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions