You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
6.4 KiB
YAML
175 lines
6.4 KiB
YAML
#
|
|
# Created on Thu Aug 27 2020
|
|
#
|
|
# This file is a part of Skytable
|
|
# Skytable (formerly known as TerrabaseDB or Skybase) is a free and open-source
|
|
# NoSQL database written by Sayan Nandan ("the Author") with the
|
|
# vision to provide flexibility in data modelling without compromising
|
|
# on performance, queryability or scalability.
|
|
#
|
|
# Copyright (c) 2020, Sayan Nandan <ohsayan@outlook.com>
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
#
|
|
#
|
|
#
|
|
# This file is used by Skytable's documentation website for automatically
|
|
# generating documentation for the actions. It will also be used by the Skytable
|
|
# server in the future
|
|
|
|
# the docbuilder expects:
|
|
# 'name': str, 'complexity': str, 'accept': [str]
|
|
# 'return': [str], 'syntax': [str], 'desc': str
|
|
|
|
- name: GET
|
|
complexity: O(1)
|
|
accept: [AnyArray]
|
|
syntax: [GET <key>]
|
|
desc: Get the value of a key from the current table
|
|
return: [Rcode 1, String, Binstr]
|
|
- name: MGET
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [MGET <key1> <key2> ...]
|
|
desc: Get the value of 'n' keys from the current table
|
|
return: [Typed Array]
|
|
- name: SET
|
|
complexity: O(1)
|
|
accept: [AnyArray]
|
|
syntax: [SET <key> <value>]
|
|
desc: Set the value of a key in the current table
|
|
return: [Rcode 0, Rcode 2, Rcode 5]
|
|
- name: MSET
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [MSET <key1> <value1> <key2> <value2> ...]
|
|
desc: Set the value of 'n' keys in the current table
|
|
return: [Integer, Rcode 5]
|
|
- name: UPDATE
|
|
complexity: O(1)
|
|
accept: [AnyArray]
|
|
syntax: [UPDATE <key> <value>]
|
|
desc: Update the value of an existing key in the current table
|
|
return: [Rcode 0, Rcode 1, Rcode 5]
|
|
- name: MUPDATE
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [MUPDATE <key1> <value1> <key2> <value2> ...]
|
|
desc: Update the value of 'n' keys in the current table
|
|
return: [Integer, Rcode 5]
|
|
- name: DEL
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [DEL <key1> <key2> ...]
|
|
desc: Delete 'n' keys from the current table
|
|
return: [Integer, Rcode 5]
|
|
- name: EXISTS
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [EXISTS <key1> <key2> ...]
|
|
desc: Check if 'n' keys exist in the current table
|
|
return: [Integer]
|
|
- name: SSET
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [SSET <key1> <value1> <key2> <value2> ...]
|
|
desc: Set all keys to the given values only if all of them don't exist in the current table
|
|
return: [Rcode 0, Rcode 2, Rcode 5]
|
|
- name: SDEL
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [SDEL <key1> <key2> ...]
|
|
desc: |
|
|
Delete all keys if all of the keys exist in the current table. Do note that if a single key doesn't
|
|
exist, then a `Nil` code is returned.
|
|
return: [Rcode 0, Rcode 1, Rcode 5]
|
|
- name: SUPDATE
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [SUPDATE <key1> <value1> <key2> <value2> ...]
|
|
desc: |
|
|
Update all keys if all of the keys exist in the current table. Do note that if a single key doesn't
|
|
exist, then a `Nil` code is returned.
|
|
return: [Rcode 0, Rcode 1, Rcode 5]
|
|
- name: DBSIZE
|
|
complexity: O(1)
|
|
accept: [AnyArray]
|
|
syntax: [DBSIZE, DBSIZE <entity>]
|
|
desc: Check the number of entries stored in the current table or in the provided entity
|
|
return: [Integer]
|
|
- name: FLUSHDB
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [FLUSHDB, FLUSHDB <entity>]
|
|
desc: Removes all entries stored in the current table or in the provided entity
|
|
return: [Rcode 0, Rcode 5]
|
|
- name: USET
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [USET <key1> <value1> <key2> <value2> ...]
|
|
desc: SET all keys if they don't exist, or UPDATE them if they do exist. This operation performs `USET`s in the current table
|
|
return: [Integer, Rcode 5]
|
|
- name: KEYLEN
|
|
complexity: O(1)
|
|
accept: [AnyArray]
|
|
syntax: [KEYLEN <key>]
|
|
desc: Returns the length of the UTF-8 string, if it exists in the current table
|
|
return: [Integer, Rcode 1]
|
|
- name: MKSNAP
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [MKSNAP <SNAPNAME>]
|
|
desc: |
|
|
This action can be used to create a snapshot. Do note that this action **requires
|
|
snapshotting to be enabled on the server side**, before it can create snapshots.
|
|
If you want to create snapshots **without** snapshots being enabled on the server-side,
|
|
pass a second argument <SNAPNAME> to specify a snapshot name and a snapshot will
|
|
be create in a folder called `remote` under your snapshots directory. For more
|
|
information on snapshots, read [this document](/snapshots)
|
|
return: [Rcode 0, err-snapshot-disabled, err-snapshot-busy]
|
|
- name: LSKEYS
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [LSKEYS <limit>, LSKEYS <entity>, LSKEYS <entity> <limit>]
|
|
desc: |
|
|
Returns a flat string array of keys present in the current table or in the provided entity.
|
|
If no <limit> is given, then a maximum of 10 keys are returned. If a limit is specified,
|
|
then a maximum of <limit> keys are returned. The order of keys is meaningless.
|
|
return: [Typed Array]
|
|
- name: POP
|
|
complexity: O(1)
|
|
accept: [AnyArray]
|
|
syntax: [POP <key>]
|
|
desc: Deletes and return the value of the provided key from the current table.
|
|
return: [String, Binstr, Rcode 5]
|
|
- name: MPOP
|
|
complexity: O(n)
|
|
accept: [AnyArray]
|
|
syntax: [POP <key1> <key2> ...]
|
|
desc: |
|
|
Deletes and returns the values of the provided 'n' keys from the current table.
|
|
If the database is poisoned, this will return a server error. An exceptional scenario
|
|
can arise when the database fails in-between removing all the keys. In that case, you
|
|
get the server error response code instead of the keys. If the server recovers inbetween,
|
|
then the appropriate values (if any) will be returned. In all other cases a NIL error is
|
|
returned (code 1)
|
|
return: [Typed Array]
|
|
- name: HEYA
|
|
complexity: O(1)
|
|
accept: [AnyArray]
|
|
syntax: [HEYA, HEYA <message>]
|
|
desc: |
|
|
Either returns a "HEY!" or returns the provided argument as a String
|
|
return: [String]
|