Meta Commands¶
In tsql, any command that begins with an unquoted backslash (‘\’) is a tsql meta-command that is processed by tsql itself.
In the current implementation, there are meta commands as follows:
default> \?
General
\copyright show Apache License 2.0
\version show Tajo version
\? show help
\? [COMMAND] show help of a given command
\help alias of \?
\q quit tsql
Informational
\l list databases
\c show current database
\c [DBNAME] connect to new database
\d list tables
\d [TBNAME] describe table
\df list functions
\df NAME describe function
Tool
\! execute a linux shell command
\dfs execute a dfs command
\admin execute Tajo admin command
Variables
\set [[NAME] [VALUE] set session variable or list session variables
\unset NAME unset session variable
Documentations
tsql guide http://tajo.apache.org/docs/current/tsql.html
Query language http://tajo.apache.org/docs/current/sql_language.html
Functions http://tajo.apache.org/docs/current/functions.html
Backup & restore http://tajo.apache.org/docs/current/backup_and_restore.html
Configuration http://tajo.apache.org/docs/current/configuration.html
Basic usages¶
\l command shows a list of all databases as follows:
default> \l
default
tpch
work1
default>
\d command shows a list of tables in the current database as follows:
default> \d
customer
lineitem
nation
orders
part
partsupp
region
supplier
\d [table name] command also shows a table description as follows:
default> \d orders
table name: orders
table path: hdfs:/xxx/xxx/tpch/orders
store type: TEXT
number of rows: 0
volume (bytes): 172.0 MB
schema:
o_orderkey INT8
o_custkey INT8
o_orderstatus TEXT
o_totalprice FLOAT8
o_orderdate TEXT
o_orderpriority TEXT
o_clerk TEXT
o_shippriority INT4
o_comment TEXT
The prompt default> indicates the current database. Basically, all SQL statements and meta commands work in the current database. Also, you can change the current database with \c command.
default> \c work1
You are now connected to database "test" as user "hyunsik".
work1>
\df command shows a list of all built-in functions as follows:
default> \df
Name | Result type | Argument types | Description | Type
-----------------+-----------------+-----------------------+-----------------------------------------------+-----------
abs | INT4 | INT4 | Absolute value | GENERAL
abs | INT8 | INT8 | Absolute value | GENERAL
abs | FLOAT4 | FLOAT4 | Absolute value | GENERAL
abs | FLOAT8 | FLOAT8 | Absolute value | GENERAL
acos | FLOAT8 | FLOAT4 | Inverse cosine. | GENERAL
acos | FLOAT8 | FLOAT8 | Inverse cosine. | GENERAL
utc_usec_to | INT8 | TEXT,INT8 | Extract field from time | GENERAL
utc_usec_to | INT8 | TEXT,INT8,INT4 | Extract field from time | GENERAL
(181) rows
For Reference, many details have been omitted in order to present a clear picture of the process.
\df [function name] command also shows a function description as follows:
default> \df round;
Name | Result type | Argument types | Description | Type
-----------------+-----------------+-----------------------+-----------------------------------------------+-----------
round | INT8 | FLOAT4 | Round to nearest integer. | GENERAL
round | INT8 | FLOAT8 | Round to nearest integer. | GENERAL
round | INT8 | INT4 | Round to nearest integer. | GENERAL
round | INT8 | INT8 | Round to nearest integer. | GENERAL
round | FLOAT8 | FLOAT8,INT4 | Round to s decimalN places. | GENERAL
round | FLOAT8 | INT8,INT4 | Round to s decimalN places. | GENERAL
(6) rows
Function: INT8 round(float4)
Description: Round to nearest integer.
Example:
> SELECT round(42.4)
42
Function: FLOAT8 round(float8,int4)
Description: Round to s decimalN places.
Example:
> SELECT round(42.4382, 2)
42.44