mirror of https://gitee.com/bigwinds/arangodb
Merge branch 'devel' of github.com:arangodb/arangodb into solaris
This commit is contained in:
commit
da7955e417
|
@ -514,3 +514,4 @@ add_subdirectory(lib)
|
|||
add_subdirectory(arangosh)
|
||||
add_subdirectory(arangod)
|
||||
add_subdirectory(UnitTests)
|
||||
add_subdirectory(Documentation)
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
# -*- mode: CMAKE; -*-
|
||||
|
||||
set(MAN_NAMES
|
||||
man1/arangob.1
|
||||
man1/arangodump.1
|
||||
man1/arangoimp.1
|
||||
man1/arangorestore.1
|
||||
man1/arangosh.1
|
||||
man8/rcarangod.8
|
||||
man8/arangod.8
|
||||
man8/arango-dfdb.8
|
||||
man8/foxx-manager.8
|
||||
)
|
||||
|
||||
set(MAN_FILES)
|
||||
|
||||
foreach (m IN LISTS MAN_NAMES)
|
||||
set(msrc ${CMAKE_SOURCE_DIR}/Documentation/${m})
|
||||
set(mdst ${CMAKE_SOURCE_DIR}/Documentation/man/${m})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${mdst}
|
||||
COMMAND
|
||||
${CMAKE_SOURCE_DIR}/utils/manPages.sh ${msrc} ${mdst} ${ARANGODB_VERSION}
|
||||
DEPENDS
|
||||
${msrc}
|
||||
WORKING_DIRECTORY
|
||||
${CMAKE_BINARY_DIR}
|
||||
COMMENT
|
||||
"Building manpage ${mdst}"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
list(APPEND MAN_FILES ${mdst})
|
||||
endforeach ()
|
||||
|
||||
add_custom_target(man ALL DEPENDS ${MAN_FILES})
|
|
@ -3,14 +3,18 @@
|
|||
/SYNOPSIS/s/^\(.*\)$/\.SH \1/
|
||||
/DESCRIPTION/s/^\(.*\)$/\.SH \1/
|
||||
/OPTIONS/s/^\(.*\)$/\.SH \1/
|
||||
/\<EXAMPLES\>/s/^\(.*\)$/\.SH \1/
|
||||
/EXAMPLES/s/^\(.*\)$/\.SH \1/
|
||||
/FILES/s/^\(.*\)$/\.SH \1/
|
||||
/AUTHOR/s/^\(.*\)$/\.SH \1/
|
||||
/AUTHOR/s/^\(.*\)$/\.SH AUTHOR/
|
||||
/SEE ALSO/s/^\(.*\)$/\.SH \1/
|
||||
s/\<OPTION\>/\.IP/g
|
||||
s/\<ENDOPTION\>//g
|
||||
s/\<EXAMPLE\>/\.EX\nshell>/g
|
||||
s/\<ENDEXAMPLE\>/\n\.EE\n/g
|
||||
s/\<EXAMPLE\> \(.*\)/\.nf\
|
||||
shell> \1\
|
||||
\.fi\
|
||||
/g
|
||||
s/\<ENDEXAMPLE\>/\
|
||||
/g
|
||||
/SEE ALSO/,/AUTHOR/{
|
||||
/^[a-z]/s/^\(.*\)$/\.BR \1/
|
||||
s/(\([1-9]\))/ "(\1), "/g
|
||||
|
@ -19,5 +23,5 @@ s/\<ENDEXAMPLE\>/\n\.EE\n/g
|
|||
i\
|
||||
|
||||
a\
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
Copyright ArangoDB GmbH, Cologne, Germany
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH arangob 1 "Do 23. Jan 09:57:20 CET 2014" "" "ArangoDB"
|
||||
.TH arangob 1 "23 Feb 2016" "3.0.0-devel" "ArangoDB"
|
||||
.SH NAME
|
||||
arangob - the ArangoDB benchmark and test tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -7,68 +7,48 @@ arangob [options]
|
|||
The arangob binary can be used to issue test requests to the
|
||||
ArangoDB database. It can be used for benchmarks or server function
|
||||
testing. It supports parallel querying and batch requests.
|
||||
arangob currently only supports a few common test cases out of the box.
|
||||
More test cases might be added later.
|
||||
.SH OPTIONS
|
||||
For a complete list of options, please refer to the ArangoDB
|
||||
online manual, available at http://www.arangodb.org/
|
||||
|
||||
The most important startup options are:
|
||||
|
||||
.IP "--configuration <string>"
|
||||
read configuration from file <string>
|
||||
.IP "--batch-size <int32>"
|
||||
number of operations to send per batch (use 0 to disable batching)
|
||||
.IP "--collection <string>"
|
||||
name of collection to use in test (only relevant for tests that invoke collections)
|
||||
.IP "--concurrency <int32>"
|
||||
number of parallel threads that will issue requests (default is 1 thread)
|
||||
.IP "--requests <int32>"
|
||||
total number of requests to perform
|
||||
.IP "--test-case <string>"
|
||||
name of test case to perform (possible values: "version" and "document")
|
||||
.IP "--complexity <int32>"
|
||||
complexity value for test case (meaning depends on test case)
|
||||
.IP "--server.endpoint <string>"
|
||||
server endpoint to connect to, consisting of protocol, ip address and port
|
||||
.IP "--server.database <string>"
|
||||
database name to use when connection (default: "_system")
|
||||
.IP "--server.username <string>"
|
||||
username to use when connecting (default "root")
|
||||
.IP "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt
|
||||
.IP "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server
|
||||
.SH EXAMPLES
|
||||
.EX
|
||||
shell> arangob
|
||||
starts arangob with the default user and server endpoint
|
||||
.EE
|
||||
|
||||
|
||||
.EX
|
||||
shell> arangob --test-case version --requests 1000 --concurrency 1
|
||||
runs the 'version' test case with 1000 requests, without concurrency
|
||||
.EE
|
||||
|
||||
|
||||
.EX
|
||||
shell> arangob --test-case document --requests 1000 --concurrency 2
|
||||
runs the 'document' test case with 2000 requests, with concurrency 2
|
||||
.EE
|
||||
|
||||
|
||||
.EX
|
||||
shell> arangob --test-case document --requests 1000 --concurrency 2 --async true
|
||||
runs the 'document' test case with 2000 requests, with concurrency 2, with async requests
|
||||
.EE
|
||||
|
||||
|
||||
.EX
|
||||
shell> arangob --test-case document --requests 1000 --concurrency 2 --batch-size 10
|
||||
runs the 'document' test case with 2000 requests, with concurrency 2, using batch requests
|
||||
.EE
|
||||
|
||||
|
||||
OPTION "--configuration <string>"
|
||||
read configuration from file <string> ENDOPTION
|
||||
OPTION "--batch-size <int32>"
|
||||
number of operations to send per batch (use 0 to disable batching) ENDOPTION
|
||||
OPTION "--collection <string>"
|
||||
name of collection to use in test (only relevant for tests that invoke collections) ENDOPTION
|
||||
OPTION "--concurrency <int32>"
|
||||
number of parallel threads that will issue requests (default is 1 thread) ENDOPTION
|
||||
OPTION "--requests <int32>"
|
||||
total number of requests to perform ENDOPTION
|
||||
OPTION "--test-case <string>"
|
||||
name of test case to perform (possible values: version, document, collection,
|
||||
import-document, hash, skiplist, edge, shapes, shapes-append, random-shapes, crud,
|
||||
crud-append, crud-write-read, aqltrx, counttrx, multitrx, multi-collection, aqlinsert, aqlv8) ENDOPTION
|
||||
OPTION "--complexity <int32>"
|
||||
complexity value for test case (meaning depends on test case) ENDOPTION
|
||||
OPTION "--server.endpoint <string>"
|
||||
server endpoint to connect to, consisting of protocol, ip address and port ENDOPTION
|
||||
OPTION "--server.database <string>"
|
||||
database name to use when connecting (default: "_system") ENDOPTION
|
||||
OPTION "--server.username <string>"
|
||||
username to use when connecting (default "root") ENDOPTION
|
||||
OPTION "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt ENDOPTION
|
||||
OPTION "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server ENDOPTION
|
||||
EXAMPLES
|
||||
EXAMPLE arangob
|
||||
starts arangob with the default user and server endpoint ENDEXAMPLE
|
||||
EXAMPLE arangob --test-case version --requests 1000 --concurrency 1
|
||||
runs the 'version' test case with 1000 requests, without concurrency ENDEXAMPLE
|
||||
EXAMPLE arangob --test-case document --requests 1000 --concurrency 2
|
||||
runs the 'document' test case with 2000 requests, with concurrency 2 ENDEXAMPLE
|
||||
EXAMPLE arangob --test-case document --requests 1000 --concurrency 2 --async true
|
||||
runs the 'document' test case with 2000 requests, with concurrency 2, with async requests ENDEXAMPLE
|
||||
EXAMPLE arangob --test-case document --requests 1000 --concurrency 2 --batch-size 10
|
||||
runs the 'document' test case with 2000 requests, with concurrency 2, using batch requests ENDEXAMPLE
|
||||
.SH AUTHOR
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
Copyright ArangoDB GmbH, Cologne, Germany
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH arangodump 1 "Do 23. Jan 09:57:20 CET 2014" "" "ArangoDB"
|
||||
.TH arangodump 1 "23 Feb 2016" "3.0.0-devel" "ArangoDB"
|
||||
.SH NAME
|
||||
arangodump - a tool to create logical dumps of an ArangoDB database
|
||||
.SH SYNOPSIS
|
||||
|
@ -27,34 +27,33 @@ online manual, available at http://www.arangodb.org/
|
|||
|
||||
The most important startup options are:
|
||||
|
||||
.IP "--configuration <string>"
|
||||
read configuration from file <string>
|
||||
.IP "--collection <string>"
|
||||
OPTION "--configuration <string>"
|
||||
read configuration from file <string> ENDOPTION
|
||||
OPTION "--collection <string>"
|
||||
name of collection to dump (can be specified multiple times). This can be
|
||||
used to restrict the dump to certain collections only. If not specified,
|
||||
all collections will be dumped
|
||||
.IP "--dump-data <bool>"
|
||||
when set to "true" will dump the data (documents) of the collection
|
||||
.IP "--include-system-collections <bool>"
|
||||
when set to "true" will also dump system collections, otherwise they will be excluded
|
||||
.IP "--output-directory <string>"
|
||||
all collections will be dumped ENDOPTION
|
||||
OPTION "--dump-data <bool>"
|
||||
when set to "true" will dump the data (documents) of the collection ENDOPTION
|
||||
OPTION "--include-system-collections <bool>"
|
||||
when set to "true" will also dump system collections, otherwise they will be excluded ENDOPTION
|
||||
OPTION "--output-directory <string>"
|
||||
directory in which all dump files will be created. If the directory already exists,
|
||||
arangodump will refuse to work unless started with option "--overwrite true"
|
||||
.IP "--overwrite <bool>"
|
||||
when set to "true", will overwrite any files in an existing output directory
|
||||
.IP "--progress <bool>"
|
||||
when set to "true", will display progress information
|
||||
.IP "--server.endpoint <string>"
|
||||
server endpoint to connect to, consisting of protocol, ip address and port
|
||||
.IP "--server.database <string>"
|
||||
database name to use when connection (default: "_system")
|
||||
.IP "--server.username <string>"
|
||||
username to use when connecting (default "root")
|
||||
.IP "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt
|
||||
.IP "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server
|
||||
.SH EXAMPLES
|
||||
|
||||
arangodump will refuse to work unless started with option "--overwrite true" ENDOPTION
|
||||
OPTION "--overwrite <bool>"
|
||||
when set to "true", will overwrite any files in an existing output directory ENDOPTION
|
||||
OPTION "--progress <bool>"
|
||||
when set to "true", will display progress information ENDOPTION
|
||||
OPTION "--server.endpoint <string>"
|
||||
server endpoint to connect to, consisting of protocol, ip address and port ENDOPTION
|
||||
OPTION "--server.database <string>"
|
||||
database name to use when connection (default: "_system") ENDOPTION
|
||||
OPTION "--server.username <string>"
|
||||
username to use when connecting (default "root") ENDOPTION
|
||||
OPTION "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt ENDOPTION
|
||||
OPTION "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server ENDOPTION
|
||||
EXAMPLES
|
||||
.SH AUTHOR
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
Copyright ArangoDB GmbH, Cologne, Germany
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH arangoimp 1 "Do 23. Jan 09:57:20 CET 2014" "" "ArangoDB"
|
||||
.TH arangoimp 1 "23 Feb 2016" "3.0.0-devel" "ArangoDB"
|
||||
.SH NAME
|
||||
arangoimp - a bulk importer for the ArangoDB database
|
||||
.SH SYNOPSIS
|
||||
|
@ -15,50 +15,40 @@ online manual, available at http://www.arangodb.org/
|
|||
|
||||
The most important startup options are:
|
||||
|
||||
.IP "--batch-size <uint64>"
|
||||
maximum size of data batches that are sent to the server
|
||||
.IP "--configuration <string>"
|
||||
read configuration from file <string>
|
||||
.IP "--collection <string>"
|
||||
name of collection to import into
|
||||
.IP "--create-collection <bool>"
|
||||
set to "true" if collection should be created by the import
|
||||
.IP "--file <string>"
|
||||
input file with the data to import
|
||||
.IP "--overwrite <bool>"
|
||||
set to "true" to remove all data from the collection prior to the import
|
||||
.IP "--quote <string>"
|
||||
optional quote character to be used
|
||||
.IP "--separator <string>"
|
||||
separator character or string to be used. the default value is ","
|
||||
.IP "--type <string>"
|
||||
set to "json", "tsv" or "csv", depending on the input file format
|
||||
.IP "--server.endpoint <string>"
|
||||
server endpoint to connect to, consisting of protocol, ip address and port
|
||||
.IP "--server.database <string>"
|
||||
database name to use when connection (default: "_system")
|
||||
.IP "--server.username <string>"
|
||||
username to use when connecting (default "root")
|
||||
.IP "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt
|
||||
.IP "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server
|
||||
.SH EXAMPLES
|
||||
.EX
|
||||
shell> arangoimp --file heroes.json --type json --collection superheroes --create-collection true
|
||||
imports JSON data from file heroes.json into collection superhoeres. creates the collection if it does not exist
|
||||
.EE
|
||||
|
||||
.EX
|
||||
shell> arangoimp --file export.csv --type csv --collection mydata
|
||||
imports CSV data from export.csv into existing collection mydata
|
||||
.EE
|
||||
|
||||
.EX
|
||||
shell> arangoimp --file values.json --collection mydata --server.endpoint tcp://127.0.0.1:8529 --server.database mydb
|
||||
imports JSON data from file values.json into collection mydata, using a different server endpoint and database
|
||||
.EE
|
||||
|
||||
|
||||
OPTION "--batch-size <uint64>"
|
||||
maximum size of data batches that are sent to the server ENDOPTION
|
||||
OPTION "--configuration <string>"
|
||||
read configuration from file <string> ENDOPTION
|
||||
OPTION "--collection <string>"
|
||||
name of collection to import into ENDOPTION
|
||||
OPTION "--create-collection <bool>"
|
||||
set to "true" if collection should be created by the import ENDOPTION
|
||||
OPTION "--file <string>"
|
||||
input file with the data to import ENDOPTION
|
||||
OPTION "--overwrite <bool>"
|
||||
set to "true" to remove all data from the collection prior to the import ENDOPTION
|
||||
OPTION "--quote <string>"
|
||||
optional quote character to be used ENDOPTION
|
||||
OPTION "--separator <string>"
|
||||
separator character or string to be used. the default value is "," ENDOPTION
|
||||
OPTION "--type <string>"
|
||||
set to "json", "tsv" or "csv", depending on the input file format ENDOPTION
|
||||
OPTION "--server.endpoint <string>"
|
||||
server endpoint to connect to, consisting of protocol, ip address and port ENDOPTION
|
||||
OPTION "--server.database <string>"
|
||||
database name to use when connection (default: "_system") ENDOPTION
|
||||
OPTION "--server.username <string>"
|
||||
username to use when connecting (default "root") ENDOPTION
|
||||
OPTION "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt ENDOPTION
|
||||
OPTION "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server ENDOPTION
|
||||
EXAMPLES
|
||||
EXAMPLE arangoimp --file heroes.json --type json --collection superheroes --create-collection true
|
||||
imports JSON data from file heroes.json into collection superhoeres. creates the collection if it does not exist ENDEXAMPLE
|
||||
EXAMPLE arangoimp --file export.csv --type csv --collection mydata
|
||||
imports CSV data from export.csv into existing collection mydata ENDEXAMPLE
|
||||
EXAMPLE arangoimp --file values.json --collection mydata --server.endpoint tcp://127.0.0.1:8529 --server.database mydb
|
||||
imports JSON data from file values.json into collection mydata, using a different server endpoint and database ENDEXAMPLE
|
||||
.SH AUTHOR
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
Copyright ArangoDB GmbH, Cologne, Germany
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
.TH arangorestore 1 "Do 23. Jan 09:57:20 CET 2014" "" "ArangoDB"
|
||||
.TH arangorestore 1 "23 Feb 2016" "3.0.0-devel" "ArangoDB"
|
||||
arangorestore SECTION "DATE" "" "ArangoDB"
|
||||
.SH NAME
|
||||
arangorestore - a data restore tool for the ArangoDB database
|
||||
.SH SYNOPSIS
|
||||
|
@ -16,36 +17,35 @@ online manual, available at http://www.arangodb.org/
|
|||
|
||||
The most important startup options are:
|
||||
|
||||
.IP "--configuration <string>"
|
||||
read configuration from file <string>
|
||||
.IP "--collection <string>"
|
||||
OPTION "--configuration <string>"
|
||||
read configuration from file <string> ENDOPTION
|
||||
OPTION "--collection <string>"
|
||||
name of collection to restore (can be specified multiple times). This can be
|
||||
used to restrict the restore operation to certain collections only. If not
|
||||
specified, all collections from the "--input-directory" will be restored
|
||||
.IP "--create-collection <bool>"
|
||||
set to "true" if collections should be created
|
||||
.IP "--import-data <bool>"
|
||||
when set to "true" will restore the data (documents) of the collection
|
||||
.IP "--include-system-collections <bool>"
|
||||
specified, all collections from the "--input-directory" will be restored ENDOPTION
|
||||
OPTION "--create-collection <bool>"
|
||||
set to "true" if collections should be created ENDOPTION
|
||||
OPTION "--import-data <bool>"
|
||||
when set to "true" will restore the data (documents) of the collection ENDOPTION
|
||||
OPTION "--include-system-collections <bool>"
|
||||
when set to "true" will also restore system collections, otherwise they will be
|
||||
excluded
|
||||
.IP "--input-directory <string>"
|
||||
input directory in which to look for dump files.
|
||||
.IP "--overwrite <bool>"
|
||||
when set to "true", will drop an existing collection before re-creating it
|
||||
.IP "--progress <bool>"
|
||||
when set to "true", will display progress information
|
||||
.IP "--server.endpoint <string>"
|
||||
server endpoint to connect to, consisting of protocol, ip address and port
|
||||
.IP "--server.database <string>"
|
||||
database name to use when connection (default: "_system")
|
||||
.IP "--server.username <string>"
|
||||
username to use when connecting (default "root")
|
||||
.IP "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt
|
||||
.IP "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server
|
||||
.SH EXAMPLES
|
||||
|
||||
excluded ENDOPTION
|
||||
OPTION "--input-directory <string>"
|
||||
input directory in which to look for dump files. ENDOPTION
|
||||
OPTION "--overwrite <bool>"
|
||||
when set to "true", will drop an existing collection before re-creating it ENDOPTION
|
||||
OPTION "--progress <bool>"
|
||||
when set to "true", will display progress information ENDOPTION
|
||||
OPTION "--server.endpoint <string>"
|
||||
server endpoint to connect to, consisting of protocol, ip address and port ENDOPTION
|
||||
OPTION "--server.database <string>"
|
||||
database name to use when connection (default: "_system") ENDOPTION
|
||||
OPTION "--server.username <string>"
|
||||
username to use when connecting (default "root") ENDOPTION
|
||||
OPTION "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt ENDOPTION
|
||||
OPTION "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server ENDOPTION
|
||||
EXAMPLES
|
||||
.SH AUTHOR
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
Copyright ArangoDB GmbH, Cologne, Germany
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH arangosh 1 "Do 23. Jan 09:57:20 CET 2014" "" "ArangoDB"
|
||||
.TH arangosh 1 "23 Feb 2016" "3.0.0-devel" "ArangoDB"
|
||||
.SH NAME
|
||||
arangosh - the ArangoDB shell
|
||||
.SH SYNOPSIS
|
||||
|
@ -15,50 +15,65 @@ The most important startup options are:
|
|||
|
||||
.IP "--audit-log <string>"
|
||||
log input and output to audit log file <string>
|
||||
|
||||
.IP "--configuration <string>"
|
||||
read configuration from file <string>
|
||||
|
||||
.IP "--log.level <string>"
|
||||
set the log level (possible values: "fatal", "error", "warning", "info", "debug", "trace")
|
||||
|
||||
.IP "--server.endpoint <string>"
|
||||
server endpoint to connect to, consisting of protocol, ip address and port
|
||||
|
||||
.IP "--server.database <string>"
|
||||
database name to use when connection (default: "_system")
|
||||
|
||||
.IP "--server.username <string>"
|
||||
username to use when connecting (default "root")
|
||||
|
||||
.IP "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt
|
||||
|
||||
.IP "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server
|
||||
|
||||
|
||||
.SH EXAMPLES
|
||||
.EX
|
||||
.nf
|
||||
shell> arangosh
|
||||
.fi
|
||||
|
||||
starts arangosh with the default user and server endpoint
|
||||
.EE
|
||||
|
||||
|
||||
.EX
|
||||
.nf
|
||||
shell> arangosh --server.username fuchsia
|
||||
.fi
|
||||
|
||||
starts arangosh with a specific user. Password prompt will follow if --server.disable-authentication is true.
|
||||
.EE
|
||||
|
||||
|
||||
.EX
|
||||
.nf
|
||||
shell> arangosh --server.username fuchsia --server.password "abcd@34"
|
||||
.fi
|
||||
|
||||
starts arangosh with a specific user and password given on command line
|
||||
.EE
|
||||
|
||||
|
||||
.EX
|
||||
.nf
|
||||
shell> arangosh --server.endpoint tcp://192.168.173.13:8529
|
||||
.fi
|
||||
|
||||
starts arangosh connecting to a specific server
|
||||
.EE
|
||||
|
||||
|
||||
.EX
|
||||
.nf
|
||||
shell> arangosh --server.endpoint ssl://192.168.173.13:8530
|
||||
.fi
|
||||
|
||||
starts arangosh connecting to a specific server using an SSL connection
|
||||
.EE
|
||||
|
||||
|
||||
|
||||
.SH AUTHOR
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
Copyright ArangoDB GmbH, Cologne, Germany
|
||||
|
|
|
@ -1,24 +1,20 @@
|
|||
.TH arango-dfdb 8 "Do 23. Jan 09:57:20 CET 2014" "" "ArangoDB"
|
||||
.TH COMMAND SECTION "DATE" "" "ArangoDB"
|
||||
.SH NAME
|
||||
arango-dfdb - a datafile debugger for ArangoDB
|
||||
COMMAND - a datafile debugger for ArangoDB
|
||||
.SH SYNOPSIS
|
||||
arango-dfdb options
|
||||
COMMAND options
|
||||
.SH DESCRIPTION
|
||||
The arango-dfdb binary can be used to verify the datafiles of an
|
||||
The COMMAND binary can be used to verify the datafiles of an
|
||||
ArangoDB database server. The script must be run with exclusive
|
||||
access to the server's data directory, meaning the ArangoDB
|
||||
server must not be running and accessing the datafiles in the
|
||||
specified data directory.
|
||||
More specific instructions are displayed when the program is invoked.
|
||||
.SH OPTIONS
|
||||
.IP "--database.directory <string>"
|
||||
path to the database directory
|
||||
.SH EXAMPLES
|
||||
.EX
|
||||
shell> arango-dfdb --database.directory /data/arangodb
|
||||
starts the debugger with database directory /data/arangodb
|
||||
.EE
|
||||
|
||||
|
||||
OPTION "--database.directory <string>"
|
||||
path to the database directory ENDOPTION
|
||||
EXAMPLES
|
||||
EXAMPLE COMMAND --database.directory /data/arangodb
|
||||
starts the debugger with database directory /data/arangodb ENDEXAMPLE
|
||||
.SH AUTHOR
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
.TH arangod 8 "Do 23. Jan 09:57:20 CET 2014" "" "ArangoDB"
|
||||
.TH COMMAND SECTION "DATE" "" "ArangoDB"
|
||||
.SH NAME
|
||||
arangod - the ArangoDB database server
|
||||
COMMAND - the ArangoDB database server
|
||||
.SH SYNOPSIS
|
||||
arangod [options] database-directory
|
||||
COMMAND [options] database-directory
|
||||
.SH DESCRIPTION
|
||||
The arangod binary can be used to start the ArangoDB database
|
||||
The COMMAND binary can be used to start the ArangoDB database
|
||||
server. By default, the server will run in a mode that allows
|
||||
clients to connect to it via the network. The server also has
|
||||
an emergency console mode that can be used for any sort of
|
||||
|
@ -13,59 +13,40 @@ server does not allow any clients to connect.
|
|||
The server can be stopped gracefully at any time by pressing
|
||||
CTRL-C or by sending the SIGINT signal to the process.
|
||||
.SH OPTIONS
|
||||
The arangod binary has many options that can be used to control
|
||||
The COMMAND binary has many options that can be used to control
|
||||
its behavior.
|
||||
For a complete list of options, please refer to the ArangoDB
|
||||
online manual, available at http://www.arangodb.org/
|
||||
|
||||
The most important startup options are:
|
||||
|
||||
.IP "--configuration <string>"
|
||||
read configuration from file <string>
|
||||
.IP "--console"
|
||||
do not start as server, start an emergency console instead
|
||||
.IP "--log.file <string>"
|
||||
log to file <string>
|
||||
.IP "--log.level <string>"
|
||||
set the log level (possible values: "fatal", "error", "warning", "info", "debug", "trace")
|
||||
.IP "--server.endpoint <string>"
|
||||
listen endpoint for client requests, consisting of protocol, ip address and port
|
||||
.IP "--server.disable-authentication <boolean>"
|
||||
disable authentication for all clients
|
||||
.IP "--database.directory <string>"
|
||||
path to the database directory
|
||||
.SH EXAMPLES
|
||||
.EX
|
||||
shell> arangod /data/arangodb
|
||||
starts the server with database directory /data/arangodb
|
||||
.EE
|
||||
|
||||
.EX
|
||||
shell> arangod --database.directory /data/arangodb
|
||||
same, but uses --database.directory option instead
|
||||
.EE
|
||||
|
||||
.EX
|
||||
shell> arangod --log.level debug /data/arangodb
|
||||
starts server with log level "debug"
|
||||
.EE
|
||||
|
||||
.EX
|
||||
shell> arangod --server.endpoint tcp://127.0.0.1:8529 /data/arangodb
|
||||
starts server listening on port 8529 of IP 127.0.0.1
|
||||
.EE
|
||||
|
||||
.EX
|
||||
shell> arangod --server.endpoint tcp://192.168.173.13:8529
|
||||
OPTION "--configuration <string>"
|
||||
read configuration from file <string> ENDOPTION
|
||||
OPTION "--console"
|
||||
do not start as server, start an emergency console instead ENDOPTION
|
||||
OPTION "--log.file <string>"
|
||||
log to file <string> ENDOPTION
|
||||
OPTION "--log.level <string>"
|
||||
set the log level (possible values: "fatal", "error", "warning", "info", "debug", "trace") ENDOPTION
|
||||
OPTION "--server.endpoint <string>"
|
||||
listen endpoint for client requests, consisting of protocol, ip address and port ENDOPTION
|
||||
OPTION "--server.disable-authentication <boolean>"
|
||||
disable authentication for all clients ENDOPTION
|
||||
OPTION "--database.directory <string>"
|
||||
path to the database directory ENDOPTION
|
||||
EXAMPLES
|
||||
EXAMPLE COMMAND /data/arangodb
|
||||
starts the server with database directory /data/arangodb ENDEXAMPLE
|
||||
EXAMPLE COMMAND --database.directory /data/arangodb
|
||||
same, but uses --database.directory option instead ENDEXAMPLE
|
||||
EXAMPLE COMMAND --log.level debug /data/arangodb
|
||||
starts server with log level "debug" ENDEXAMPLE
|
||||
EXAMPLE COMMAND --server.endpoint tcp://127.0.0.1:8529 /data/arangodb
|
||||
starts server listening on port 8529 of IP 127.0.0.1 ENDEXAMPLE
|
||||
EXAMPLE COMMAND --server.endpoint tcp://192.168.173.13:8529
|
||||
--server.endpoint ssl://192.168.173.13:8530 /data/arangodb
|
||||
starts server with two endpoints: port 8529 for unencrypted requests and 8530 for ssl-encrypted requests
|
||||
.EE
|
||||
|
||||
.EX
|
||||
shell> arangod --console /data/arangodb
|
||||
starts the emergency console
|
||||
.EE
|
||||
|
||||
|
||||
starts server with two endpoints: port 8529 for unencrypted requests and 8530 for ssl-encrypted requests ENDEXAMPLE
|
||||
EXAMPLE COMMAND --console /data/arangodb
|
||||
starts the emergency console ENDEXAMPLE
|
||||
.SH AUTHOR
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
|
|
|
@ -1,47 +1,34 @@
|
|||
.TH foxx-manager 8 "Do 23. Jan 09:57:20 CET 2014" "" "ArangoDB"
|
||||
.TH COMMAND SECTION "DATE" "" "ArangoDB"
|
||||
.SH NAME
|
||||
foxx-manager - a Foxx application manager for ArangoDB
|
||||
COMMAND - a Foxx application manager for ArangoDB
|
||||
.SH SYNOPSIS
|
||||
foxx-manager options
|
||||
COMMAND options
|
||||
.SH DESCRIPTION
|
||||
The foxx-manager binary can be used to manage Foxx applications in the
|
||||
The COMMAND binary can be used to manage Foxx applications in the
|
||||
ArangoDB database server. Foxx applications can be installed and
|
||||
uninstalled.
|
||||
More specific instructions are displayed when the program is invoked.
|
||||
.SH OPTIONS
|
||||
.IP "--server.database <string>"
|
||||
database name to use when connection (default: "_system")
|
||||
.IP "--server.username <string>"
|
||||
username to use when connecting (default "root")
|
||||
.IP "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt
|
||||
.IP "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server
|
||||
.SH EXAMPLES
|
||||
.EX
|
||||
shell> foxx-manager search "foobar"
|
||||
searches the central repository for an application "foobar"
|
||||
.EE
|
||||
|
||||
.EX
|
||||
shell> foxx-manager update
|
||||
OPTION "--server.database <string>"
|
||||
database name to use when connecting (default: "_system") ENDOPTION
|
||||
OPTION "--server.username <string>"
|
||||
username to use when connecting (default "root") ENDOPTION
|
||||
OPTION "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt ENDOPTION
|
||||
OPTION "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server ENDOPTION
|
||||
EXAMPLES
|
||||
EXAMPLE COMMAND search "foobar"
|
||||
searches the central repository for an application "foobar"ENDEXAMPLE
|
||||
EXAMPLE COMMAND update
|
||||
updates the local repository with applications from the central repositoryENDEXAMPLE
|
||||
.EX
|
||||
shell> foxx-manager list
|
||||
EXAMPLE COMMAND list
|
||||
list all installed Foxx applicationsENDEXAMPLE
|
||||
.EX
|
||||
shell> foxx-manager install "hello-foxx" "/hello"
|
||||
installs the "hello-foxx" application under the mount point "/hello"
|
||||
.EE
|
||||
|
||||
.EX
|
||||
shell> foxx-manager uninstall "/hello"
|
||||
uninstalls the application that is mounted under "/hello"
|
||||
.EE
|
||||
|
||||
.EX
|
||||
shell> foxx-manager help
|
||||
EXAMPLE COMMAND install "hello-foxx" "/hello"
|
||||
installs the "hello-foxx" application under the mount point "/hello"ENDEXAMPLE
|
||||
EXAMPLE COMMAND uninstall "/hello"
|
||||
uninstalls the application that is mounted under "/hello"ENDEXAMPLE
|
||||
EXAMPLE COMMAND help
|
||||
shows the help pageENDEXAMPLE
|
||||
|
||||
.SH AUTHOR
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
|
|
|
@ -1,17 +1,16 @@
|
|||
.TH rcarangod 8 "Do 23. Jan 09:57:20 CET 2014" "" "ArangoDB"
|
||||
.TH COMMAND SECTION "DATE" "" "ArangoDB"
|
||||
.SH NAME
|
||||
rcarangod - control script for the ArangoDB database server
|
||||
COMMAND - control script for the ArangoDB database server
|
||||
.SH SYNOPSIS
|
||||
rcarangod start|stop
|
||||
COMMAND start|stop
|
||||
.SH DESCRIPTION
|
||||
The rcarangod script controls the operation of the ArangoDB
|
||||
database server daemon running on the system. The rcarangod script
|
||||
The COMMAND script controls the operation of the ArangoDB
|
||||
database server daemon running on the system. The COMMAND script
|
||||
is normally run at system boot time with the "start" argument, and
|
||||
at system shutdown time with the "stop" argument.
|
||||
It can also be invoked manually at any time to start or stop the
|
||||
ArangoDB database server.
|
||||
.SH SEE ALSO
|
||||
.BR arangod "(8), "
|
||||
|
||||
.SH AUTHOR
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
Copyright triAGENS GmbH, Cologne, Germany
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
COMMAND SECTION "DATE" "" "ArangoDB"
|
||||
<COMMAND> <SECTION> "<DATE>" "<VERSION>" "ArangoDB"
|
||||
NAME
|
||||
COMMAND - the ArangoDB benchmark and test tool
|
||||
<COMMAND> - the ArangoDB benchmark and test tool
|
||||
SYNOPSIS
|
||||
COMMAND [options]
|
||||
<COMMAND> [options]
|
||||
DESCRIPTION
|
||||
The arangob binary can be used to issue test requests to the
|
||||
ArangoDB database. It can be used for benchmarks or server function
|
||||
|
@ -40,14 +40,14 @@ password to use when connecting. Don't specify this option to get a password pro
|
|||
OPTION "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server ENDOPTION
|
||||
EXAMPLES
|
||||
EXAMPLE COMMAND
|
||||
starts COMMAND with the default user and server endpoint ENDEXAMPLE
|
||||
EXAMPLE COMMAND --test-case version --requests 1000 --concurrency 1
|
||||
EXAMPLE <COMMAND>
|
||||
starts <COMMAND> with the default user and server endpoint ENDEXAMPLE
|
||||
EXAMPLE <COMMAND> --test-case version --requests 1000 --concurrency 1
|
||||
runs the 'version' test case with 1000 requests, without concurrency ENDEXAMPLE
|
||||
EXAMPLE COMMAND --test-case document --requests 1000 --concurrency 2
|
||||
EXAMPLE <COMMAND> --test-case document --requests 1000 --concurrency 2
|
||||
runs the 'document' test case with 2000 requests, with concurrency 2 ENDEXAMPLE
|
||||
EXAMPLE COMMAND --test-case document --requests 1000 --concurrency 2 --async true
|
||||
EXAMPLE <COMMAND> --test-case document --requests 1000 --concurrency 2 --async true
|
||||
runs the 'document' test case with 2000 requests, with concurrency 2, with async requests ENDEXAMPLE
|
||||
EXAMPLE COMMAND --test-case document --requests 1000 --concurrency 2 --batch-size 10
|
||||
EXAMPLE <COMMAND> --test-case document --requests 1000 --concurrency 2 --batch-size 10
|
||||
runs the 'document' test case with 2000 requests, with concurrency 2, using batch requests ENDEXAMPLE
|
||||
AUTHOR
|
|
@ -1,10 +1,10 @@
|
|||
COMMAND SECTION "DATE" "" "ArangoDB"
|
||||
<COMMAND> <SECTION> "<DATE>" "<VERSION>" "ArangoDB"
|
||||
NAME
|
||||
COMMAND - a tool to create logical dumps of an ArangoDB database
|
||||
<COMMAND> - a tool to create logical dumps of an ArangoDB database
|
||||
SYNOPSIS
|
||||
COMMAND [options]
|
||||
<COMMAND> [options]
|
||||
DESCRIPTION
|
||||
The COMMAND binary can be used to create logical dumps of collection
|
||||
The <COMMAND> binary can be used to create logical dumps of collection
|
||||
meta information and collection data (documents) of an ArangoDB database.
|
||||
By default, all non-system collections of the specified ArangoDB database
|
||||
will be dumped with structural information and data.
|
||||
|
@ -13,11 +13,11 @@ For each collection, a file named "<collection>.structure.json" will be
|
|||
created with information about the collection. When data is also dumped,
|
||||
an additional file "<collection>.data.json" will also be created.
|
||||
All dump files will be placed in a directory, which will be created by
|
||||
COMMAND when run. If the directory already exists, COMMAND will refuse to
|
||||
<COMMAND> when run. If the directory already exists, <COMMAND> will refuse to
|
||||
work unless started with the option "--overwrite true".
|
||||
|
||||
COMMAND will work on the specified database only. If no database name
|
||||
is specified, COMMAND will work on the default database ("_system").
|
||||
<COMMAND> will work on the specified database only. If no database name
|
||||
is specified, <COMMAND> will work on the default database ("_system").
|
||||
|
||||
The dumped files can be re-stored in an ArangoDB database using the
|
||||
arangorestore tool.
|
||||
|
@ -39,7 +39,7 @@ OPTION "--include-system-collections <bool>"
|
|||
when set to "true" will also dump system collections, otherwise they will be excluded ENDOPTION
|
||||
OPTION "--output-directory <string>"
|
||||
directory in which all dump files will be created. If the directory already exists,
|
||||
COMMAND will refuse to work unless started with option "--overwrite true" ENDOPTION
|
||||
<COMMAND> will refuse to work unless started with option "--overwrite true" ENDOPTION
|
||||
OPTION "--overwrite <bool>"
|
||||
when set to "true", will overwrite any files in an existing output directory ENDOPTION
|
||||
OPTION "--progress <bool>"
|
|
@ -1,10 +1,10 @@
|
|||
COMMAND SECTION "DATE" "" "ArangoDB"
|
||||
<COMMAND> <SECTION> "<DATE>" "<VERSION>" "ArangoDB"
|
||||
NAME
|
||||
COMMAND - a bulk importer for the ArangoDB database
|
||||
<COMMAND> - a bulk importer for the ArangoDB database
|
||||
SYNOPSIS
|
||||
COMMAND [options]
|
||||
<COMMAND> [options]
|
||||
DESCRIPTION
|
||||
The COMMAND binary can be used to bulk import data from a file into the
|
||||
The <COMMAND> binary can be used to bulk import data from a file into the
|
||||
ArangoDB database. Input data be present in the input file in either CSV
|
||||
format with column headlines, or in JSON format. If JSON format is used,
|
||||
each line in the input file must contain exactly one JSON document with
|
||||
|
@ -44,10 +44,10 @@ password to use when connecting. Don't specify this option to get a password pro
|
|||
OPTION "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server ENDOPTION
|
||||
EXAMPLES
|
||||
EXAMPLE COMMAND --file heroes.json --type json --collection superheroes --create-collection true
|
||||
EXAMPLE <COMMAND> --file heroes.json --type json --collection superheroes --create-collection true
|
||||
imports JSON data from file heroes.json into collection superhoeres. creates the collection if it does not exist ENDEXAMPLE
|
||||
EXAMPLE COMMAND --file export.csv --type csv --collection mydata
|
||||
EXAMPLE <COMMAND> --file export.csv --type csv --collection mydata
|
||||
imports CSV data from export.csv into existing collection mydata ENDEXAMPLE
|
||||
EXAMPLE COMMAND --file values.json --collection mydata --server.endpoint tcp://127.0.0.1:8529 --server.database mydb
|
||||
EXAMPLE <COMMAND> --file values.json --collection mydata --server.endpoint tcp://127.0.0.1:8529 --server.database mydb
|
||||
imports JSON data from file values.json into collection mydata, using a different server endpoint and database ENDEXAMPLE
|
||||
AUTHOR
|
|
@ -1,10 +1,11 @@
|
|||
COMMAND SECTION "DATE" "" "ArangoDB"
|
||||
<COMMAND> <SECTION> "<DATE>" "<VERSION>" "ArangoDB"
|
||||
<COMMAND> SECTION "DATE" "" "ArangoDB"
|
||||
NAME
|
||||
COMMAND - a data restore tool for the ArangoDB database
|
||||
<COMMAND> - a data restore tool for the ArangoDB database
|
||||
SYNOPSIS
|
||||
COMMAND [options]
|
||||
<COMMAND> [options]
|
||||
DESCRIPTION
|
||||
The COMMAND binary can be used to restore data from logical dumps created
|
||||
The <COMMAND> binary can be used to restore data from logical dumps created
|
||||
with the arangodump tool.
|
||||
ArangoDB database. Input data be present in the input file in either CSV
|
||||
format with column headlines, or in JSON format. If JSON format is used,
|
|
@ -1,43 +0,0 @@
|
|||
COMMAND SECTION "DATE" "" "ArangoDB"
|
||||
NAME
|
||||
COMMAND - the ArangoDB shell
|
||||
SYNOPSIS
|
||||
COMMAND [options]
|
||||
DESCRIPTION
|
||||
The arangosh binary can be used to establish an interactive
|
||||
client connection to the ArangoDB database. When the connection
|
||||
is established, it can be used to execute actions on the server.
|
||||
OPTIONS
|
||||
For a complete list of options, please refer to the ArangoDB
|
||||
online manual, available at http://www.arangodb.org/
|
||||
|
||||
The most important startup options are:
|
||||
|
||||
OPTION "--audit-log <string>"
|
||||
log input and output to audit log file <string> ENDOPTION
|
||||
OPTION "--configuration <string>"
|
||||
read configuration from file <string> ENDOPTION
|
||||
OPTION "--log.level <string>"
|
||||
set the log level (possible values: "fatal", "error", "warning", "info", "debug", "trace") ENDOPTION
|
||||
OPTION "--server.endpoint <string>"
|
||||
server endpoint to connect to, consisting of protocol, ip address and port ENDOPTION
|
||||
OPTION "--server.database <string>"
|
||||
database name to use when connection (default: "_system") ENDOPTION
|
||||
OPTION "--server.username <string>"
|
||||
username to use when connecting (default "root") ENDOPTION
|
||||
OPTION "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt ENDOPTION
|
||||
OPTION "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server ENDOPTION
|
||||
EXAMPLES
|
||||
EXAMPLE COMMAND
|
||||
starts COMMAND with the default user and server endpoint ENDEXAMPLE
|
||||
EXAMPLE COMMAND --server.username fuchsia
|
||||
starts COMMAND with a specific user. Password prompt will follow if --server.disable-authentication is true. ENDEXAMPLE
|
||||
EXAMPLE COMMAND --server.username fuchsia --server.password "abcd@34"
|
||||
starts COMMAND with a specific user and password given on command line ENDEXAMPLE
|
||||
EXAMPLE COMMAND --server.endpoint tcp://192.168.173.13:8529
|
||||
starts COMMAND connecting to a specific server ENDEXAMPLE
|
||||
EXAMPLE COMMAND --server.endpoint ssl://192.168.173.13:8530
|
||||
starts COMMAND connecting to a specific server using an SSL connection ENDEXAMPLE
|
||||
AUTHOR
|
|
@ -0,0 +1,58 @@
|
|||
<COMMAND> <SECTION> "<DATE>" "<VERSION>" "ArangoDB"
|
||||
NAME
|
||||
<COMMAND> - the ArangoDB shell
|
||||
SYNOPSIS
|
||||
<COMMAND> [options]
|
||||
DESCRIPTION
|
||||
The arangosh binary can be used to establish an interactive
|
||||
client connection to the ArangoDB database. When the connection
|
||||
is established, it can be used to execute actions on the server.
|
||||
OPTIONS
|
||||
For a complete list of options, please refer to the ArangoDB
|
||||
online manual, available at http://www.arangodb.org/
|
||||
|
||||
The most important startup options are:
|
||||
|
||||
<OPTION> "--audit-log <string>"
|
||||
log input and output to audit log file <string>
|
||||
<ENDOPTION>
|
||||
<OPTION> "--configuration <string>"
|
||||
read configuration from file <string>
|
||||
<ENDOPTION>
|
||||
<OPTION> "--log.level <string>"
|
||||
set the log level (possible values: "fatal", "error", "warning", "info", "debug", "trace")
|
||||
<ENDOPTION>
|
||||
<OPTION> "--server.endpoint <string>"
|
||||
server endpoint to connect to, consisting of protocol, ip address and port
|
||||
<ENDOPTION>
|
||||
<OPTION> "--server.database <string>"
|
||||
database name to use when connection (default: "_system")
|
||||
<ENDOPTION>
|
||||
<OPTION> "--server.username <string>"
|
||||
username to use when connecting (default "root")
|
||||
<ENDOPTION>
|
||||
<OPTION> "--server.password <string>"
|
||||
password to use when connecting. Don't specify this option to get a password prompt
|
||||
<ENDOPTION>
|
||||
<OPTION> "--server.disable-authentication <boolean>"
|
||||
disable the password prompt and authentication when connecting to the server
|
||||
<ENDOPTION>
|
||||
|
||||
EXAMPLES
|
||||
<EXAMPLE> <COMMAND>
|
||||
starts <COMMAND> with the default user and server endpoint
|
||||
<ENDEXAMPLE>
|
||||
<EXAMPLE> <COMMAND> --server.username fuchsia
|
||||
starts <COMMAND> with a specific user. Password prompt will follow if --server.disable-authentication is true.
|
||||
<ENDEXAMPLE>
|
||||
<EXAMPLE> <COMMAND> --server.username fuchsia --server.password "abcd@34"
|
||||
starts <COMMAND> with a specific user and password given on command line
|
||||
<ENDEXAMPLE>
|
||||
<EXAMPLE> <COMMAND> --server.endpoint tcp://192.168.173.13:8529
|
||||
starts <COMMAND> connecting to a specific server
|
||||
<ENDEXAMPLE>
|
||||
<EXAMPLE> <COMMAND> --server.endpoint ssl://192.168.173.13:8530
|
||||
starts <COMMAND> connecting to a specific server using an SSL connection
|
||||
<ENDEXAMPLE>
|
||||
|
||||
AUTHOR
|
|
@ -46,9 +46,7 @@ struct PermutationState {
|
|||
: value(value), current(0), n(n) {}
|
||||
|
||||
arangodb::aql::AstNode const* getValue() const {
|
||||
if (value->type == arangodb::aql::NODE_TYPE_OPERATOR_BINARY_AND ||
|
||||
value->type == arangodb::aql::NODE_TYPE_OPERATOR_BINARY_OR ||
|
||||
value->type == arangodb::aql::NODE_TYPE_OPERATOR_NARY_AND ||
|
||||
if (value->type == arangodb::aql::NODE_TYPE_OPERATOR_BINARY_OR ||
|
||||
value->type == arangodb::aql::NODE_TYPE_OPERATOR_NARY_OR) {
|
||||
TRI_ASSERT(current < n);
|
||||
return value->getMember(current);
|
||||
|
|
|
@ -567,7 +567,7 @@ bool AgencyComm::tryInitializeStructure() {
|
|||
VPackSlice trueSlice = trueBuilder.slice();
|
||||
|
||||
AgencyCommResult result;
|
||||
result = casValue("Init", trueSlice, false, 10.0, 0.0);
|
||||
result = casValue("Init", trueSlice, false, 120.0, 0.0);
|
||||
if (!result.successful()) {
|
||||
// mop: we couldn"t aquire a lock. so somebody else is already initializing
|
||||
return false;
|
||||
|
@ -685,8 +685,13 @@ bool AgencyComm::initFromVPackSlice(std::string key, VPackSlice s) {
|
|||
if (!key.empty()) {
|
||||
result = createDirectory(key);
|
||||
if (!result.successful()) {
|
||||
ret = false;
|
||||
return ret;
|
||||
// mop: forbidden will be thrown if directory already exists
|
||||
// need ability to recover in a case where the agency was half
|
||||
// initialized
|
||||
if (result.httpCode() != arangodb::rest::HttpResponse::FORBIDDEN) {
|
||||
ret = false;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -68,7 +68,8 @@ HeartbeatThread::HeartbeatThread(
|
|||
_numFails(0),
|
||||
_numDispatchedJobs(0),
|
||||
_lastDispatchedJobResult(false),
|
||||
_versionThatTriggeredLastJob(0) {
|
||||
_versionThatTriggeredLastJob(0),
|
||||
_ready(false) {
|
||||
TRI_ASSERT(_dispatcher != nullptr);
|
||||
}
|
||||
|
||||
|
@ -76,7 +77,7 @@ HeartbeatThread::HeartbeatThread(
|
|||
/// @brief destroys a heartbeat thread
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
HeartbeatThread::~HeartbeatThread() {shutdown();}
|
||||
HeartbeatThread::~HeartbeatThread() { shutdown(); }
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief heartbeat main loop
|
||||
|
@ -121,7 +122,7 @@ void HeartbeatThread::runDBServer() {
|
|||
|
||||
uint64_t agencyIndex = 0;
|
||||
|
||||
while (!_stop) {
|
||||
while (!isStopping()) {
|
||||
LOG(TRACE) << "sending heartbeat to agency";
|
||||
|
||||
double const start = TRI_microtime();
|
||||
|
@ -130,7 +131,7 @@ void HeartbeatThread::runDBServer() {
|
|||
// we don't care if this fails
|
||||
sendState();
|
||||
|
||||
if (_stop) {
|
||||
if (isStopping()) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -144,7 +145,7 @@ void HeartbeatThread::runDBServer() {
|
|||
}
|
||||
}
|
||||
|
||||
if (_stop) {
|
||||
if (isStopping()) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -216,16 +217,12 @@ void HeartbeatThread::runDBServer() {
|
|||
handlePlanChangeDBServer(lastPlanVersionNoticed);
|
||||
}
|
||||
|
||||
if (_stop) {
|
||||
if (isStopping()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// another thread is waiting for this value to appear in order to shut down
|
||||
// properly
|
||||
_stop = 2;
|
||||
|
||||
// Wait until any pending job is finished
|
||||
int count = 0;
|
||||
while (count++ < 10000) {
|
||||
|
@ -237,6 +234,7 @@ void HeartbeatThread::runDBServer() {
|
|||
}
|
||||
usleep(1000);
|
||||
}
|
||||
|
||||
LOG(TRACE) << "stopped heartbeat thread (DBServer version)";
|
||||
}
|
||||
|
||||
|
@ -269,7 +267,7 @@ void HeartbeatThread::runCoordinator() {
|
|||
|
||||
setReady();
|
||||
|
||||
while (!_stop) {
|
||||
while (!isStopping()) {
|
||||
LOG(TRACE) << "sending heartbeat to agency";
|
||||
|
||||
double const start = TRI_microtime();
|
||||
|
@ -278,7 +276,7 @@ void HeartbeatThread::runCoordinator() {
|
|||
// we don't care if this fails
|
||||
sendState();
|
||||
|
||||
if (_stop) {
|
||||
if (isStopping()) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -292,7 +290,7 @@ void HeartbeatThread::runCoordinator() {
|
|||
}
|
||||
}
|
||||
|
||||
if (_stop) {
|
||||
if (isStopping()) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -381,10 +379,6 @@ void HeartbeatThread::runCoordinator() {
|
|||
}
|
||||
}
|
||||
|
||||
// another thread is waiting for this value to appear in order to shut down
|
||||
// properly
|
||||
_stop = 2;
|
||||
|
||||
LOG(TRACE) << "stopped heartbeat thread";
|
||||
}
|
||||
|
||||
|
@ -402,25 +396,6 @@ bool HeartbeatThread::init() {
|
|||
return true;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief whether or not the thread is ready
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
bool HeartbeatThread::isReady() {
|
||||
MUTEX_LOCKER(mutexLocker, _statusLock);
|
||||
|
||||
return _ready;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief set the thread status to ready
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void HeartbeatThread::setReady() {
|
||||
MUTEX_LOCKER(mutexLocker, _statusLock);
|
||||
_ready = true;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief decrement the counter for dispatched jobs
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -63,13 +63,13 @@ class HeartbeatThread : public Thread {
|
|||
/// @brief whether or not the thread is ready
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
bool isReady();
|
||||
bool isReady() const { return _ready.load(); }
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief set the thread status to ready
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void setReady();
|
||||
void setReady() { _ready.store(true); }
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief decrement the counter for a dispatched job, the argument is true
|
||||
|
@ -237,13 +237,7 @@ class HeartbeatThread : public Thread {
|
|||
/// @brief whether or not the thread is ready
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
bool _ready;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief stop flag
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
volatile sig_atomic_t _stop;
|
||||
std::atomic<bool> _ready;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief whether or not the heartbeat thread has run at least once
|
||||
|
|
|
@ -499,7 +499,7 @@ TRI_voc_rid_t RestVocbaseBaseHandler::extractRevision(char const* header,
|
|||
--e;
|
||||
}
|
||||
|
||||
TRI_voc_rid_t rid;
|
||||
TRI_voc_rid_t rid = 0;
|
||||
|
||||
try {
|
||||
rid = StringUtils::uint64_check(s, e - s);
|
||||
|
@ -516,7 +516,7 @@ TRI_voc_rid_t RestVocbaseBaseHandler::extractRevision(char const* header,
|
|||
etag = _request->value(parameter, found);
|
||||
|
||||
if (found) {
|
||||
TRI_voc_rid_t rid;
|
||||
TRI_voc_rid_t rid = 0;
|
||||
|
||||
try {
|
||||
rid = StringUtils::uint64_check(etag);
|
||||
|
|
|
@ -256,8 +256,7 @@ static TRI_col_file_structure_t ScanCollectionDirectory(char const* path) {
|
|||
FileUtils::remove(filename);
|
||||
|
||||
LOG_TOPIC(WARN, Logger::DATAFILES)
|
||||
<< "removing left-over compaction file '" << filename.c_str()
|
||||
<< "'";
|
||||
<< "removing left-over compaction file '" << filename << "'";
|
||||
|
||||
continue;
|
||||
} else {
|
||||
|
@ -271,9 +270,7 @@ static TRI_col_file_structure_t ScanCollectionDirectory(char const* path) {
|
|||
|
||||
if (res != TRI_ERROR_NO_ERROR) {
|
||||
LOG_TOPIC(ERR, Logger::DATAFILES)
|
||||
<< "unable to rename compaction file '" << filename.c_str()
|
||||
<< "'";
|
||||
|
||||
<< "unable to rename compaction file '" << filename << "'";
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
@ -285,15 +282,15 @@ static TRI_col_file_structure_t ScanCollectionDirectory(char const* path) {
|
|||
// temporary file, we can delete it!
|
||||
else if (filetype == "temp") {
|
||||
LOG_TOPIC(WARN, Logger::DATAFILES)
|
||||
<< "found temporary file '" << filename.c_str()
|
||||
<< "found temporary file '" << filename
|
||||
<< "', which is probably a left-over. deleting it";
|
||||
TRI_UnlinkFile(filename.c_str());
|
||||
FileUtils::remove(filename);
|
||||
}
|
||||
|
||||
// ups, what kind of file is that
|
||||
else {
|
||||
LOG_TOPIC(ERR, Logger::DATAFILES) << "unknown datafile type '"
|
||||
<< file.c_str() << "'";
|
||||
<< file << "'";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -365,12 +362,13 @@ static bool CheckCollection(TRI_collection_t* collection, bool ignoreErrors) {
|
|||
// file is dead
|
||||
// .............................................................................
|
||||
|
||||
if (!isDead.empty()) {
|
||||
if (isDead == "dead") {
|
||||
if (filetype == "temp") {
|
||||
FileUtils::remove(filename);
|
||||
continue;
|
||||
}
|
||||
if (!isDead.empty() || filetype == "temp") {
|
||||
if (isDead == "dead" || filetype == "temp") {
|
||||
LOG_TOPIC(TRACE, Logger::DATAFILES)
|
||||
<< "found temporary file '" << filename
|
||||
<< "', which is probably a left-over. deleting it";
|
||||
FileUtils::remove(filename);
|
||||
continue;
|
||||
} else {
|
||||
LOG_TOPIC(DEBUG, Logger::DATAFILES)
|
||||
<< "ignoring file '" << file
|
||||
|
@ -746,7 +744,7 @@ TRI_collection_t* TRI_CreateCollection(
|
|||
TRI_set_errno(TRI_ERROR_ARANGO_COLLECTION_DIRECTORY_ALREADY_EXISTS);
|
||||
|
||||
LOG(ERR) << "cannot create collection '" << parameters.namec_str()
|
||||
<< "' in directory '" << dirname.c_str()
|
||||
<< "' in directory '" << dirname
|
||||
<< "': directory already exists";
|
||||
|
||||
return nullptr;
|
||||
|
@ -765,7 +763,7 @@ TRI_collection_t* TRI_CreateCollection(
|
|||
if (res != TRI_ERROR_NO_ERROR) {
|
||||
LOG(ERR) << "cannot create collection '" << parameters.namec_str()
|
||||
<< "' in directory '" << path << "': " << TRI_errno_string(res)
|
||||
<< " - " << systemError << " - " << errorMessage.c_str();
|
||||
<< " - " << systemError << " - " << errorMessage;
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -782,7 +780,7 @@ TRI_collection_t* TRI_CreateCollection(
|
|||
if (res != TRI_ERROR_NO_ERROR) {
|
||||
LOG(ERR) << "cannot create collection '" << parameters.namec_str()
|
||||
<< "' in directory '" << path << "': " << TRI_errno_string(res)
|
||||
<< " - " << systemError << " - " << errorMessage.c_str();
|
||||
<< " - " << systemError << " - " << errorMessage;
|
||||
TRI_RemoveDirectory(tmpname.c_str());
|
||||
|
||||
return nullptr;
|
||||
|
@ -795,7 +793,7 @@ TRI_collection_t* TRI_CreateCollection(
|
|||
if (res != TRI_ERROR_NO_ERROR) {
|
||||
LOG(ERR) << "cannot create collection '" << parameters.namec_str()
|
||||
<< "' in directory '" << path << "': " << TRI_errno_string(res)
|
||||
<< " - " << systemError << " - " << errorMessage.c_str();
|
||||
<< " - " << systemError << " - " << errorMessage;
|
||||
TRI_RemoveDirectory(tmpname.c_str());
|
||||
|
||||
return nullptr;
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
#include "Wal/LogfileManager.h"
|
||||
#include "Wal/Marker.h"
|
||||
|
||||
using namespace arangodb;
|
||||
using namespace arangodb::basics;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -410,6 +411,7 @@ static int OpenDatabases(TRI_server_t* server, bool isUpgrade) {
|
|||
}
|
||||
|
||||
if (!StringUtils::isPrefix(name, "database-") || StringUtils::isSuffix(name, ".tmp")) {
|
||||
LOG_TOPIC(TRACE, Logger::DATAFILES) << "ignoring file '" << name << "'";
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
#include "Basics/tri-strings.h"
|
||||
#include "Basics/threads.h"
|
||||
#include "Basics/Exceptions.h"
|
||||
#include "Basics/FileUtils.h"
|
||||
#include "Utils/CollectionKeysRepository.h"
|
||||
#include "Utils/CursorRepository.h"
|
||||
#include "Utils/transactions.h"
|
||||
|
@ -307,7 +308,7 @@ static bool UnloadCollectionCallback(TRI_collection_t* col, void* data) {
|
|||
|
||||
if (res != TRI_ERROR_NO_ERROR) {
|
||||
std::string const colName(collection->name());
|
||||
LOG(ERR) << "failed to close collection '" << colName.c_str()
|
||||
LOG(ERR) << "failed to close collection '" << colName
|
||||
<< "': " << TRI_last_error();
|
||||
|
||||
collection->_status = TRI_VOC_COL_STATUS_CORRUPTED;
|
||||
|
@ -359,7 +360,7 @@ static bool DropCollectionCallback(TRI_collection_t* col, void* data) {
|
|||
TRI_EVENTUAL_WRITE_LOCK_STATUS_VOCBASE_COL(collection);
|
||||
|
||||
if (collection->_status != TRI_VOC_COL_STATUS_DELETED) {
|
||||
LOG(ERR) << "someone resurrected the collection '" << name.c_str() << "'";
|
||||
LOG(ERR) << "someone resurrected the collection '" << name << "'";
|
||||
TRI_WRITE_UNLOCK_STATUS_VOCBASE_COL(collection);
|
||||
|
||||
regfree(&re);
|
||||
|
@ -377,7 +378,7 @@ static bool DropCollectionCallback(TRI_collection_t* col, void* data) {
|
|||
res = TRI_CloseDocumentCollection(document, false);
|
||||
|
||||
if (res != TRI_ERROR_NO_ERROR) {
|
||||
LOG(ERR) << "failed to close collection '" << name.c_str()
|
||||
LOG(ERR) << "failed to close collection '" << name
|
||||
<< "': " << TRI_last_error();
|
||||
|
||||
TRI_WRITE_UNLOCK_STATUS_VOCBASE_COL(collection);
|
||||
|
@ -461,24 +462,24 @@ static bool DropCollectionCallback(TRI_collection_t* col, void* data) {
|
|||
<< collection->pathc_str() << "' to '" << newFilename << "'";
|
||||
|
||||
if (res != TRI_ERROR_NO_ERROR) {
|
||||
LOG(ERR) << "cannot rename dropped collection '" << name.c_str()
|
||||
LOG(ERR) << "cannot rename dropped collection '" << name
|
||||
<< "' from '" << collection->pathc_str() << "' to '"
|
||||
<< newFilename << "': " << TRI_errno_string(res);
|
||||
} else {
|
||||
LOG(DEBUG) << "wiping dropped collection '" << name.c_str()
|
||||
LOG(DEBUG) << "wiping dropped collection '" << name
|
||||
<< "' from disk";
|
||||
|
||||
res = TRI_RemoveDirectory(newFilename);
|
||||
|
||||
if (res != TRI_ERROR_NO_ERROR) {
|
||||
LOG(ERR) << "cannot wipe dropped collection '" << name.c_str()
|
||||
LOG(ERR) << "cannot wipe dropped collection '" << name
|
||||
<< "' from disk: " << TRI_errno_string(res);
|
||||
}
|
||||
}
|
||||
|
||||
TRI_FreeString(TRI_CORE_MEM_ZONE, newFilename);
|
||||
} else {
|
||||
LOG(ERR) << "cannot rename dropped collection '" << name.c_str()
|
||||
LOG(ERR) << "cannot rename dropped collection '" << name
|
||||
<< "': unknown path '" << collection->pathc_str() << "'";
|
||||
}
|
||||
}
|
||||
|
@ -785,20 +786,13 @@ static int ScanPath(TRI_vocbase_t* vocbase, char const* path, bool isUpgrade,
|
|||
for (auto const& name : files) {
|
||||
TRI_ASSERT(!name.empty());
|
||||
|
||||
if (!StringUtils::isSuffix(name, "collection-")) {
|
||||
if (!StringUtils::isPrefix(name, "collection-") ||
|
||||
StringUtils::isSuffix(name, ".tmp")) {
|
||||
// no match, ignore this file
|
||||
continue;
|
||||
}
|
||||
|
||||
char* filePtr = TRI_Concatenate2File(path, name.c_str());
|
||||
|
||||
if (filePtr == nullptr) {
|
||||
LOG(FATAL) << "out of memory";
|
||||
FATAL_ERROR_EXIT();
|
||||
}
|
||||
|
||||
std::string file = filePtr;
|
||||
TRI_FreeString(TRI_CORE_MEM_ZONE, filePtr);
|
||||
std::string file = FileUtils::buildFilename(path, name);
|
||||
|
||||
if (TRI_IsDirectory(file.c_str())) {
|
||||
if (!TRI_IsWritable(file.c_str())) {
|
||||
|
@ -807,7 +801,7 @@ static int ScanPath(TRI_vocbase_t* vocbase, char const* path, bool isUpgrade,
|
|||
// this can cause serious trouble so we will abort the server start if
|
||||
// we
|
||||
// encounter this situation
|
||||
LOG(ERR) << "database subdirectory '" << file.c_str()
|
||||
LOG(ERR) << "database subdirectory '" << file
|
||||
<< "' is not writable for current user";
|
||||
|
||||
return TRI_set_errno(TRI_ERROR_ARANGO_DATADIR_NOT_WRITABLE);
|
||||
|
@ -826,7 +820,7 @@ static int ScanPath(TRI_vocbase_t* vocbase, char const* path, bool isUpgrade,
|
|||
// we found a collection that is marked as deleted.
|
||||
// deleted collections should be removed on startup. this is the
|
||||
// default
|
||||
LOG(DEBUG) << "collection '" << name.c_str()
|
||||
LOG(DEBUG) << "collection '" << name
|
||||
<< "' was deleted, wiping it";
|
||||
|
||||
res = TRI_RemoveDirectory(file.c_str());
|
||||
|
@ -880,7 +874,7 @@ static int ScanPath(TRI_vocbase_t* vocbase, char const* path, bool isUpgrade,
|
|||
|
||||
if (c == nullptr) {
|
||||
LOG(ERR) << "failed to add document collection from '"
|
||||
<< file.c_str() << "'";
|
||||
<< file << "'";
|
||||
|
||||
return TRI_set_errno(TRI_ERROR_ARANGO_CORRUPTED_COLLECTION);
|
||||
}
|
||||
|
@ -899,31 +893,29 @@ static int ScanPath(TRI_vocbase_t* vocbase, char const* path, bool isUpgrade,
|
|||
}
|
||||
|
||||
LOG(DEBUG) << "added document collection '" << info.namec_str()
|
||||
<< "' from '" << file.c_str() << "'";
|
||||
<< "' from '" << file << "'";
|
||||
}
|
||||
|
||||
} catch (arangodb::basics::Exception const& e) {
|
||||
char* tmpfile = TRI_Concatenate2File(file.c_str(), ".tmp");
|
||||
std::string tmpfile = FileUtils::buildFilename(file, ".tmp");
|
||||
|
||||
if (TRI_ExistsFile(tmpfile)) {
|
||||
if (TRI_ExistsFile(tmpfile.c_str())) {
|
||||
LOG(TRACE) << "ignoring temporary directory '" << tmpfile << "'";
|
||||
TRI_Free(TRI_CORE_MEM_ZONE, tmpfile);
|
||||
// temp file still exists. this means the collection was not created
|
||||
// fully
|
||||
// and needs to be ignored
|
||||
continue; // ignore this directory
|
||||
}
|
||||
|
||||
TRI_Free(TRI_CORE_MEM_ZONE, tmpfile);
|
||||
res = e.code();
|
||||
|
||||
LOG(ERR) << "cannot read collection info file in directory '"
|
||||
<< file.c_str() << "': " << TRI_errno_string(res);
|
||||
<< file << "': " << TRI_errno_string(res);
|
||||
|
||||
return TRI_set_errno(res);
|
||||
}
|
||||
} else {
|
||||
LOG(DEBUG) << "ignoring non-directory '" << file.c_str() << "'";
|
||||
LOG(DEBUG) << "ignoring non-directory '" << file << "'";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1082,7 +1074,7 @@ static int LoadCollectionVocBase(TRI_vocbase_t* vocbase,
|
|||
|
||||
std::string const colName(collection->name());
|
||||
LOG(ERR) << "unknown collection status " << collection->_status << " for '"
|
||||
<< colName.c_str() << "'";
|
||||
<< colName << "'";
|
||||
|
||||
TRI_WRITE_UNLOCK_STATUS_VOCBASE_COL(collection);
|
||||
return TRI_set_errno(TRI_ERROR_INTERNAL);
|
||||
|
|
|
@ -2265,7 +2265,7 @@ window.StatisticsCollection = Backbone.Collection.extend({
|
|||
}
|
||||
else {
|
||||
$("#" + a).html('<br/><span class="dashboard-figurePer" style="color: '
|
||||
+ "#000" +';">' + "data not ready yet" + '</span>');
|
||||
+ "#000" +';">' + '<p class="dataNotReadyYet">data not ready yet</p>' + '</span>');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
@ -2662,7 +2662,7 @@ window.StatisticsCollection = Backbone.Collection.extend({
|
|||
if ($('.dataNotReadyYet').length === 0) {
|
||||
$('#dataTransferDistribution').prepend('<p class="dataNotReadyYet"> data not ready yet </p>');
|
||||
$('#totalTimeDistribution').prepend('<p class="dataNotReadyYet"> data not ready yet </p>');
|
||||
$('.dashboard-bar-chart-title').prepend('<p class="dataNotReadyYet"> data not ready yet </p>');
|
||||
$('.dashboard-bar-chart-title').append('<p class="dataNotReadyYet"> data not ready yet </p>');
|
||||
}
|
||||
},
|
||||
|
||||
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -2583,6 +2583,8 @@ div.footer-right {
|
|||
color: #fff;
|
||||
margin-left: 10px;
|
||||
padding: 5px 16px; }
|
||||
.button-neutral:focus, .button-primary:focus, .button-notification:focus, .button-success:focus, .button-danger:focus, .button-warning:focus, .button-inactive:focus, .button-close:focus {
|
||||
outline: none; }
|
||||
|
||||
.button-header {
|
||||
margin-top: 5px; }
|
||||
|
@ -3147,7 +3149,11 @@ div .bigtile {
|
|||
|
||||
@media (max-width: 970px) {
|
||||
#documentsDiv #totalDocuments {
|
||||
display: none; } }
|
||||
display: none; }
|
||||
.navmenu {
|
||||
padding-left: 20px;
|
||||
padding-top: 0;
|
||||
position: absolute; } }
|
||||
|
||||
@media (min-width: 739px) and (max-width: 1041px) {
|
||||
#arangoCollectionUl a {
|
||||
|
@ -5424,6 +5430,8 @@ div.headerBar {
|
|||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
position: relative; }
|
||||
div.headerBar select:focus {
|
||||
outline: none; }
|
||||
div.headerBar .infoField {
|
||||
background-color: #fff;
|
||||
border: 1px solid rgba(140, 138, 137, 0.25);
|
||||
|
@ -5474,7 +5482,7 @@ div.headerBar {
|
|||
|
||||
.headerBar a.arangoHeader {
|
||||
color: #000;
|
||||
font-size: 13pt;
|
||||
font-size: 11.5pt;
|
||||
font-weight: 100;
|
||||
left: 0;
|
||||
position: relative;
|
||||
|
@ -5492,7 +5500,7 @@ div.headerBar {
|
|||
.breadcrumb .disabledBread {
|
||||
color: #666;
|
||||
float: left;
|
||||
font-size: 13pt;
|
||||
font-size: 11.5pt;
|
||||
font-weight: 100;
|
||||
padding-right: 5px;
|
||||
position: relative; }
|
||||
|
@ -5502,7 +5510,7 @@ div.headerBar {
|
|||
.breadcrumb .activeBread {
|
||||
color: #8aa051;
|
||||
float: left;
|
||||
font-size: 13pt;
|
||||
font-size: 11.5pt;
|
||||
font-weight: 100; }
|
||||
.breadcrumb #app-development-path {
|
||||
background-color: #fff;
|
||||
|
@ -5760,6 +5768,9 @@ div.headerBar {
|
|||
.modal-footer {
|
||||
border-top: 0 !important;
|
||||
padding-right: 17px; }
|
||||
.modal-footer .button-close {
|
||||
margin-left: 20px;
|
||||
margin-right: 10px; }
|
||||
|
||||
.modal-header {
|
||||
margin-left: 5px;
|
||||
|
@ -6224,8 +6235,9 @@ div .bigtile {
|
|||
top: 6px; }
|
||||
|
||||
.dataNotReadyYet {
|
||||
color: #faa732;
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
font-size: 20px;
|
||||
font-size: 14px;
|
||||
font-weight: 100;
|
||||
text-align: center; }
|
||||
|
||||
|
@ -6459,7 +6471,11 @@ div .bigtile {
|
|||
|
||||
@media (max-width: 970px) {
|
||||
#documentsDiv #totalDocuments {
|
||||
display: none; } }
|
||||
display: none; }
|
||||
.navmenu {
|
||||
padding-left: 20px;
|
||||
padding-top: 0;
|
||||
position: absolute; } }
|
||||
|
||||
@media (min-width: 739px) and (max-width: 1041px) {
|
||||
#arangoCollectionUl a {
|
||||
|
|
Binary file not shown.
|
@ -6108,28 +6108,28 @@ function PreviewAdapter(nodes, edges, viewer, config) {
|
|||
self.requestCentralityChildren = function(nodeId, callback) {};
|
||||
|
||||
self.createEdge = function (edgeToAdd, callback) {
|
||||
window.alert("Server-side: createEdge was triggered.");
|
||||
arangoHelper.arangoError("Server-side", "createEdge was triggered.");
|
||||
};
|
||||
|
||||
self.deleteEdge = function (edgeToRemove, callback) {
|
||||
window.alert("Server-side: deleteEdge was triggered.");
|
||||
arangoHelper.arangoError("Server-side", "deleteEdge was triggered.");
|
||||
};
|
||||
|
||||
self.patchEdge = function (edgeToPatch, patchData, callback) {
|
||||
window.alert("Server-side: patchEdge was triggered.");
|
||||
arangoHelper.arangoError("Server-side", "patchEdge was triggered.");
|
||||
};
|
||||
|
||||
self.createNode = function (nodeToAdd, callback) {
|
||||
window.alert("Server-side: createNode was triggered.");
|
||||
arangoHelper.arangoError("Server-side", "createNode was triggered.");
|
||||
};
|
||||
|
||||
self.deleteNode = function (nodeToRemove, callback) {
|
||||
window.alert("Server-side: deleteNode was triggered.");
|
||||
window.alert("Server-side: onNodeDelete was triggered.");
|
||||
arangoHelper.arangoError("Server-side", "deleteNode was triggered.");
|
||||
arangoHelper.arangoError("Server-side", "onNodeDelete was triggered.");
|
||||
};
|
||||
|
||||
self.patchNode = function (nodeToPatch, patchData, callback) {
|
||||
window.alert("Server-side: patchNode was triggered.");
|
||||
arangoHelper.arangoError("Server-side", "patchNode was triggered.");
|
||||
};
|
||||
|
||||
self.setNodeLimit = function (pLimit, callback) {
|
||||
|
@ -8079,7 +8079,7 @@ function GraphViewerUI(container, adapterConfig, optWidth, optHeight, viewerConf
|
|||
},
|
||||
|
||||
alertError = function(msg) {
|
||||
window.alert(msg);
|
||||
arangoHelper.arangoError("Graph", msg);
|
||||
},
|
||||
|
||||
resultCB = function(res) {
|
||||
|
@ -8188,7 +8188,7 @@ function GraphViewerUI(container, adapterConfig, optWidth, optHeight, viewerConf
|
|||
},
|
||||
|
||||
alertError = function(msg) {
|
||||
window.alert(msg);
|
||||
arangoHelper.arangoError("Graph", msg);
|
||||
},
|
||||
|
||||
resultCB2 = function(res) {
|
||||
|
@ -8685,7 +8685,7 @@ function GraphViewerUI(container, adapterConfig, optWidth, optHeight, viewerConf
|
|||
var size = $('#graphSize').find(":selected").val();
|
||||
graphViewer.loadGraphWithRandomStart(function(node) {
|
||||
if (node && node.errorCode) {
|
||||
window.alert("Sorry your graph seems to be empty");
|
||||
arangoHelper.arangoError("Graph", "Sorry your graph seems to be empty");
|
||||
}
|
||||
}, size);
|
||||
});
|
||||
|
@ -8696,7 +8696,7 @@ function GraphViewerUI(container, adapterConfig, optWidth, optHeight, viewerConf
|
|||
} else {
|
||||
graphViewer.loadGraphWithRandomStart(function(node) {
|
||||
if (node && node.errorCode) {
|
||||
window.alert("Sorry your graph seems to be empty");
|
||||
arangoHelper.arangoError("Graph", "Sorry your graph seems to be empty");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -17326,7 +17326,7 @@ window.Users = Backbone.Model.extend({
|
|||
case 3:
|
||||
return 'loaded';
|
||||
case 4:
|
||||
return 'in the process of being unloaded';
|
||||
return 'unloading';
|
||||
case 5:
|
||||
return 'deleted';
|
||||
case 6:
|
||||
|
@ -18560,7 +18560,7 @@ window.ArangoUsers = Backbone.Collection.extend({
|
|||
|
||||
/*jshint browser: true */
|
||||
/*jshint unused: false */
|
||||
/*global window, Backbone, alert, $ */
|
||||
/*global window, Backbone, $ */
|
||||
(function() {
|
||||
"use strict";
|
||||
window.FoxxCollection = Backbone.Collection.extend({
|
||||
|
@ -19551,7 +19551,7 @@ window.ArangoUsers = Backbone.Collection.extend({
|
|||
else {
|
||||
$(this.el).removeClass('locked');
|
||||
}
|
||||
if (this.model.get("status") === 'loading') {
|
||||
if (this.model.get("status") === 'loading' || this.model.get("status") === 'unloading') {
|
||||
$(this.el).addClass('locked');
|
||||
}
|
||||
$(this.el).html(this.template.render({
|
||||
|
@ -21055,7 +21055,7 @@ window.ArangoUsers = Backbone.Collection.extend({
|
|||
}
|
||||
else {
|
||||
$("#" + a).html('<br/><span class="dashboard-figurePer" style="color: '
|
||||
+ "#000" +';">' + "data not ready yet" + '</span>');
|
||||
+ "#000" +';">' + '<p class="dataNotReadyYet">data not ready yet</p>' + '</span>');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
@ -21452,7 +21452,7 @@ window.ArangoUsers = Backbone.Collection.extend({
|
|||
if ($('.dataNotReadyYet').length === 0) {
|
||||
$('#dataTransferDistribution').prepend('<p class="dataNotReadyYet"> data not ready yet </p>');
|
||||
$('#totalTimeDistribution').prepend('<p class="dataNotReadyYet"> data not ready yet </p>');
|
||||
$('.dashboard-bar-chart-title').prepend('<p class="dataNotReadyYet"> data not ready yet </p>');
|
||||
$('.dashboard-bar-chart-title').append('<p class="dataNotReadyYet"> data not ready yet </p>');
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -23796,7 +23796,7 @@ window.ArangoUsers = Backbone.Collection.extend({
|
|||
}());
|
||||
|
||||
/*jshint browser: true */
|
||||
/*global $, Joi, _, alert, templateEngine, window*/
|
||||
/*global $, Joi, _, arangoHelper, templateEngine, window*/
|
||||
(function() {
|
||||
"use strict";
|
||||
|
||||
|
@ -23825,10 +23825,10 @@ window.ArangoUsers = Backbone.Collection.extend({
|
|||
}
|
||||
switch(res.errorNum) {
|
||||
case errors.ERROR_APPLICATION_DOWNLOAD_FAILED.code:
|
||||
alert("Unable to download application from the given repository.");
|
||||
arangoHelper.arangoError("Services", "Unable to download application from the given repository.");
|
||||
break;
|
||||
default:
|
||||
alert("Error: " + res.errorNum + ". " + res.errorMessage);
|
||||
arangoHelper.arangoError("Services", res.errorNum + ". " + res.errorMessage);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -28653,33 +28653,33 @@ window.ArangoUsers = Backbone.Collection.extend({
|
|||
name = null,
|
||||
active = false,
|
||||
currentUser = null;
|
||||
if (username) {
|
||||
if (username !== false) {
|
||||
currentUser = this.userCollection.findWhere({user: username});
|
||||
currentUser.set({loggedIn : true});
|
||||
name = currentUser.get("extra").name;
|
||||
img = currentUser.get("extra").img;
|
||||
active = currentUser.get("active");
|
||||
}
|
||||
if (! img) {
|
||||
img = "img/default_user.png";
|
||||
}
|
||||
else {
|
||||
img = "https://s.gravatar.com/avatar/" + img + "?s=24";
|
||||
}
|
||||
if (! name) {
|
||||
name = "";
|
||||
}
|
||||
if (! img) {
|
||||
img = "img/default_user.png";
|
||||
}
|
||||
else {
|
||||
img = "https://s.gravatar.com/avatar/" + img + "?s=24";
|
||||
}
|
||||
if (! name) {
|
||||
name = "";
|
||||
}
|
||||
|
||||
this.$el = $("#userBar");
|
||||
this.$el.html(this.template.render({
|
||||
img : img,
|
||||
name : name,
|
||||
username : username,
|
||||
active : active
|
||||
}));
|
||||
this.$el = $("#userBar");
|
||||
this.$el.html(this.template.render({
|
||||
img : img,
|
||||
name : name,
|
||||
username : username,
|
||||
active : active
|
||||
}));
|
||||
|
||||
this.delegateEvents();
|
||||
return this.$el;
|
||||
this.delegateEvents();
|
||||
return this.$el;
|
||||
}
|
||||
}
|
||||
}.bind(this);
|
||||
|
||||
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -1,3 +1,3 @@
|
|||
<script src="sharedLibs.js?version=1456219613661"></script>
|
||||
<script src="libs.js?version=1456219613661"></script>
|
||||
<script src="app.js?version=1456219613661"></script>
|
||||
<script src="sharedLibs.js?version=1456250172555"></script>
|
||||
<script src="libs.js?version=1456250172555"></script>
|
||||
<script src="app.js?version=1456250172555"></script>
|
||||
|
|
|
@ -803,7 +803,7 @@ if (list.length > 0) {
|
|||
</a>
|
||||
<li class="enabled">
|
||||
<a id="markDocuments" class="headerButton">
|
||||
<span class="icon_arangodb_edit" title="Edit documents"></span>
|
||||
<span title="Edit documents"><i class="fa fa-hand-pointer-o"></i></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="enabled">
|
||||
|
@ -813,12 +813,12 @@ if (list.length > 0) {
|
|||
</li>
|
||||
<li class="enabled">
|
||||
<a id="exportCollection" class="headerButton">
|
||||
<span title="Download documents as JSON file"><i class="fa fa-download"></i></span>
|
||||
<span title="Download documents as JSON file"><i class="fa fa-download" style="margin-top: 1px;"></i></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="enabled" style="margin-right: 15px">
|
||||
<a id="filterCollection" class="headerButton">
|
||||
<span class="icon_arangodb_filter" title="Filter collection"></span>
|
||||
<span title="Filter collection"><i class="fa fa-filter"></i></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -1395,8 +1395,10 @@ if (list.length > 0) {
|
|||
</table>
|
||||
</div>
|
||||
<div class="index-button-bar index-button-bar2">
|
||||
<button id="createIndex" class="button-success">Save</button>
|
||||
<button id="cancelIndex" class="button-close">Back</button>
|
||||
<button id="createIndex" class="button-success" style="margin-left: 15px;">Create</button>
|
||||
<button id="cancelIndex" class="button-close" style="margin-left: 0;"><i class="fa fa-arrow-left"></i>
|
||||
<span style="margin-left: 5px;">Back</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div></script><script id="lineChartDetailView.ejs" type="text/template"><div id="lineChartDetail" class="modal hide fade modal-chart-detail" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display:none">
|
||||
|
@ -2363,10 +2365,10 @@ if (list.length > 0) {
|
|||
|
||||
</ul></script><script id="progressBase.ejs" type="text/template"><div class="progress-view">
|
||||
<div class="progress-content">
|
||||
<div class="progress-text"></div>
|
||||
<div class="pong-spinner"><i /></div>
|
||||
</div>
|
||||
<div class="progress-message">
|
||||
<div class="progress-text"></div>
|
||||
<div class="progress-action"></div>
|
||||
</div>
|
||||
</div></script><script id="queryManagementViewActive.ejs" type="text/template"><div class="headerBar">
|
||||
|
@ -2397,8 +2399,8 @@ if (list.length > 0) {
|
|||
<div class="tab-content" id="tabContentCustoms">
|
||||
<div class="tab-pane" id="customs">
|
||||
<div id="editorToolbar" class="query-toolbar editor-toolbar">
|
||||
<span class="icon_arangodb" title="Upload your queries." id="import-query"><i class="fa fa-upload"></i></span>
|
||||
<span class="icon_arangodb" title="Download your listed queries." id="export-query"><i class="fa fa-download"></i></span>
|
||||
<span class="queryTooltips" title="Upload your queries." id="import-query"><i class="fa fa-upload"></i></span>
|
||||
<span class="queryTooltips" title="Download your listed queries." id="export-query"><i class="fa fa-download"></i></span>
|
||||
</div>
|
||||
<div id="customsDiv" class="query-div">
|
||||
</div>
|
||||
|
@ -2408,11 +2410,11 @@ if (list.length > 0) {
|
|||
<div class="tab-pane active" id="query">
|
||||
<div id="queryDiv" class="query-div">
|
||||
<div id="editorToolbar" class="query-toolbar editor-toolbar">
|
||||
<span class="icon_arangodb icon_arangodb_trash queryTooltips tooltip-margin" title="Clear" id="clearInput"/>
|
||||
<span class="icon_arangodb icon_arangodb_adddoc queryTooltips" title="Save current query" id="addAQL"/>
|
||||
<span class="queryTooltips tooltip-margin" title="Comment" id="commentText"><i class="fa fa-comment"></i></span>
|
||||
<span class="icon_arangodb icon_arangodb_arrow6 queryTooltips tooltip-margin" title="Redo" id="redoText"/>
|
||||
<span class="icon_arangodb icon_arangodb_arrow5 queryTooltips tooltip-margin" title="Undo" id="undoText"/>
|
||||
<span class="queryTooltips" title="Clear" id="clearInput"><i class="fa fa-trash-o"></i></span>
|
||||
<span class="queryTooltips" title="Save current query" id="addAQL"><i class="fa fa-save"></i></span>
|
||||
<span class="queryTooltips" title="Comment" id="commentText"><i class="fa fa-comment"></i></span>
|
||||
<span class="queryTooltips" title="Redo" id="redoText"><i class="fa fa-undo fa-flip-horizontal"></i></span>
|
||||
<span class="queryTooltips" title="Undo" id="undoText"><i class="fa fa-undo"></i></span>
|
||||
</div>
|
||||
|
||||
<div id="aqlEditor" class='aql-editor'></div>
|
||||
|
@ -2465,7 +2467,7 @@ if (list.length > 0) {
|
|||
<div class="tab-pane" id="result">
|
||||
<div id="outputToolbar" class="query-toolbar output-toolbar">
|
||||
<!--
|
||||
<span class="icon_arangodb icon_arangodb_trash queryTooltips tooltip-margin" title="Clear" id="clearOutput"></span>
|
||||
<span class="icon_arangodb icon_arangodb_trash queryTooltips " title="Clear" id="clearOutput"></span>
|
||||
<span class="icon_arangodb icon_arangodb_arrow1 queryTooltips" title="Unfold" id="bigOutput"></span>
|
||||
-->
|
||||
</div>
|
||||
|
@ -2555,7 +2557,7 @@ var cutByResolution = function (str) {
|
|||
<th class="sorting_disabled docsFirstCol" role="columnheader" rowspan="1" colspan="1">Content</th>
|
||||
<th class="sorting_disabled docsSecCol" role="columnheader" rowspan="1" colspan="1">_key</th>
|
||||
<th class="sorting_disabled docsThirdCol" role="columnheader" rowspan="1" colspan="1">
|
||||
<a id="addDocumentButton" class="pull-right addButton"><span class="arangoicon icon_arangodb_roundplus" title="Add a document"></span></a>
|
||||
<a id="addDocumentButton" class="pull-right addButton"><span title="Add a document"><i class="fa fa-plus-circle"></i></span></a>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -2749,4 +2751,4 @@ var cutByResolution = function (str) {
|
|||
</div>
|
||||
|
||||
<div id="workMonitorContent" class="innerContent">
|
||||
</div></script></head><body><nav class="navbar"><div class="resizecontainer"><div class="navlogo"><a class="logo" href="#"><img class="arangodbLogo" src="img/arangodb_logo_small.png"></a></div><div id="progressPlaceholderIcon"></div><div class="statmenu" id="statisticBar"></div><div class="usermenu" id="userBar" style="float:right"></div><div class="notificationmenu" id="notificationBar" style="float:right"></div><div class="navmenu" id="navigationBar"></div></div></nav><div class="centralRow resizecontainer"><div id="content" class="centralContent"></div></div><div id="modalPlaceholder"></div><div id="progressPlaceholder" style="display:none"></div><footer class="footer"><div class="resizecontainer" id="footerBar"></div></footer><div class="arangoFrame" style=""><div class="outerDiv"><div class="innerDiv"></div></div></div><script src="sharedLibs.js?version=1456219613661"></script><script src="libs.js?version=1456219613661"></script><script src="app.js?version=1456219613661"></script></body></html>
|
||||
</div></script></head><body><nav class="navbar"><div class="resizecontainer"><div class="navlogo"><a class="logo" href="#"><img class="arangodbLogo" src="img/arangodb_logo_small.png"></a></div><div id="progressPlaceholderIcon"></div><div class="statmenu" id="statisticBar"></div><div class="usermenu" id="userBar" style="float:right"></div><div class="notificationmenu" id="notificationBar" style="float:right"></div><div class="navmenu" id="navigationBar"></div></div></nav><div class="centralRow resizecontainer"><div id="content" class="centralContent"></div></div><div id="modalPlaceholder"></div><div id="progressPlaceholder" style="display:none"></div><footer class="footer"><div class="resizecontainer" id="footerBar"></div></footer><div class="arangoFrame" style=""><div class="outerDiv"><div class="innerDiv"></div></div></div><script src="sharedLibs.js?version=1456250172555"></script><script src="libs.js?version=1456250172555"></script><script src="app.js?version=1456250172555"></script></body></html>
|
Binary file not shown.
|
@ -867,7 +867,7 @@ if (list.length > 0) {
|
|||
</a>
|
||||
<li class="enabled">
|
||||
<a id="markDocuments" class="headerButton">
|
||||
<span class="icon_arangodb_edit" title="Edit documents"></span>
|
||||
<span title="Edit documents"><i class="fa fa-hand-pointer-o"></i></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="enabled">
|
||||
|
@ -877,12 +877,12 @@ if (list.length > 0) {
|
|||
</li>
|
||||
<li class="enabled">
|
||||
<a id="exportCollection" class="headerButton">
|
||||
<span title="Download documents as JSON file"><i class="fa fa-download"></i></span>
|
||||
<span title="Download documents as JSON file"><i class="fa fa-download" style="margin-top: 1px;"></i></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="enabled" style="margin-right: 15px">
|
||||
<a id="filterCollection" class="headerButton">
|
||||
<span class="icon_arangodb_filter" title="Filter collection"></span>
|
||||
<span title="Filter collection"><i class="fa fa-filter"></i></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -1497,8 +1497,10 @@ if (list.length > 0) {
|
|||
</table>
|
||||
</div>
|
||||
<div class="index-button-bar index-button-bar2">
|
||||
<button id="createIndex" class="button-success">Save</button>
|
||||
<button id="cancelIndex" class="button-close">Back</button>
|
||||
<button id="createIndex" class="button-success" style="margin-left: 15px;">Create</button>
|
||||
<button id="cancelIndex" class="button-close" style="margin-left: 0;"><i class="fa fa-arrow-left"></i>
|
||||
<span style="margin-left: 5px;">Back</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2536,10 +2538,10 @@ if (list.length > 0) {
|
|||
<script id="progressBase.ejs" type="text/template">
|
||||
<div class="progress-view">
|
||||
<div class="progress-content">
|
||||
<div class="progress-text"></div>
|
||||
<div class="pong-spinner"><i /></div>
|
||||
</div>
|
||||
<div class="progress-message">
|
||||
<div class="progress-text"></div>
|
||||
<div class="progress-action"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2582,8 +2584,8 @@ if (list.length > 0) {
|
|||
<div class="tab-content" id="tabContentCustoms">
|
||||
<div class="tab-pane" id="customs">
|
||||
<div id="editorToolbar" class="query-toolbar editor-toolbar">
|
||||
<span class="icon_arangodb" title="Upload your queries." id="import-query"><i class="fa fa-upload"></i></span>
|
||||
<span class="icon_arangodb" title="Download your listed queries." id="export-query"><i class="fa fa-download"></i></span>
|
||||
<span class="queryTooltips" title="Upload your queries." id="import-query"><i class="fa fa-upload"></i></span>
|
||||
<span class="queryTooltips" title="Download your listed queries." id="export-query"><i class="fa fa-download"></i></span>
|
||||
</div>
|
||||
<div id="customsDiv" class="query-div">
|
||||
</div>
|
||||
|
@ -2593,11 +2595,11 @@ if (list.length > 0) {
|
|||
<div class="tab-pane active" id="query">
|
||||
<div id="queryDiv" class="query-div">
|
||||
<div id="editorToolbar" class="query-toolbar editor-toolbar">
|
||||
<span class="icon_arangodb icon_arangodb_trash queryTooltips tooltip-margin" title="Clear" id="clearInput"/>
|
||||
<span class="icon_arangodb icon_arangodb_adddoc queryTooltips" title="Save current query" id="addAQL"/>
|
||||
<span class="queryTooltips tooltip-margin" title="Comment" id="commentText"><i class="fa fa-comment"></i></span>
|
||||
<span class="icon_arangodb icon_arangodb_arrow6 queryTooltips tooltip-margin" title="Redo" id="redoText"/>
|
||||
<span class="icon_arangodb icon_arangodb_arrow5 queryTooltips tooltip-margin" title="Undo" id="undoText"/>
|
||||
<span class="queryTooltips" title="Clear" id="clearInput"><i class="fa fa-trash-o"></i></span>
|
||||
<span class="queryTooltips" title="Save current query" id="addAQL"><i class="fa fa-save"></i></span>
|
||||
<span class="queryTooltips" title="Comment" id="commentText"><i class="fa fa-comment"></i></span>
|
||||
<span class="queryTooltips" title="Redo" id="redoText"><i class="fa fa-undo fa-flip-horizontal"></i></span>
|
||||
<span class="queryTooltips" title="Undo" id="undoText"><i class="fa fa-undo"></i></span>
|
||||
</div>
|
||||
|
||||
<div id="aqlEditor" class='aql-editor'></div>
|
||||
|
@ -2650,7 +2652,7 @@ if (list.length > 0) {
|
|||
<div class="tab-pane" id="result">
|
||||
<div id="outputToolbar" class="query-toolbar output-toolbar">
|
||||
<!--
|
||||
<span class="icon_arangodb icon_arangodb_trash queryTooltips tooltip-margin" title="Clear" id="clearOutput"></span>
|
||||
<span class="icon_arangodb icon_arangodb_trash queryTooltips " title="Clear" id="clearOutput"></span>
|
||||
<span class="icon_arangodb icon_arangodb_arrow1 queryTooltips" title="Unfold" id="bigOutput"></span>
|
||||
-->
|
||||
</div>
|
||||
|
@ -2753,7 +2755,7 @@ var cutByResolution = function (str) {
|
|||
<th class="sorting_disabled docsFirstCol" role="columnheader" rowspan="1" colspan="1">Content</th>
|
||||
<th class="sorting_disabled docsSecCol" role="columnheader" rowspan="1" colspan="1">_key</th>
|
||||
<th class="sorting_disabled docsThirdCol" role="columnheader" rowspan="1" colspan="1">
|
||||
<a id="addDocumentButton" class="pull-right addButton"><span class="arangoicon icon_arangodb_roundplus" title="Add a document"></span></a>
|
||||
<a id="addDocumentButton" class="pull-right addButton"><span title="Add a document"><i class="fa fa-plus-circle"></i></span></a>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -3013,9 +3015,9 @@ var cutByResolution = function (str) {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<script src="sharedLibs.js?version=1456219613661"></script>
|
||||
<script src="libs.js?version=1456219613661"></script>
|
||||
<script src="app.js?version=1456219613661"></script>
|
||||
<script src="sharedLibs.js?version=1456250172555"></script>
|
||||
<script src="libs.js?version=1456250172555"></script>
|
||||
<script src="app.js?version=1456250172555"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -2573,6 +2573,8 @@ div.footer-right {
|
|||
color: #fff;
|
||||
margin-left: 10px;
|
||||
padding: 5px 16px; }
|
||||
.button-neutral:focus, .button-primary:focus, .button-notification:focus, .button-success:focus, .button-danger:focus, .button-warning:focus, .button-inactive:focus, .button-close:focus, .ajax-file-upload-red:focus, .ajax-file-upload:focus {
|
||||
outline: none; }
|
||||
|
||||
.button-header {
|
||||
margin-top: 5px; }
|
||||
|
@ -3137,7 +3139,11 @@ div .bigtile {
|
|||
|
||||
@media (max-width: 970px) {
|
||||
#documentsDiv #totalDocuments {
|
||||
display: none; } }
|
||||
display: none; }
|
||||
.navmenu {
|
||||
padding-left: 20px;
|
||||
padding-top: 0;
|
||||
position: absolute; } }
|
||||
|
||||
@media (min-width: 739px) and (max-width: 1041px) {
|
||||
#arangoCollectionUl a {
|
||||
|
@ -5414,6 +5420,8 @@ div.headerBar {
|
|||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
position: relative; }
|
||||
div.headerBar select:focus {
|
||||
outline: none; }
|
||||
div.headerBar .infoField {
|
||||
background-color: #fff;
|
||||
border: 1px solid rgba(140, 138, 137, 0.25);
|
||||
|
@ -5464,7 +5472,7 @@ div.headerBar {
|
|||
|
||||
.headerBar a.arangoHeader {
|
||||
color: #000;
|
||||
font-size: 13pt;
|
||||
font-size: 11.5pt;
|
||||
font-weight: 100;
|
||||
left: 0;
|
||||
position: relative;
|
||||
|
@ -5482,7 +5490,7 @@ div.headerBar {
|
|||
.breadcrumb .disabledBread {
|
||||
color: #666;
|
||||
float: left;
|
||||
font-size: 13pt;
|
||||
font-size: 11.5pt;
|
||||
font-weight: 100;
|
||||
padding-right: 5px;
|
||||
position: relative; }
|
||||
|
@ -5492,7 +5500,7 @@ div.headerBar {
|
|||
.breadcrumb .activeBread {
|
||||
color: #8aa051;
|
||||
float: left;
|
||||
font-size: 13pt;
|
||||
font-size: 11.5pt;
|
||||
font-weight: 100; }
|
||||
.breadcrumb #app-development-path {
|
||||
background-color: #fff;
|
||||
|
@ -5750,6 +5758,9 @@ div.headerBar {
|
|||
.modal-footer {
|
||||
border-top: 0 !important;
|
||||
padding-right: 17px; }
|
||||
.modal-footer .button-close {
|
||||
margin-left: 20px;
|
||||
margin-right: 10px; }
|
||||
|
||||
.modal-header {
|
||||
margin-left: 5px;
|
||||
|
@ -6048,8 +6059,9 @@ div.headerBar {
|
|||
top: 6px; }
|
||||
|
||||
.dataNotReadyYet {
|
||||
color: #faa732;
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
font-size: 20px;
|
||||
font-size: 14px;
|
||||
font-weight: 100;
|
||||
text-align: center; }
|
||||
|
||||
|
@ -6508,9 +6520,12 @@ toolbar {
|
|||
font-weight: 300;
|
||||
height: 30px;
|
||||
line-height: 1;
|
||||
outline: none;
|
||||
padding: 5px;
|
||||
padding-left: 5px !important;
|
||||
padding-top: 3px !important; }
|
||||
.styled-select select:focus {
|
||||
outline: none; }
|
||||
|
||||
.querySizeDiv {
|
||||
height: 30px !important;
|
||||
|
@ -6579,9 +6594,6 @@ toolbar {
|
|||
padding-left: 5px;
|
||||
padding-right: 5px; }
|
||||
|
||||
.tooltip-margin {
|
||||
margin-top: 1px; }
|
||||
|
||||
.query-dropdown-in {
|
||||
background-color: #fff;
|
||||
padding: 10px; }
|
||||
|
@ -6604,11 +6616,13 @@ toolbar {
|
|||
|
||||
#queryContent {
|
||||
margin-top: 18px; }
|
||||
#queryContent .arango-tab a {
|
||||
border-bottom-color: #ddd;
|
||||
font-weight: 100; }
|
||||
#queryContent .arango-tab .active {
|
||||
border-bottom-color: #fff !important; }
|
||||
#queryContent .arango-tab {
|
||||
margin-bottom: 5px; }
|
||||
#queryContent .arango-tab a {
|
||||
border-bottom-color: #ddd;
|
||||
font-weight: 100; }
|
||||
#queryContent .arango-tab .active {
|
||||
border-bottom-color: #fff !important; }
|
||||
|
||||
.query-div {
|
||||
display: none;
|
||||
|
@ -6668,47 +6682,35 @@ toolbar {
|
|||
.editor-toolbar {
|
||||
border-color: #a0a0a0;
|
||||
height: 33px;
|
||||
margin-top: 5px; }
|
||||
padding-right: 5px; }
|
||||
.editor-toolbar span {
|
||||
border-radius: 3px;
|
||||
float: right;
|
||||
height: 18px;
|
||||
margin-left: 3px;
|
||||
padding-bottom: 6px;
|
||||
padding-left: 5px;
|
||||
padding-right: 0;
|
||||
padding-top: 3px;
|
||||
padding: 3px 0 6px 10px;
|
||||
position: relative;
|
||||
top: 0;
|
||||
width: 25px; }
|
||||
width: 22px; }
|
||||
.editor-toolbar span:hover,
|
||||
.editor-toolbar .vars-editor-header i {
|
||||
background-color: #8aa051;
|
||||
color: #fff; }
|
||||
.editor-toolbar i {
|
||||
margin-right: 5px;
|
||||
margin-top: 3px; }
|
||||
.editor-toolbar i:hover {
|
||||
cursor: pointer; }
|
||||
.editor-toolbar a:hover,
|
||||
.editor-toolbar span:hover {
|
||||
cursor: pointer; }
|
||||
.editor-toolbar a:hover i,
|
||||
.editor-toolbar span:hover i {
|
||||
color: #fff; }
|
||||
.editor-toolbar i:hover {
|
||||
color: #fff;
|
||||
cursor: pointer; }
|
||||
.editor-toolbar .fa {
|
||||
color: #666;
|
||||
margin-left: 1px;
|
||||
margin-top: 2px; }
|
||||
.editor-toolbar .fa.fa-upload {
|
||||
margin-top: 1px; }
|
||||
.editor-toolbar .icon_arangodb {
|
||||
color: #666;
|
||||
font-size: 14pt; }
|
||||
.editor-toolbar .icon_arangodb:first-child {
|
||||
margin-right: 10px; }
|
||||
font-size: 15px; }
|
||||
.editor-toolbar .fa-comment,
|
||||
.editor-toolbar .fa-comment-o {
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
right: -2px;
|
||||
top: -2px; }
|
||||
.editor-toolbar .arango-icon-disk {
|
||||
margin-top: 1px; }
|
||||
top: -1px; }
|
||||
|
||||
.display-none {
|
||||
display: none; }
|
||||
|
@ -7513,12 +7515,13 @@ input.gv-radio-button {
|
|||
color: #fff;
|
||||
height: 188px;
|
||||
left: 50%;
|
||||
margin: -100px 0 0 -150px;
|
||||
margin: -150px 0 0 -125px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 300px; }
|
||||
top: 38%;
|
||||
width: 250px; }
|
||||
.progress-view .progress-content {
|
||||
border: 5px solid #fff; }
|
||||
border: 5px solid #fff;
|
||||
border-radius: 3px; }
|
||||
.progress-view .progress-content .fa-spinner {
|
||||
font-size: 100pt; }
|
||||
.progress-view .progress-message {
|
||||
|
@ -7531,10 +7534,17 @@ input.gv-radio-button {
|
|||
padding-top: 3px;
|
||||
text-align: center; }
|
||||
.progress-view .progress-text {
|
||||
background: #fff;
|
||||
color: #000;
|
||||
float: left;
|
||||
font-weight: 100;
|
||||
height: 25px;
|
||||
left: -5px;
|
||||
margin-left: 5px;
|
||||
margin-top: 10px; }
|
||||
margin-top: 10px;
|
||||
position: relative;
|
||||
top: -10px;
|
||||
width: 100%; }
|
||||
.progress-view .progress-action {
|
||||
float: right;
|
||||
margin-right: 5px;
|
||||
|
@ -7554,7 +7564,7 @@ input.gv-radio-button {
|
|||
width: 200px; }
|
||||
.pong-spinner i {
|
||||
animation: ball 2s infinite linear;
|
||||
background: #fff;
|
||||
background: #8cdb8b;
|
||||
border-radius: 10px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
|
@ -7563,7 +7573,7 @@ input.gv-radio-button {
|
|||
.pong-spinner:before,
|
||||
.pong-spinner:after {
|
||||
animation: left-player 2s infinite linear;
|
||||
background: #fff;
|
||||
background: #8cdb8b;
|
||||
content: '';
|
||||
height: 30px;
|
||||
position: absolute;
|
||||
|
|
Binary file not shown.
|
@ -32,7 +32,7 @@
|
|||
</a>
|
||||
<li class="enabled">
|
||||
<a id="markDocuments" class="headerButton">
|
||||
<span class="icon_arangodb_edit" title="Edit documents"></span>
|
||||
<span title="Edit documents"><i class="fa fa-hand-pointer-o"></i></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="enabled">
|
||||
|
@ -42,12 +42,12 @@
|
|||
</li>
|
||||
<li class="enabled">
|
||||
<a id="exportCollection" class="headerButton">
|
||||
<span title="Download documents as JSON file"><i class="fa fa-download"></i></span>
|
||||
<span title="Download documents as JSON file"><i class="fa fa-download" style="margin-top: 1px;"></i></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="enabled" style="margin-right: 15px">
|
||||
<a id="filterCollection" class="headerButton">
|
||||
<span class="icon_arangodb_filter" title="Filter collection"></span>
|
||||
<span title="Filter collection"><i class="fa fa-filter"></i></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -235,8 +235,10 @@
|
|||
</table>
|
||||
</div>
|
||||
<div class="index-button-bar index-button-bar2">
|
||||
<button id="createIndex" class="button-success">Save</button>
|
||||
<button id="cancelIndex" class="button-close">Back</button>
|
||||
<button id="createIndex" class="button-success" style="margin-left: 15px;">Create</button>
|
||||
<button id="cancelIndex" class="button-close" style="margin-left: 0;"><i class="fa fa-arrow-left"></i>
|
||||
<span style="margin-left: 5px;">Back</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<script id="progressBase.ejs" type="text/template">
|
||||
<div class="progress-view">
|
||||
<div class="progress-content">
|
||||
<div class="progress-text"></div>
|
||||
<div class="pong-spinner"><i /></div>
|
||||
</div>
|
||||
<div class="progress-message">
|
||||
<div class="progress-text"></div>
|
||||
<div class="progress-action"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
<div class="tab-content" id="tabContentCustoms">
|
||||
<div class="tab-pane" id="customs">
|
||||
<div id="editorToolbar" class="query-toolbar editor-toolbar">
|
||||
<span class="icon_arangodb" title="Upload your queries." id="import-query"><i class="fa fa-upload"></i></span>
|
||||
<span class="icon_arangodb" title="Download your listed queries." id="export-query"><i class="fa fa-download"></i></span>
|
||||
<span class="queryTooltips" title="Upload your queries." id="import-query"><i class="fa fa-upload"></i></span>
|
||||
<span class="queryTooltips" title="Download your listed queries." id="export-query"><i class="fa fa-download"></i></span>
|
||||
</div>
|
||||
<div id="customsDiv" class="query-div">
|
||||
</div>
|
||||
|
@ -24,11 +24,11 @@
|
|||
<div class="tab-pane active" id="query">
|
||||
<div id="queryDiv" class="query-div">
|
||||
<div id="editorToolbar" class="query-toolbar editor-toolbar">
|
||||
<span class="icon_arangodb icon_arangodb_trash queryTooltips tooltip-margin" title="Clear" id="clearInput"/>
|
||||
<span class="icon_arangodb icon_arangodb_adddoc queryTooltips" title="Save current query" id="addAQL"/>
|
||||
<span class="queryTooltips tooltip-margin" title="Comment" id="commentText"><i class="fa fa-comment"></i></span>
|
||||
<span class="icon_arangodb icon_arangodb_arrow6 queryTooltips tooltip-margin" title="Redo" id="redoText"/>
|
||||
<span class="icon_arangodb icon_arangodb_arrow5 queryTooltips tooltip-margin" title="Undo" id="undoText"/>
|
||||
<span class="queryTooltips" title="Clear" id="clearInput"><i class="fa fa-trash-o"></i></span>
|
||||
<span class="queryTooltips" title="Save current query" id="addAQL"><i class="fa fa-save"></i></span>
|
||||
<span class="queryTooltips" title="Comment" id="commentText"><i class="fa fa-comment"></i></span>
|
||||
<span class="queryTooltips" title="Redo" id="redoText"><i class="fa fa-undo fa-flip-horizontal"></i></span>
|
||||
<span class="queryTooltips" title="Undo" id="undoText"><i class="fa fa-undo"></i></span>
|
||||
</div>
|
||||
|
||||
<div id="aqlEditor" class='aql-editor'></div>
|
||||
|
@ -81,7 +81,7 @@
|
|||
<div class="tab-pane" id="result">
|
||||
<div id="outputToolbar" class="query-toolbar output-toolbar">
|
||||
<!--
|
||||
<span class="icon_arangodb icon_arangodb_trash queryTooltips tooltip-margin" title="Clear" id="clearOutput"></span>
|
||||
<span class="icon_arangodb icon_arangodb_trash queryTooltips " title="Clear" id="clearOutput"></span>
|
||||
<span class="icon_arangodb icon_arangodb_arrow1 queryTooltips" title="Unfold" id="bigOutput"></span>
|
||||
-->
|
||||
</div>
|
||||
|
|
|
@ -17,7 +17,7 @@ var cutByResolution = function (str) {
|
|||
<th class="sorting_disabled docsFirstCol" role="columnheader" rowspan="1" colspan="1">Content</th>
|
||||
<th class="sorting_disabled docsSecCol" role="columnheader" rowspan="1" colspan="1">_key</th>
|
||||
<th class="sorting_disabled docsThirdCol" role="columnheader" rowspan="1" colspan="1">
|
||||
<a id="addDocumentButton" class="pull-right addButton"><span class="arangoicon icon_arangodb_roundplus" title="Add a document"></span></a>
|
||||
<a id="addDocumentButton" class="pull-right addButton"><span title="Add a document"><i class="fa fa-plus-circle"></i></span></a>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
|
@ -59,33 +59,33 @@
|
|||
name = null,
|
||||
active = false,
|
||||
currentUser = null;
|
||||
if (username) {
|
||||
if (username !== false) {
|
||||
currentUser = this.userCollection.findWhere({user: username});
|
||||
currentUser.set({loggedIn : true});
|
||||
name = currentUser.get("extra").name;
|
||||
img = currentUser.get("extra").img;
|
||||
active = currentUser.get("active");
|
||||
}
|
||||
if (! img) {
|
||||
img = "img/default_user.png";
|
||||
}
|
||||
else {
|
||||
img = "https://s.gravatar.com/avatar/" + img + "?s=24";
|
||||
}
|
||||
if (! name) {
|
||||
name = "";
|
||||
}
|
||||
if (! img) {
|
||||
img = "img/default_user.png";
|
||||
}
|
||||
else {
|
||||
img = "https://s.gravatar.com/avatar/" + img + "?s=24";
|
||||
}
|
||||
if (! name) {
|
||||
name = "";
|
||||
}
|
||||
|
||||
this.$el = $("#userBar");
|
||||
this.$el.html(this.template.render({
|
||||
img : img,
|
||||
name : name,
|
||||
username : username,
|
||||
active : active
|
||||
}));
|
||||
this.$el = $("#userBar");
|
||||
this.$el.html(this.template.render({
|
||||
img : img,
|
||||
name : name,
|
||||
username : username,
|
||||
active : active
|
||||
}));
|
||||
|
||||
this.delegateEvents();
|
||||
return this.$el;
|
||||
this.delegateEvents();
|
||||
return this.$el;
|
||||
}
|
||||
}
|
||||
}.bind(this);
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ $c-lightgreen-2-bg: #f5f8f0;
|
|||
$c-lightgreen-transp-bg: #f5f8f0;
|
||||
$c-lightgreen-2-transp-bg: rgba(245, 248, 240, .95);
|
||||
|
||||
$c-pong-green: rgb(140, 219, 139);
|
||||
|
||||
$c-positive: #8aa051;
|
||||
$c-positive-hover: #788f3d;
|
||||
|
|
|
@ -151,7 +151,7 @@ div.headerBar {
|
|||
|
||||
.headerBar a.arangoHeader {
|
||||
color: $c-black;
|
||||
font-size: 13pt;
|
||||
font-size: 11.5pt;
|
||||
font-weight: 100;
|
||||
left: 0;
|
||||
position: relative;
|
||||
|
@ -177,7 +177,7 @@ div.headerBar {
|
|||
.disabledBread {
|
||||
color: $c-darker-grey;
|
||||
float: left;
|
||||
font-size: 13pt;
|
||||
font-size: 11.5pt;
|
||||
font-weight: 100;
|
||||
padding-right: 5px;
|
||||
position: relative;
|
||||
|
@ -192,7 +192,7 @@ div.headerBar {
|
|||
.activeBread {
|
||||
color: $c-positive;
|
||||
float: left;
|
||||
font-size: 13pt;
|
||||
font-size: 11.5pt;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
|
|
|
@ -377,6 +377,11 @@
|
|||
.modal-footer {
|
||||
border-top: 0 !important;
|
||||
padding-right: 17px;
|
||||
|
||||
.button-close {
|
||||
margin-left: 20px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
|
|
|
@ -14,19 +14,18 @@
|
|||
color: $c-nav-bg;
|
||||
height: 188px;
|
||||
left: 50%;
|
||||
margin: -100px 0 0 -150px;
|
||||
margin: -150px 0 0 -125px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 300px;
|
||||
top: 38%;
|
||||
width: 250px;
|
||||
|
||||
.progress-content {
|
||||
|
||||
border: 5px solid $c-white;
|
||||
border-radius: 3px;
|
||||
|
||||
.fa-spinner {
|
||||
font-size: 100pt;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.progress-message {
|
||||
|
@ -41,10 +40,17 @@
|
|||
}
|
||||
|
||||
.progress-text {
|
||||
background: $c-white;
|
||||
color: $c-black;
|
||||
float: left;
|
||||
font-weight: 100;
|
||||
height: 25px;
|
||||
left: -5px;
|
||||
margin-left: 5px;
|
||||
margin-top: 10px;
|
||||
position: relative;
|
||||
top: -10px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.progress-action {
|
||||
|
@ -73,7 +79,7 @@
|
|||
|
||||
i {
|
||||
animation: ball 2s infinite linear;
|
||||
background: $c-white;
|
||||
background: $c-pong-green;
|
||||
border-radius: 10px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
|
@ -84,7 +90,7 @@
|
|||
.pong-spinner:before,
|
||||
.pong-spinner:after {
|
||||
animation: left-player 2s infinite linear;
|
||||
background: $c-white;
|
||||
background: $c-pong-green;
|
||||
content: '';
|
||||
height: 30px;
|
||||
position: absolute;
|
||||
|
|
|
@ -264,10 +264,6 @@ toolbar {
|
|||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.tooltip-margin {
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.query-dropdown-in {
|
||||
background-color: $c-white;
|
||||
padding: 10px;
|
||||
|
@ -301,6 +297,7 @@ toolbar {
|
|||
margin-top: 18px;
|
||||
|
||||
.arango-tab {
|
||||
margin-bottom: 5px;
|
||||
|
||||
a {
|
||||
border-bottom-color: $c-tab-bottom-border;
|
||||
|
@ -395,20 +392,16 @@ toolbar {
|
|||
.editor-toolbar {
|
||||
border-color: $c-editor-toolbar;
|
||||
height: 33px;
|
||||
margin-top: 5px;
|
||||
padding-right: 5px;
|
||||
|
||||
span {
|
||||
border-radius: 3px;
|
||||
float: right;
|
||||
height: 18px;
|
||||
margin-left: 3px;
|
||||
padding-bottom: 6px;
|
||||
padding-left: 5px;
|
||||
padding-right: 0;
|
||||
padding-top: 3px;
|
||||
padding: 3px 0 6px 10px;
|
||||
position: relative;
|
||||
top: 0;
|
||||
width: 25px;
|
||||
width: 22px;
|
||||
}
|
||||
|
||||
span:hover,
|
||||
|
@ -417,44 +410,29 @@ toolbar {
|
|||
color: $c-white;
|
||||
}
|
||||
|
||||
i {
|
||||
margin-right: 5px;
|
||||
margin-top: 3px;
|
||||
a:hover,
|
||||
span:hover {
|
||||
cursor: pointer;
|
||||
|
||||
i {color: $c-white;}
|
||||
}
|
||||
|
||||
i {
|
||||
&:hover {
|
||||
color: $c-white;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.fa {
|
||||
color: $c-darker-grey;
|
||||
margin-left: 1px;
|
||||
margin-top: 2px;
|
||||
|
||||
&.fa-upload {
|
||||
margin-top: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
.icon_arangodb {
|
||||
color: $c-darker-grey;
|
||||
font-size: 14pt;
|
||||
|
||||
&:first-child {
|
||||
margin-right: 10px;
|
||||
}
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.fa-comment,
|
||||
.fa-comment-o {
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
right: -2px;
|
||||
top: -2px;
|
||||
}
|
||||
|
||||
.arango-icon-disk {
|
||||
margin-top: 1px;
|
||||
top: -1px;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -39,6 +39,12 @@
|
|||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.navmenu {
|
||||
padding-left: 20px;
|
||||
padding-top: 0;
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -2964,7 +2964,6 @@ const recoveryTests = [
|
|||
"disk-full-logfile",
|
||||
"disk-full-logfile-data",
|
||||
"disk-full-datafile",
|
||||
"disk-full-datafile",
|
||||
"collection-drop-recreate",
|
||||
"create-with-temp",
|
||||
"create-with-temp-old",
|
||||
|
@ -3039,20 +3038,28 @@ testFuncs.recovery = function(options) {
|
|||
|
||||
for (let i = 0; i < recoveryTests.length; ++i) {
|
||||
let test = recoveryTests[i];
|
||||
let instanceInfo = {};
|
||||
|
||||
runArangodRecovery(instanceInfo, options, test, true);
|
||||
if (options.test === undefined || options.test === test) {
|
||||
let instanceInfo = {};
|
||||
|
||||
runArangodRecovery(instanceInfo, options, test, false);
|
||||
runArangodRecovery(instanceInfo, options, test, true);
|
||||
|
||||
if (instanceInfo.tmpDataDir) {
|
||||
fs.removeDirectoryRecursive(instanceInfo.tmpDataDir, true);
|
||||
}
|
||||
runArangodRecovery(instanceInfo, options, test, false);
|
||||
|
||||
results[test] = instanceInfo.pid;
|
||||
if (instanceInfo.tmpDataDir) {
|
||||
fs.removeDirectoryRecursive(instanceInfo.tmpDataDir, true);
|
||||
}
|
||||
|
||||
if (!results[test].status) {
|
||||
status = false;
|
||||
results[test] = instanceInfo.pid;
|
||||
|
||||
if (!results[test].status) {
|
||||
status = false;
|
||||
}
|
||||
} else {
|
||||
results[test] = {
|
||||
status: true,
|
||||
skipped: true
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1069,6 +1069,91 @@ function optimizerIndexesTestSuite () {
|
|||
assertEqual(0, results.stats.scannedFull);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test index usage
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testIndexOrMultiplySkiplist : function () {
|
||||
var query = "FOR i IN " + c.name() + " FILTER (i.value > 1 && i.value < 9) && (i.value2 == null || i.value3 == null) RETURN i.value";
|
||||
|
||||
var plan = AQL_EXPLAIN(query).plan;
|
||||
var nodeTypes = plan.nodes.map(function(node) {
|
||||
if (node.type === "IndexNode") {
|
||||
assertEqual("skiplist", node.indexes[0].type);
|
||||
assertFalse(node.indexes[0].unique);
|
||||
}
|
||||
return node.type;
|
||||
});
|
||||
|
||||
assertNotEqual(-1, nodeTypes.indexOf("IndexNode"), query);
|
||||
|
||||
var results = AQL_EXECUTE(query);
|
||||
assertEqual([ 2, 3, 4, 5, 6, 7, 8 ], results.json.sort(), query);
|
||||
assertTrue(results.stats.scannedIndex > 0);
|
||||
assertEqual(0, results.stats.scannedFull);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test index usage
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testIndexSkiplistMultiple : function () {
|
||||
c.truncate();
|
||||
for (var i = 0; i < 10; ++i) {
|
||||
c.insert({ value1: i, value2: i });
|
||||
}
|
||||
c.ensureIndex({ type: "skiplist", fields: [ "value1", "value2" ] });
|
||||
|
||||
var query = "FOR i IN " + c.name() + " FILTER (i.value2 > 1 && i.value2 < 9) && (i.value1 == 3) RETURN i.value1";
|
||||
|
||||
var plan = AQL_EXPLAIN(query).plan;
|
||||
var nodeTypes = plan.nodes.map(function(node) {
|
||||
if (node.type === "IndexNode") {
|
||||
assertEqual("skiplist", node.indexes[0].type);
|
||||
assertFalse(node.indexes[0].unique);
|
||||
}
|
||||
return node.type;
|
||||
});
|
||||
|
||||
assertNotEqual(-1, nodeTypes.indexOf("IndexNode"), query);
|
||||
assertEqual(-1, nodeTypes.indexOf("FilterNode"), query);
|
||||
|
||||
var results = AQL_EXECUTE(query);
|
||||
assertEqual([ 3 ], results.json.sort(), query);
|
||||
assertEqual(1, results.stats.scannedIndex);
|
||||
assertEqual(0, results.stats.scannedFull);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test index usage
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testIndexSkiplistMultiple2 : function () {
|
||||
c.truncate();
|
||||
for (var i = 0; i < 10; ++i) {
|
||||
c.insert({ value1: i, value2: i });
|
||||
}
|
||||
c.ensureIndex({ type: "skiplist", fields: [ "value1", "value2" ] });
|
||||
|
||||
var query = "FOR i IN " + c.name() + " FILTER (i.value2 > 1 && i.value2 < 9) && (i.value1 == 2 || i.value1 == 3) RETURN i.value1";
|
||||
|
||||
var plan = AQL_EXPLAIN(query).plan;
|
||||
var nodeTypes = plan.nodes.map(function(node) {
|
||||
if (node.type === "IndexNode") {
|
||||
assertEqual("skiplist", node.indexes[0].type);
|
||||
assertFalse(node.indexes[0].unique);
|
||||
}
|
||||
return node.type;
|
||||
});
|
||||
|
||||
assertNotEqual(-1, nodeTypes.indexOf("IndexNode"), query);
|
||||
|
||||
var results = AQL_EXECUTE(query);
|
||||
assertEqual([ 2, 3 ], results.json.sort(), query);
|
||||
assertEqual(2, results.stats.scannedIndex);
|
||||
assertEqual(0, results.stats.scannedFull);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test index usage
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -291,7 +291,9 @@ void LogAppenderFile::reopenLog() {
|
|||
|
||||
int old = std::atomic_exchange(&_fd, fd);
|
||||
|
||||
TRI_CLOSE(old);
|
||||
if (old > STDERR_FILENO) {
|
||||
TRI_CLOSE(old);
|
||||
}
|
||||
}
|
||||
|
||||
void LogAppenderFile::closeLog() {
|
||||
|
|
|
@ -171,7 +171,8 @@ void Thread::beginShutdown() {
|
|||
|
||||
ThreadState state = _state.load();
|
||||
|
||||
while (state != ThreadState::STOPPING && state != ThreadState::STOPPED) {
|
||||
while (state != ThreadState::STOPPING && state != ThreadState::STOPPED &&
|
||||
state != ThreadState::DETACHED) {
|
||||
_state.compare_exchange_strong(state, ThreadState::STOPPING);
|
||||
}
|
||||
}
|
||||
|
@ -202,7 +203,7 @@ void Thread::shutdown() {
|
|||
}
|
||||
}
|
||||
|
||||
size_t n = 10 * 60 * 5; // * 100ms = 1s * 60 * 5
|
||||
size_t n = 10 * 60 * 5; // * 100ms = 1s * 60 * 5
|
||||
|
||||
for (size_t i = 0; i < n; ++i) {
|
||||
if (_state.load() == ThreadState::STOPPED) {
|
||||
|
|
|
@ -118,7 +118,7 @@ WorkMonitor::WorkMonitor() : Thread("WorkMonitor") {}
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void WorkMonitor::freeWorkDescription(WorkDescription* desc) {
|
||||
if (WORK_MONITOR_STOPPED) {
|
||||
if (WORK_MONITOR_STOPPED.load()) {
|
||||
deleteWorkDescription(desc, true);
|
||||
} else {
|
||||
FREEABLE_WORK_DESCRIPTION.push(desc);
|
||||
|
@ -130,6 +130,10 @@ void WorkMonitor::freeWorkDescription(WorkDescription* desc) {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void WorkMonitor::pushThread(Thread* thread) {
|
||||
if (WORK_MONITOR_STOPPED.load()) {
|
||||
return;
|
||||
}
|
||||
|
||||
TRI_ASSERT(thread != nullptr);
|
||||
TRI_ASSERT(Thread::CURRENT_THREAD == nullptr);
|
||||
Thread::CURRENT_THREAD = thread;
|
||||
|
@ -154,6 +158,10 @@ void WorkMonitor::pushThread(Thread* thread) {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void WorkMonitor::popThread(Thread* thread) {
|
||||
if (WORK_MONITOR_STOPPED.load()) {
|
||||
return;
|
||||
}
|
||||
|
||||
TRI_ASSERT(thread != nullptr);
|
||||
WorkDescription* desc = deactivateWorkDescription();
|
||||
|
||||
|
@ -399,7 +407,7 @@ void WorkMonitor::run() {
|
|||
|
||||
// indicate that we stopped the work monitor, freeWorkDescription
|
||||
// should directly delete old entries
|
||||
WORK_MONITOR_STOPPED = true;
|
||||
WORK_MONITOR_STOPPED.store(true);
|
||||
|
||||
// cleanup old entries
|
||||
WorkDescription* desc;
|
||||
|
|
|
@ -41,6 +41,41 @@ if (USE_MAINTAINER_MODE)
|
|||
)
|
||||
endif ()
|
||||
|
||||
# note that we check-in the generated FLEX/BISON files, therefore they are
|
||||
# generate inside the source tree
|
||||
|
||||
if (USE_MAINTAINER_MODE)
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lib/JsonParser/json-parser.cpp
|
||||
WORKING_DIRECTORY
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMAND
|
||||
${CMAKE_SOURCE_DIR}/utils/flex-c++.sh
|
||||
${FLEX_EXECUTABLE}
|
||||
lib/JsonParser/json-parser.ll
|
||||
lib/JsonParser/json-parser.cpp
|
||||
MAIN_DEPENDENCY
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lib/JsonParser/json-parser.ll
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lib/JsonParser.cpp
|
||||
WORKING_DIRECTORY
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMAND
|
||||
${CMAKE_SOURCE_DIR}/utils/flex-c++.sh
|
||||
${FLEX_EXECUTABLE}
|
||||
V8/v8-json.ll
|
||||
V8/v8-json.cpp
|
||||
MAIN_DEPENDENCY
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/V8/v8-json.ll
|
||||
VERBATIM
|
||||
)
|
||||
endif ()
|
||||
|
||||
################################################################################
|
||||
## LIB_ARANGO
|
||||
################################################################################
|
||||
|
|
|
@ -33,7 +33,7 @@ rm -rf cluster
|
|||
mkdir cluster
|
||||
cd cluster
|
||||
echo Starting agency...
|
||||
../build/bin/etcd-arango --data-dir cluster/agency > /dev/null 2>&1 &
|
||||
../build/bin/etcd-arango --data-dir agency > agency.log 2>&1 &
|
||||
cd ..
|
||||
sleep 1
|
||||
|
||||
|
@ -156,6 +156,9 @@ testServer() {
|
|||
done
|
||||
}
|
||||
|
||||
for p in `seq 8629 $PORTTOPDB` ; do
|
||||
testServer $p
|
||||
done
|
||||
for p in `seq 8530 $PORTTOPCO` ; do
|
||||
testServer $p
|
||||
done
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/bash
|
||||
|
||||
IN="$1"
|
||||
OUT="$2"
|
||||
VERSION="$3"
|
||||
|
||||
section=`echo $IN | sed -e 's:.*\([0-9]\):\1:'`
|
||||
command=`echo $IN | sed -e 's:.*/\([^\.]*\).[0-9]:\1:'`
|
||||
|
||||
sed \
|
||||
-f `dirname $0`/../Documentation/Scripts/man.sed \
|
||||
-e "s/<SECTION>/$section/g" \
|
||||
-e "s/<COMMAND>/$command/g" \
|
||||
-e "s/<DATE>/`date "+%d %b %Y"`/g" \
|
||||
-e "s/<VERSION>/$VERSION/g" \
|
||||
< $IN > $OUT
|
||||
|
Loading…
Reference in New Issue