Search code examples
aerospikeaql

Unsupported command format with token - '""' Aerospike


I am trying to insert a record in aerospike as following :

insert into NameSpace.SetName(PK,id,value,formId) values("1","23","hello","");

And I am getting following error:

Unsupported command format with token -  '""' 
Make sure string values are enclosed in quotes.
Type " aql --help " from console or simply "help" from within the aql- 
prompt. 

Any help is appreciated.


Solution

  • Seems to work for me:

    $ aql
    Seed:         127.0.0.1
    User:         None
    Aerospike Query Client
    Version 3.15.3.14
    C Client Version 4.3.12
    Copyright 2012-2017 Aerospike. All rights reserved.
    aql> insert into test.stackoverflow (PK,id,value,formId) values("1","23","hello","");
    OK, 1 record affected.
    
    aql> select * from test.stackoverflow where PK="1"
    +------+---------+--------+
    | id   | value   | formId |
    +------+---------+--------+
    | "23" | "hello" | ""     |
    +------+---------+--------+
    1 row in set (0.011 secs)
    
    OK
    

    The server version is

    $ asd --version
    Aerospike Community Edition build 4.3.0.2
    

    Alternatively, use one of the language clients. You shouldn't be trying to build an application over AQL, it's just a tool for admin (with light-weight data browsing).

    Install

    $ sudo yum install python-devel
    $ sudo yum install openssl-devel
    $ pip install aerospike
    $ python
    

    Run

    >>> import aerospike
    >>> config = {'hosts': [('127.0.0.1', 3000)]}
    >>> client = aerospike.client(config).connect()
    >>> key = ('test', 'stackoverflow', '1')
    >>> client.put(key, {'id': '23', 'value': 'hello', 'formId': ''})
    0L
    >>> import pprint
    >>> pprint.pprint(client.get(key))
    (('test',
      'stackoverflow',
      None,
      bytearray(b'CHu\xf09%a\xf0\x8d\x86\x14\x0f\xea\x93\xeb\xf6\x7f\x16\x87\xd0')),
     {'gen': 1, 'ttl': 431818},
     {'formId': '', 'id': '23', 'value': 'hello'})