1
0
Fork 0

Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel

This commit is contained in:
Jan Steemann 2012-12-18 14:56:37 +01:00
commit 229b902a12
56 changed files with 1587 additions and 610 deletions

1
.gitignore vendored
View File

@ -72,4 +72,3 @@ lib/V8/v8-json.cpp
Installation/arangod.conf Installation/arangod.conf
Installation/epm/arangodb.sublist Installation/epm/arangodb.sublist
nbproject/ nbproject/

View File

@ -123,9 +123,12 @@ v1.2.alpha (XXXX-XX-XX)
figure out these edges' roles. Additionally, bidirectional edges return the figure out these edges' roles. Additionally, bidirectional edges return the
`_bidirectional` attribute with a value of `true`. `_bidirectional` attribute with a value of `true`.
v1.1.1 (xxxx-xx-xx)
v1.1.1 (2012-12-18)
------------------- -------------------
* fixed issue #321: Problem upgrading arangodb 1.0.4 to 1.1.0 with Homebrew (OSX 10.8.2)
* fixed issue #230: add navigation and search for online documentation * fixed issue #230: add navigation and search for online documentation
* fixed issue #315: Strange result in PATH * fixed issue #315: Strange result in PATH
@ -139,14 +142,28 @@ v1.1.1 (xxxx-xx-xx)
v1.1.0 (2012-12-05) v1.1.0 (2012-12-05)
------------------- -------------------
* WARNING:
arangod now performs a database version check at startup. It will look for a file
named "VERSION" in its database directory. If the file is not present, arangod will
perform an automatic upgrade of the database directory. This should be the normal
case when upgrading from ArangoDB 1.0 to ArangoDB 1.1.
If the VERSION file is present but is from an older version of ArangoDB, arangod
will refuse to start and ask the user to run a manual upgrade first. A manual upgrade
can be performed by starting arangod with the option `--upgrade`.
This upgrade procedure shall ensure that users have full control over when they
perform any updates/upgrades of their data, and can plan backups accordingly. The
procedure also guarantees that the server is not run without any required system
collections or with in incompatible data state.
* added AQL function DOCUMENT() to retrieve a document by its _id value * added AQL function DOCUMENT() to retrieve a document by its _id value
* fixed issue #311: fixed segfault on unload * fixed issue #311: fixed segfault on unload
* fixed issue #309: renamed stub "import" button from web interface * fixed issue #309: renamed stub "import" button from web interface
* fixed issue #307: show waitForSync in collections overview in web interface, * fixed issue #307: added WaitForSync column in collections list in in web interface
make waitForSync and journalSize editable in web interface
* fixed issue #306: naming in web interface * fixed issue #306: naming in web interface
@ -161,6 +178,8 @@ v1.1.0 (2012-12-05)
* fixed issue #296: system collections not usable from AQL * fixed issue #296: system collections not usable from AQL
* fixed issue #295: deadlock on shutdown
* added collection type label to web interface * added collection type label to web interface
* fixed issue #290: the web interface now disallows creating non-edges in edge collections * fixed issue #290: the web interface now disallows creating non-edges in edge collections
@ -188,21 +207,6 @@ v1.1.0 (2012-12-05)
* added UPGRADING help text * added UPGRADING help text
* WARNING:
arangod now performs a database version check at startup. It will look for a file
named "VERSION" in its database directory. If the file is not present, arangod will
perform an automatic upgrade of the database directory. This should be the normal
case when upgrading from ArangoDB 1.0 to ArangoDB 1.1.
If the VERSION file is present but is from an older version of ArangoDB, arangod
will refuse to start and ask the user to run a manual upgrade first. A manual upgrade
can be performed by starting arangod with the option `--upgrade`.
This upgrade procedure shall ensure that users have full control over when they
perform any updates/upgrades of their data, and can plan backups accordingly. The
procedure also guarantees that the server is not run without any required system
collections or with in incompatible data state.
* fixed issue #284: fixed Javascript errors when adding edges/vertices without own * fixed issue #284: fixed Javascript errors when adding edges/vertices without own
attributes attributes
@ -218,6 +222,7 @@ v1.1.0 (2012-12-05)
the REST edge create method. edges with invalid collection ids or names in the the REST edge create method. edges with invalid collection ids or names in the
"from" or "to" values will be rejected and not saved "from" or "to" values will be rejected and not saved
v1.1.beta2 (2012-11-13) v1.1.beta2 (2012-11-13)
----------------------- -----------------------
@ -422,10 +427,11 @@ v1.1.beta1 (2012-10-24)
as before. The Javascript API in the shell also offers a new update() method in extension to as before. The Javascript API in the shell also offers a new update() method in extension to
the previously existing replace() method. the previously existing replace() method.
v1.0.4 (2012-11-12) v1.0.4 (2012-11-12)
------------------- -------------------
* strange error message in arangosh 1.0.3 at startup * issue #275: strange error message in arangosh 1.0.3 at startup
v1.0.3 (2012-11-08) v1.0.3 (2012-11-08)
@ -455,6 +461,7 @@ v1.0.2 (2012-10-22)
* added AQL function TO_LIST * added AQL function TO_LIST
v1.0.1 (2012-09-30) v1.0.1 (2012-09-30)
------------------- -------------------

View File

@ -0,0 +1,16 @@
BitArray Indexes {#IndexBitArray}
=================================
@EMBEDTOC{IndexBitArrayTOC}
Introduction to Bit-Array Indexes {#IndexBitArrayIntro}
=======================================================
It is possible to define a bit-array index on one or more attributes (or paths)
of a documents.
Accessing BitArray Indexes from the Shell {#IndexBitArrayShell}
---------------------------------------------------------------
@anchor IndexBitArrayShellEnsureBitarray
@copydetails JS_EnsureBitarrayVocbaseCol

View File

@ -0,0 +1,7 @@
TOC {#IndexBitArrayTOC}
=======================
- @ref IndexBitArray
- @ref IndexBitArrayIntro
- @ref IndexBitArrayShell
- @ref IndexBitArrayShellEnsureBitarray "collection.ensureBitarray"

View File

@ -0,0 +1,12 @@
ArangoDB's Installation Manual (@VERSION) {#InstallManual}
==========================================================
@NAVIGATE_InstallManual
@if LATEX
- @ref Installing
- @ref Compiling
@else
@CHAPTER_REF{Installing}
@CHAPTER_REF{Compiling}
@endif

View File

@ -0,0 +1,102 @@
Installing ArangoDB {#Installing}
=================================
@NAVIGATE_Installing
@EMBEDTOC{InstallingTOC}
Linux {#InstallingLinux}
========================
You can find binary packages for various Linux distributions here:
@EXTREF{http://www.arangodb.org/download/,http://www.arangodb.org/download/}
We provide packages for
- Centos
- Debian
- Fedora
- Mandriva
- OpenSUSE
- RedHat RHEL
- SUSE SLE
- Ubuntu
Using a Package Manager to install ArangoDB {#InstallingLinuxPackageManager}
----------------------------------------------------------------------------
Follow the instructions on the download page to use your favorite package manager
for the major distributions. After setting up the ArangoDB repository you can then
easily install ArangoDB using yum, aptitude, urpmi, or zypper.
### Gentoo
Please use the
@EXTREF_S{https://github.com/mgiken/portage-overlay/tree/master/dev-db/ArangoDB,portage}
provided by @@mgiken.
### Linux-Mint {#InstallingDebian}
Download and import GPG-PublicKey
wget -O RPM-GPG-KEY-www.arangodb.org http://www.arangodb.org/repositories/PublicKey
apt-key add RPM-GPG-KEY-www.arangodb.org
Add the corresponding repository in file `/etc/apt/sources.list`:
deb http://www.arangodb.org/repositories LinuxMint-13 main
Update the repository data:
aptitude update
Now you should be able to search for arangodb:
aptitude search arangodb
In order to install arangodb:
aptitude install arangodb
Using Vagrant and Chef
----------------------
A Chef recipe is available from jbianquetti at
https://github.com/jbianquetti/chef-arangodb
Mac OS X {#InstallingMacOSX}
============================
You can find the Mac OS X packages here:
http://www.arangodb.org/repositories/MacOSX
Homebrew {#InstallingMacOSXHomebrew}
------------------------------------
If you are using @EXTREF{http://mxcl.github.com/homebrew/,homebrew},
then you can install the ArangoDB using `brew` as follows:
brew install arangodb
This will install the current stable version of ArangoDB and all
dependencies within your Homebrew tree. Note that the server will be
installed as
/usr/local/sbin/arangod
The ArangoDB shell will be install as
/usr/local/bin/arangosh
If you want to install the latest version use:
brew install --HEAD arangodb
Apples App Store {#InstallingMacOSXAppStore}
--------------------------------------------
ArangoDB is available in Apple's App-Store. Please note, that it
sometimes take a few days or weeks until the latest versions will be
available.

View File

@ -0,0 +1,10 @@
TOC {#InstallingTOC}
====================
- @ref Installing
- @ref InstallingLinux
- @ref InstallingLinuxPackageManager
- @ref InstallingDebian
- @ref InstallingMacOSX
- @ref InstallingMacOSXHomebrew
- @ref InstallingMacOSXAppStore

View File

@ -4,6 +4,15 @@
## --SECTION-- DOCUMENTATION ## --SECTION-- DOCUMENTATION
## ----------------------------------------------------------------------------- ## -----------------------------------------------------------------------------
################################################################################
### @brief TOC files
################################################################################
DOXYGEN_TOC = \
Documentation/InstallationManual/InstallationManual.md \
Documentation/Manual/Home.md \
Documentation/UserManual/UserManual.md
################################################################################ ################################################################################
### @brief JavaScript files ### @brief JavaScript files
################################################################################ ################################################################################
@ -63,6 +72,7 @@ WIKI = \
ImplementorManual \ ImplementorManual \
ImpManual \ ImpManual \
ImpManualBasics \ ImpManualBasics \
IndexBitArray \
IndexCap \ IndexCap \
IndexCapHttp \ IndexCapHttp \
IndexGeo \ IndexGeo \
@ -142,17 +152,30 @@ Doxygen/js/server/modules/%.c: @srcdir@/js/server/modules/%.js Doxygen/.setup-di
Doxygen/xml/%.md: Doxygen/xml/%.xml Doxygen/xml/%.md: Doxygen/xml/%.xml
@python @top_srcdir@/Doxygen/Scripts/xml2md.py $< > $@ @python @top_srcdir@/Doxygen/Scripts/xml2md.py $< > $@
################################################################################
### @brief doxygen toc
################################################################################
.PHONY: doxygen-toc
doxygen-toc:
python @top_srcdir@/Documentation/Scripts/generateTOC.py $(DOXYGEN_TOC) >> Doxygen/toc.doxy.tmp
cmp -s Doxygen/toc.doxy Doxygen/toc.doxy.tmp || mv Doxygen/toc.doxy.tmp Doxygen/toc.doxy
Doxygen/toc.doxy: doxygen-toc
################################################################################ ################################################################################
### @brief doxygen ### @brief doxygen
################################################################################ ################################################################################
.PHONY: doxygen .PHONY: doxygen
Doxygen/arango-html.doxy: Documentation/arango.template Doxygen/arango-html.doxy: Documentation/arango.template Doxygen/toc.doxy
sed -e 's:GENERATE_HTML *= *NO:GENERATE_HTML = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = HTML:' < $< > $@ sed -e 's:GENERATE_HTML *= *NO:GENERATE_HTML = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = HTML:' < $< > $@
$(MAKE) lib/BasicsC/voc-errors.h cat Doxygen/toc.doxy >> $@
doxygen: Doxygen/.setup-directories Doxygen/arango-html.doxy $(DOXYGEN) doxygen: Doxygen/.setup-directories Doxygen/arango-html.doxy $(DOXYGEN)
$(MAKE) lib/BasicsC/voc-errors.h
doxygen Doxygen/arango-html.doxy > /dev/null doxygen Doxygen/arango-html.doxy > /dev/null
@for w in $(WIKI); do @top_srcdir@/Documentation/Scripts/html2html.sh --keep-title Doxygen/html/$$w.html Doxygen/website/$$w.html; done @for w in $(WIKI); do @top_srcdir@/Documentation/Scripts/html2html.sh --keep-title Doxygen/html/$$w.html Doxygen/website/$$w.html; done
@ -167,18 +190,19 @@ doxygen: Doxygen/.setup-directories Doxygen/arango-html.doxy $(DOXYGEN)
### @brief wiki ### @brief wiki
################################################################################ ################################################################################
.PHONY: wiki wiki2 .PHONY: wiki wiki-raw
Doxygen/arango-xml.doxy: Documentation/arango.template Doxygen/arango-xml.doxy: Documentation/arango.template Doxygen/toc.doxy
sed -e 's:GENERATE_XML *= *NO:GENERATE_XML = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = XML:' < $< > $@ sed -e 's:GENERATE_XML *= *NO:GENERATE_XML = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = XML:' < $< > $@
$(MAKE) lib/BasicsC/voc-errors.h cat Doxygen/toc.doxy >> $@
wiki: wiki2 wiki: wiki-raw
@test -d Doxygen/wiki || mkdir Doxygen/wiki @test -d Doxygen/wiki || mkdir Doxygen/wiki
@for w in $(WIKI); do python @top_srcdir@/Documentation/Scripts/xml2md.py Doxygen/xml/$$w.xml > Doxygen/xml/$$w.md; done @for w in $(WIKI); do python @top_srcdir@/Documentation/Scripts/xml2md.py Doxygen/xml/$$w.xml > Doxygen/xml/$$w.md; done
@for w in $(WIKI); do @top_srcdir@/Documentation/Scripts/fixmd.sh Doxygen/xml/$$w.md; done @for w in $(WIKI); do @top_srcdir@/Documentation/Scripts/fixmd.sh Doxygen/xml/$$w.md; done
wiki2: Doxygen/arango-xml.doxy $(DOXYGEN) wiki-raw: Doxygen/arango-xml.doxy $(DOXYGEN)
$(MAKE) lib/BasicsC/voc-errors.h
doxygen Doxygen/arango-xml.doxy > /dev/null doxygen Doxygen/arango-xml.doxy > /dev/null
################################################################################ ################################################################################
@ -187,11 +211,12 @@ wiki2: Doxygen/arango-xml.doxy $(DOXYGEN)
.PHONY: latex .PHONY: latex
Doxygen/arango-latex.doxy: Documentation/arango.template Doxygen/arango-latex.doxy: Documentation/arango.template Doxygen/toc.doxy
sed -e 's:GENERATE_LATEX *= *NO:GENERATE_LATEX = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = LATEX:' < $< > $@ sed -e 's:GENERATE_LATEX *= *NO:GENERATE_LATEX = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = LATEX:' < $< > $@
$(MAKE) lib/BasicsC/voc-errors.h cat Doxygen/toc.doxy >> $@
latex: Doxygen/.setup-directories Doxygen/arango-latex.doxy $(DOXYGEN) latex: Doxygen/.setup-directories Doxygen/arango-latex.doxy $(DOXYGEN)
$(MAKE) lib/BasicsC/voc-errors.h
doxygen Doxygen/arango-latex.doxy > /dev/null doxygen Doxygen/arango-latex.doxy > /dev/null
echo "\def\arangodbversion{@PACKAGE_VERSION@}" > Doxygen/latex/version.tex echo "\def\arangodbversion{@PACKAGE_VERSION@}" > Doxygen/latex/version.tex

View File

@ -23,26 +23,22 @@ The HTML and PDF versions of the manual can be found
Please contact @EXTREF_S{http://www.arangodb.org/connect,us} if you Please contact @EXTREF_S{http://www.arangodb.org/connect,us} if you
have any questions. have any questions.
New Features in ArangoDB 1.1
============================
- @ref NewFeatures11
Upgrading to ArangoDB 1.1 {#ArangoDBUpgrading} Upgrading to ArangoDB 1.1 {#ArangoDBUpgrading}
============================================== ==============================================
- @ref Upgrading - @BOOK_REF{NewFeatures11}
- @BOOK_REF{Upgrading}
ArangoDB's User Manuals {#ArangoDBUserManual} ArangoDB's User Manuals {#ArangoDBUserManual}
============================================= =============================================
- @ref UserManual @ifnot XML @EXTREF{user-manual.pdf,pdf} @endif - @BOOK_REF{UserManual} @ifnot XML @EXTREF{user-manual.pdf,pdf} @endif
- @ref DbaManual @ifnot XML @EXTREF{dba-manual.pdf,pdf} @endif - @BOOK_REF{DbaManual} @ifnot XML @EXTREF{dba-manual.pdf,pdf} @endif
- @ref ImpManual @ifnot XML @EXTREF{imp-manual.pdf,pdf} @endif - @BOOK_REF{ImpManual} @ifnot XML @EXTREF{imp-manual.pdf,pdf} @endif
- @ref Glossary - @BOOK_REF{Glossary}
@ifnot XML @ifnot XML
- @EXTREF{arangodb_1.0_shell_reference_card.pdf,Cheat Sheet} - @EXTREF{arangodb_1.0_shell_reference_card.pdf,Cheat Sheet}
@ -51,14 +47,14 @@ ArangoDB's User Manuals {#ArangoDBUserManual}
ArangoDB's Administrator Manuals {#ArangoDBAdminManual} ArangoDB's Administrator Manuals {#ArangoDBAdminManual}
======================================================= =======================================================
- @ref InstallManual @ifnot XML @EXTREF{install-manual.pdf,pdf} @endif - @BOOK_REF{InstallManual} @ifnot XML @EXTREF{install-manual.pdf,pdf} @endif
ArangoDB's Developer Manuals {#ArangoDBAPIManual} ArangoDB's Developer Manuals {#ArangoDBAPIManual}
================================================= =================================================
- @ref ImplementorManual @ifnot XML @EXTREF{implementor-manual.pdf,pdf} @endif - @BOOK_REF{ImplementorManual} @ifnot XML @EXTREF{implementor-manual.pdf,pdf} @endif
- @ref RefManual @ifnot XML @EXTREF{ref-manual.pdf,pdf} @endif - @BOOK_REF{RefManual} @ifnot XML @EXTREF{ref-manual.pdf,pdf} @endif
API aka Drivers {#HomeApi} API aka Drivers {#HomeApi}
========================== ==========================

View File

@ -1,7 +1,7 @@
New Features in ArangoDB 1.1 {#NewFeatures11} New Features in ArangoDB 1.1 {#NewFeatures11}
============================================= =============================================
@NAVIGATE_FIRST{Home,Upgrading} @NAVIGATE_NewFeatures11
@EMBEDTOC{NewFeatures11TOC} @EMBEDTOC{NewFeatures11TOC}
Features and Improvements {#NewFeatures11Introduction} Features and Improvements {#NewFeatures11Introduction}
@ -401,3 +401,13 @@ _arangoimp_ also supports importing input files in TSV format. TSV is
a simple separated format such as CSV, but with the tab character as a simple separated format such as CSV, but with the tab character as
the separator, no quoting for values and thus no support for line the separator, no quoting for values and thus no support for line
breaks inside the values. breaks inside the values.
### libicu
ArangoDb uses ICU - International Components for Unicode (icu-project.org)
for string sorting and string normalization.
ArangoDB 1.1 adds the option `--default-language` to select a locale for
sorting and comparing strings. The default locale is set to be the system
locale on that platform.

View File

@ -1,7 +1,11 @@
Upgrading to ArangoDB 1.1 {#Upgrading} Upgrading to ArangoDB 1.1 {#Upgrading}
====================================== ======================================
@NAVIGATE{NewFeatures11,Home,UserManual} @NAVIGATE_Upgrading
@EMBEDTOC{UpgradingTOC}
Upgrading {#UpgradingIntroduction}
==================================
ArangoDB 1.1 introduces new features but may in some respect have ArangoDB 1.1 introduces new features but may in some respect have
slightly different behavior than 1.0. slightly different behavior than 1.0.
@ -14,17 +18,18 @@ downwards-compatible to ArangoDB 1.0.
Existing users of ArangoDB 1.0 should read the list carefully and make Existing users of ArangoDB 1.0 should read the list carefully and make
sure they have undertaken all necessary steps and precautions before sure they have undertaken all necessary steps and precautions before
upgrading from ArangoDB 1.0 to ArangoDB 1.1. upgrading from ArangoDB 1.0 to ArangoDB 1.1. Also check
@ref UpgradingTroubleshooting.
New dependencies New Dependencies {#UpgradingNewDependencies}
---------------- --------------------------------------------
As ArangoDB 1.1 supports SSL connections, ArangoDB can only be built As ArangoDB 1.1 supports SSL connections, ArangoDB can only be built
on servers with the OpenSSL library installed. The OpenSSL is not on servers with the OpenSSL library installed. The OpenSSL is not
bundled with ArangoDB and must be installed separately. bundled with ArangoDB and must be installed separately.
Database directory version check and upgrade Database Directory Version Check and Upgrade {#UpgradingVersionCheck}
-------------------------------------------- ---------------------------------------------------------------------
Starting with ArangoDB 1.1, _arangod_ will perform a database version Starting with ArangoDB 1.1, _arangod_ will perform a database version
check at startup. check at startup.
@ -68,8 +73,8 @@ that it cannot fix, it will halt on the first error and warn the user.
Re-starting arangod with the `--upgrade` option will execute only the Re-starting arangod with the `--upgrade` option will execute only the
previously failed and not yet executed tasks. previously failed and not yet executed tasks.
Server startup options changes Server Startup Options Changes {#UpgradingServerOptions}
------------------------------ --------------------------------------------------------
### Port options and endpoints ### Port options and endpoints
@ -96,11 +101,11 @@ _arangod_ will refuse to start.
The server can be bound to one or multiple endpoints at once. The The server can be bound to one or multiple endpoints at once. The
following endpoint specification sytnax is currently supported: following endpoint specification sytnax is currently supported:
- `tcp://host:port (HTTP over IPv4)` - `tcp://host:port` (HTTP over IPv4)
- `tcp://[host]:port (HTTP over IPv6)` - `tcp://[host]:port` (HTTP over IPv6)
- `ssl://host:port (HTTP over SSL-encrypted IPv4)` - `ssl://host:port` (HTTP over SSL-encrypted IPv4)
- `ssl://[host]:port (HTTP over SSL-encrypted IPv6)` - `ssl://[host]:port` (HTTP over SSL-encrypted IPv6)
- `unix://path/to/socket (HTTP over UNIX socket)` - `unix://path/to/socket` (HTTP over UNIX socket)
An example value for the option is `--server.endpoint An example value for the option is `--server.endpoint
tcp://127.0.0.1:8529`. This will make the server listen to requests tcp://127.0.0.1:8529`. This will make the server listen to requests
@ -160,17 +165,17 @@ requests from a browser, you should either set
`--server.keep-alive-timeout` to a value of `0`, or make your browser `--server.keep-alive-timeout` to a value of `0`, or make your browser
send `Connection: close` HTTP headers with its requests. send `Connection: close` HTTP headers with its requests.
Start / stop scripts Start / Stop Scripts {#UpgradingStartScripts}
-------------------- ---------------------------------------------
The user used in start and stop scripts has changed from _arango_ to The user used in start and stop scripts has changed from _arango_ to
_arangodb_. Furthermore, the start script name itself has changed from _arangodb_. Furthermore, the start script name itself has changed from
_arangod_ to _arangodb_. Additionally, the default database directory _arangod_ to _arangodb_. Additionally, the default database directory
name changed from _/var/arangodb_ to _/var/lib/arangodb_. This was name changed from _/var/arangodb_ to _/var/lib/arangodb_. This was
done to be more compliant with various Linux policies. necessary to be more compliant with various Linux policies.
Collection types Collection Types {#UpgradingCollectionTypes}
---------------- --------------------------------------------
In ArangoDB 1.1, collection types have been introduced: In ArangoDB 1.1, collection types have been introduced:
@ -223,8 +228,8 @@ the server, directly in ArangoDB. The `ArangoEdges` or
`ArangoEdgesCollection` objects were not exposed to _arangosh_ or any `ArangoEdgesCollection` objects were not exposed to _arangosh_ or any
other clients. other clients.
arangoimp / arangosh arangoimp / arangosh {#UpgradingShellImport}
-------------------- --------------------------------------------
The parameters `--connect-timeout` and `--request-timeout` for The parameters `--connect-timeout` and `--request-timeout` for
_arangosh_ and _arangoimp_ have been renamed to _arangosh_ and _arangoimp_ have been renamed to
@ -250,18 +255,89 @@ interactively prompt for a password. If no username is specified on
the command line, the default user _root_ will be used but there will the command line, the default user _root_ will be used but there will
still be a password prompt. still be a password prompt.
Change of syslog usage Change of Syslog Usage {#UpgradingSyslog}
---------------------- -----------------------------------------
In 1.0, arangod always logged its output to the syslog, regardless of In 1.0, arangod always logged its output to the syslog, regardless of
any other logging that was configured. In 1.1, this has changed. Log any other logging that was configured. In 1.1, this has changed. Log
messages will be sent to the syslog only if the server is started with messages will be sent to the syslog only if the server is started with
the `--log.syslog` option and a non-empty string (the log facility) the `--log.syslog` option and a non-empty string (the log facility) is
is given to it. given to it. This is in accordance with the 1.0 documentation.
Removed functionality Troubleshooting {#UpgradingTroubleshooting}
--------------------- ===========================================
If you cannot find a solution here, please ask the Google-Group at
http://groups.google.com/group/arangodb
Problem: ArangoDB does not start after upgrade
----------------------------------------------
- Check the logfile `/var/log/arangodb/arangod.log`
- Check the permissions of these directories:
- `/var/lib/arangodb/`
- `/var/run/arangodb/`
- `/var/log/arangodb/`
These directories and all files have to be readable and writable for the user
"arangodb" and group "arangodb" (not for MacOSX). Double check that the user
is "arangodb" not "arango".
Change the permissions using:
unix> chown -R arangodb:arangodb /var/lib/arangodb/ /var/run/arangodb/ /var/log/arangodb/
- Check the configuration file in:
/etc/arangodb/arangod.conf
Problem: Packet manager finds no upgrade
----------------------------------------
- Check the name of the repository here:
http://www.arangodb.org/download
Problem: Database is empty
--------------------------
Check that the database file
/var/lib/arangodb
contains your collections. If it is empty, check the old location
of the database at
/var/arangodb
If necessary, stop the server, copy the files using
cp /var/arangodb/* /var/lib/arangodb
and start the server agaib.
Removed Features {#UpgradingRemovedFeatures}
============================================
Removed Dependencies {#UpgradingRemovedDependencies}
----------------------------------------------------
ArangoDB no longer requires BOOST, ZeroMQ, or ProtocolBuffers.
Removed Functionality {#UpgradingRemovedFunctionality}
------------------------------------------------------
### Configuration
In 1.0, there were unfinished REST APIs available at the In 1.0, there were unfinished REST APIs available at the
`/_admin/config` URL suffix. These APIs were stubs only and have been `/_admin/config` URL suffix. These APIs were stubs only and have been
removed in ArangoDB 1.1. removed in ArangoDB 1.1.
### Front-End User and Session Management
In 1.0, there was an API to manage user and session for the GUI
administraion interface. In 1.1 the user management is part of the
database (not just the front-end). There the calls to
`_admin/user-manager` where removed.

View File

@ -0,0 +1,14 @@
TOC {#UpgradingTOC}
===================
- @ref UpgradingIntroduction
- @ref UpgradingNewDependencies
- @ref UpgradingVersionCheck
- @ref UpgradingServerOptions
- @ref UpgradingStartScripts
- @ref UpgradingCollectionTypes
- @ref UpgradingShellImport
- @ref UpgradingSyslog
- @ref UpgradingTroubleshooting
- @ref UpgradingRemovedFeatures
- @ref UpgradingRemovedDependencies

View File

@ -0,0 +1,117 @@
################################################################################
### @brief create a C stub from a Python file
###
### @file
###
### DISCLAIMER
###
### Copyright by triAGENS GmbH - All rights reserved.
###
### The Programs (which include both the software and documentation)
### contain proprietary information of triAGENS GmbH; they are
### provided under a license agreement containing restrictions on use and
### disclosure and are also protected by copyright, patent and other
### intellectual and industrial property laws. Reverse engineering,
### disassembly or decompilation of the Programs, except to the extent
### required to obtain interoperability with other independently created
### software or as specified by law, is prohibited.
###
### The Programs are not intended for use in any nuclear, aviation, mass
### transit, medical, or other inherently dangerous applications. It shall
### be the licensee's responsibility to take all appropriate fail-safe,
### backup, redundancy, and other measures to ensure the safe use of such
### applications if the Programs are used for such purposes, and triAGENS
### GmbH disclaims liability for any damages caused by such use of
### the Programs.
###
### This software is the confidential and proprietary information of
### triAGENS GmbH. You shall not disclose such confidential and
### proprietary information and shall use it only in accordance with the
### terms of the license agreement you entered into with triAGENS GmbH.
###
### Copyright holder is triAGENS GmbH, Cologne, Germany
###
### @author Dr. Frank Celler
### @author Copyright 2011, triagens GmbH, Cologne, Germany
################################################################################
import re, sys, string
argv = sys.argv
argv.pop(0)
DEBUG = False
################################################################################
### @brief parse file
################################################################################
r1 = re.compile(r'^- *@BOOK_REF{([^}]*)}')
r2 = re.compile(r'^@CHAPTER_REF{([^}]*)}')
r3 = re.compile(r'^.*{#([^}]*)}')
books = []
chapters = []
homes = {}
for filename in argv:
f = open(filename, "r")
num = 0
superentry = ""
for line in f:
line = line.rstrip('\n')
num = num + 1
# first entry is home
if num == 1:
m = r3.match(line)
if m:
superentry = m.group(1)
# books
m = r1.match(line)
if m:
entry = m.group(1)
books.append(entry)
homes[entry] = 'Home'
continue
# chapters
m = r2.match(line)
if m:
entry = m.group(1)
chapters.append(entry)
homes[entry] = superentry
continue
f.close()
def generate(l):
for i in range(0,len(l)):
entry = l[i]
prev = ""
next = ""
home = ""
if 0 < i:
prev = l[i - 1]
if i + 1 < len(l):
next = l[i + 1]
if entry in homes:
home = homes[entry]
if prev == "":
print 'ALIASES += "NAVIGATE_%s=@NAVIGATE_FIRST{%s,%s}"' % (entry,home,next)
elif next == "":
print 'ALIASES += "NAVIGATE_%s=@NAVIGATE_LAST{%s,%s}"' % (entry,prev,home)
else:
print 'ALIASES += "NAVIGATE_%s=@NAVIGATE{%s,%s,%s}"' % (entry,prev,home,next)
generate(books)
generate(chapters)

View File

@ -189,6 +189,9 @@ replDict["e_highlight"] = ""
replDict["s_sp"] = " " replDict["s_sp"] = " "
replDict["e_sp"] = "" replDict["e_sp"] = ""
replDict["s_ndash"] = "--"
replDict["e_ndash"] = ""
################################################################################ ################################################################################
#### @brief generate code for text value #### @brief generate code for text value
################################################################################ ################################################################################
@ -260,6 +263,7 @@ gencDict["codeline"] = True
gencDict["highlight"] = True gencDict["highlight"] = True
gencDict["sp"] = False gencDict["sp"] = False
gencDict["ndash"] = False
################################################################################ ################################################################################
#### @brief table entry #### @brief table entry
@ -344,7 +348,12 @@ def start_element(name, attrs):
elif name == "itemizedlist": listlevel = listlevel + 1 elif name == "itemizedlist": listlevel = listlevel + 1
elif name == "orderedlist": listlevel = listlevel + 1 elif name == "orderedlist": listlevel = listlevel + 1
#endif #endif
if name == "heading":
titlevel = int(attrs["level"])
name = "title"
#endif
text = "" text = ""
if name == "title": if name == "title":
@ -407,6 +416,11 @@ def end_element(name):
elif name == "orderedlist": listlevel = listlevel - 1 elif name == "orderedlist": listlevel = listlevel - 1
#endif #endif
if name == "heading":
titlevel = titlevel - 1
name = "title"
#endif
if name == "title": if name == "title":
titafter = True titafter = True
text = replDict["e_%s_%d" % (name, titlevel)] text = replDict["e_%s_%d" % (name, titlevel)]

View File

@ -1,7 +1,7 @@
First Steps with ArangoDB {#FirstStepsArangoDB} First Steps with ArangoDB {#FirstStepsArangoDB}
=============================================== ===============================================
@NAVIGATE_FIRST{UserManual,UserManualArangosh} @NAVIGATE_FirstStepsArangoDB
@EMBEDTOC{FirstStepsArangoDBTOC} @EMBEDTOC{FirstStepsArangoDBTOC}
What is ArangoDB? {#FirstStepsArangoDBIntro} What is ArangoDB? {#FirstStepsArangoDBIntro}
@ -523,7 +523,7 @@ Command-Line Options {#FirstStepsShellStartStopOptions}
Use `--help` to get a list of command-line options: Use `--help` to get a list of command-line options:
> ./arangosh --help unix> ./arangosh --help
STANDARD options: STANDARD options:
--help help message --help help message
--javascript.modules-path <string> one or more directories separated by cola (default: "...") --javascript.modules-path <string> one or more directories separated by cola (default: "...")

View File

@ -0,0 +1,30 @@
ArangoDB's User Manual (@VERSION) {#UserManual}
===============================================
@NAVIGATE_UserManual
@if LATEX
- @ref FirstStepsArangoDB
- @ref UserManualArangosh
- @ref UserManualWebInterface
- @ref ShellCollection
- @ref ShellDocument
- @ref ShellEdge
- @ref SimpleQueries
- @ref Aql
- @ref UserManualActions
@latexonly\appendix@endlatexonly
- @ref CommandLine
- @ref Glossary
@else
@CHAPTER_REF{FirstStepsArangoDB}
@CHAPTER_REF{UserManualArangosh}
@CHAPTER_REF{UserManualWebInterface}
@CHAPTER_REF{ShellCollection}
@CHAPTER_REF{ShellDocument}
@CHAPTER_REF{ShellEdge}
@CHAPTER_REF{SimpleQueries}
@CHAPTER_REF{Aql}
@CHAPTER_REF{UserManualActions}
@CHAPTER_REF{CommandLine}
@endif

View File

@ -1,7 +1,7 @@
ArangoDB's Web-Interface {#UserManualWebInterface} ArangoDB's Web-Interface {#UserManualWebInterface}
================================================== ==================================================
@NAVIGATE{PREV,UserManual,NEXT} @NAVIGATE_UserManualWebInterface
@EMBEDTOC{UserManualWebInterfaceTOC} @EMBEDTOC{UserManualWebInterfaceTOC}
Accessing the Web-Interface {#UserManualWebInterfaceAccess} Accessing the Web-Interface {#UserManualWebInterfaceAccess}

View File

@ -196,7 +196,7 @@ TAB_SIZE = 8
# You can put \n's in the value part of an alias to insert newlines. # You can put \n's in the value part of an alias to insert newlines.
# function definition # function definition
ALIASES = \ ALIASES = \
"FUN{1}=@latexonly\functionsignature{@endlatexonly@htmlonly<div class=\"functionsignature\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \ "FUN{1}=@latexonly\functionsignature{@endlatexonly@htmlonly<div class=\"functionsignature\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \
"FUN{2}=@latexonly\functionsignature{@endlatexonly@htmlonly<div class=\"functionsignature\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1, \2@latexonly}@endlatexonly@htmlonly</div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \ "FUN{2}=@latexonly\functionsignature{@endlatexonly@htmlonly<div class=\"functionsignature\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1, \2@latexonly}@endlatexonly@htmlonly</div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \
"FUN{3}=@latexonly\functionsignature{@endlatexonly@htmlonly<div class=\"functionsignature\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1, \2, \3@latexonly}@endlatexonly@htmlonly</div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \ "FUN{3}=@latexonly\functionsignature{@endlatexonly@htmlonly<div class=\"functionsignature\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1, \2, \3@latexonly}@endlatexonly@htmlonly</div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \
@ -208,42 +208,47 @@ ALIASES = \
"FN{1}=@latexonly\functionname{@endlatexonly@htmlonly<span class=\"functionname\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</span>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" "FN{1}=@latexonly\functionname{@endlatexonly@htmlonly<span class=\"functionname\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</span>@endhtmlonly@xmlonly XMLMISSING @endxmlonly"
# command line option # command line option
ALIASES += \ ALIASES += \
"CMDOPT{1}=@latexonly\commandlineoption{@endlatexonly@htmlonly<div class=\"commandlineoption\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \ "CMDOPT{1}=@latexonly\commandlineoption{@endlatexonly@htmlonly<div class=\"commandlineoption\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \
"CA{1}=@latexonly\commandlineargument{@endlatexonly@htmlonly<span class=\"commandlineargument\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</span>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \ "CA{1}=@latexonly\commandlineargument{@endlatexonly@htmlonly<span class=\"commandlineargument\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</span>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \
"CO{1}=@latexonly\commandoption{@endlatexon\@htmlonly<span class=\"commandoption\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</span>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" "CO{1}=@latexonly\commandoption{@endlatexon\@htmlonly<span class=\"commandoption\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</span>@endhtmlonly@xmlonly XMLMISSING @endxmlonly"
# rest calls # rest calls
ALIASES += \ ALIASES += \
"RESTHEADER{2}=@latexonly\restheader{@endlatexonly@htmlonly<div class=\"restheader\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly,@endlatexonly@htmlonly<div class=\"restheaderremark\">(@endhtmlonly@xmlonly XMLMISSING @endxmlonly\2@latexonly}@endlatexonly@htmlonly)</div></div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \ "RESTHEADER{2}=@latexonly\restheader{@endlatexonly@htmlonly<div class=\"restheader\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly,@endlatexonly@htmlonly<div class=\"restheaderremark\">(@endhtmlonly@xmlonly XMLMISSING @endxmlonly\2@latexonly}@endlatexonly@htmlonly)</div></div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" \
"REST{1}=@latexonly\restcall{@endlatexonly@htmlonly<div class=\"restcall\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" "REST{1}=@latexonly\restcall{@endlatexonly@htmlonly<div class=\"restcall\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</div>@endhtmlonly@xmlonly XMLMISSING @endxmlonly"
# navigation # navigation
ALIASES += \ ALIASES += \
"NAVIGATE{3}=@htmlonly<div class=\"navigate\"><a href=\"\1.html\">prev</a> | <a href=\"\2.html\">home</a> | <a href=\"\3.html\">next</a></div>@endhtmlonly" \ "NAVIGATE{3}=@htmlonly<div class=\"navigate\"><a href=\"\1.html\">prev</a> | <a href=\"\2.html\">home</a> | <a href=\"\3.html\">next</a></div>@endhtmlonly" \
"NAVIGATE_FIRST{2}=@htmlonly<div class=\"navigate\">prev | <a href=\"\1.html\">home</a> | <a href=\"\2.html\">next</a></div>@endhtmlonly" \ "NAVIGATE_FIRST{2}=@htmlonly<div class=\"navigate\">prev | <a href=\"\1.html\">home</a> | <a href=\"\2.html\">next</a></div>@endhtmlonly" \
"NAVIGATE_LAST{2}=@htmlonly<div class=\"navigate\"><a href=\"\1.html\">prev</a> | <a href=\"\2.html\">home</a> | next</div>@endhtmlonly" \ "NAVIGATE_LAST{2}=@htmlonly<div class=\"navigate\"><a href=\"\1.html\">prev</a> | <a href=\"\2.html\">home</a> | next</div>@endhtmlonly" \
"EMBEDTOC{1}=@if LATEX@else@htmlonly <div class=\"toc\">@endhtmlonly@copydoc \1\n@htmlonly</div>@endhtmlonly@endif" "EMBEDTOC{1}=@if LATEX@else@htmlonly <div class=\"toc\">@endhtmlonly@copydoc \1\n@htmlonly</div>@endhtmlonly@endif"
# glossary # glossary
ALIASES += \ ALIASES += \
"GE{1}=@latexonly\glossaryentry{@endlatexonly@htmlonly<span class=\"glossaryentry\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</span>@endhtmlonly@xmlonly XMLMISSING @endxmlonly" "GE{1}=@latexonly\glossaryentry{@endlatexonly@htmlonly<span class=\"glossaryentry\">@endhtmlonly@xmlonly XMLMISSING @endxmlonly\1@latexonly}@endlatexonly@htmlonly</span>@endhtmlonly@xmlonly XMLMISSING @endxmlonly"
# examples # examples
ALIASES += \ ALIASES += \
"EXAMPLES=@htmlonly<div class=\"example\">Examples</div>@endhtmlonly" \ "EXAMPLES=@htmlonly<div class=\"example\">Examples</div>@endhtmlonly" \
"EXAMPLE{2}=@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}@endlatexonly" \ "EXAMPLE{2}=@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}@endlatexonly" \
"TINYEXAMPLE{2}=@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}\renewcommand{\examplesize}{\tiny}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}\renewcommand{\examplesize}{\ttfamily}@endlatexonly" "TINYEXAMPLE{2}=@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}\renewcommand{\examplesize}{\tiny}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}\renewcommand{\examplesize}{\ttfamily}@endlatexonly"
# references # references
ALIASES += \ ALIASES += \
"EXTREF{2}=@if LATEX \2 (see @latexonly \url{\1}@endlatexonly)@else<a href=\1>\2</a>@endif" \ "EXTREF{2}=@if LATEX \2 (see @latexonly \url{\1}@endlatexonly)@else<a href=\1>\2</a>@endif" \
"EXTREF_S{2}=@if LATEX \2 (see @latexonly \url{\1} @endlatexonly)@else<a href=\1>\2</a> @endif" \ "EXTREF_S{2}=@if LATEX \2 (see @latexonly \url{\1} @endlatexonly)@else<a href=\1>\2</a> @endif" \
"S_EXTREF{2}=@if LATEX \2 (see @latexonly \url{\1} @endlatexonly)@else <a href=\1>\2</a>@endif" \ "S_EXTREF{2}=@if LATEX \2 (see @latexonly \url{\1} @endlatexonly)@else <a href=\1>\2</a>@endif" \
"INTREF{2}=@if LATEX \2@else@ref \1 \"\2\"@endif" "INTREF{2}=@if LATEX \2@else@ref \1 \"\2\"@endif"
# table of content
ALIASES += \
"BOOK_REF{1}=@ref \1" \
"CHAPTER_REF{1}=@copydetails \1TOC"
# other aliases # other aliases
ALIASES += \ ALIASES += \
"VERSION=@PACKAGE_VERSION@" \ "VERSION=@PACKAGE_VERSION@" \
"LIT{1}=<tt>\1</tt>" \ "LIT{1}=<tt>\1</tt>" \
"LIT{2}=<tt>\1, \2</tt>" \ "LIT{2}=<tt>\1, \2</tt>" \
@ -715,9 +720,11 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories # directories like "/usr/src/myproject". Separate the files or directories
# with spaces. # with spaces.
INPUT = @srcdir@/Documentation/UserManual \ INPUT = @srcdir@/Documentation/DbaManual \
@srcdir@/Documentation/InstallationManual \
@srcdir@/Documentation/Manual \ @srcdir@/Documentation/Manual \
@srcdir@/Doxygen/js \ @srcdir@/Documentation/UserManual \
@srcdir@/Doxygen/js \
@srcdir@/arangod \ @srcdir@/arangod \
@srcdir@/lib @srcdir@/lib

View File

@ -89,23 +89,6 @@
margin-bottom: 0px; margin-bottom: 0px;
} }
/* ************************************************************************** */
/* pre */
/* ************************************************************************** */
#content div.arangodb pre {
background-color: #FBFCFD !important;
border: 1px solid #C4CFE5 !important;
font-family: monospace,fixed;
font-size: 105%;
font-size: 15px;
line-height: 21px;
margin: 4px 8px 24px 2px;
overflow: auto;
padding: 4px 6px;
word-wrap: break-word;
}
/* ************************************************************************** */ /* ************************************************************************** */
/* function signature */ /* function signature */
/* ************************************************************************** */ /* ************************************************************************** */
@ -154,9 +137,35 @@
} }
/* ************************************************************************** */ /* ************************************************************************** */
/* code */ /* pre & code */
/* ************************************************************************** */ /* ************************************************************************** */
#content div.arangodb pre {
background-color: #FBFCFD !important;
border: 1px solid #C4CFE5 !important;
font-family: monospace,fixed;
font-size: 105%;
font-size: 15px;
line-height: 21px;
margin: 4px 8px 24px 2px;
overflow: auto;
padding: 4px 6px;
word-wrap: break-word;
}
#content div.arangodb div.fragment {
background-color: #FBFCFD !important;
border: 1px solid #C4CFE5 !important;
font-family: monospace,fixed;
font-size: 105%;
font-size: 15px;
line-height: 21px;
margin: 4px 8px 24px 2px;
overflow: auto;
padding: 4px 6px;
word-wrap: break-word;
}
#content div.arangodb code { #content div.arangodb code {
background-color: #FFFFFF !important; background-color: #FFFFFF !important;
border: 0px !important; border: 0px !important;
@ -168,18 +177,6 @@
font-family: monospace,fixed; font-family: monospace,fixed;
} }
#content div.arangodb div.fragment {
background-color: #FFFFFF !important;
border: 1px solid #C4CFE5 !important;
margin: 0px 0px 0px 0px;
padding: 8px 8px;
overflow: auto;
line-height: 11px;
font-size: 15px;
font-family: monospace,fixed;
white-space: pre;
}
/* ************************************************************************** */ /* ************************************************************************** */
/* other */ /* other */
/* ************************************************************************** */ /* ************************************************************************** */

20
Installation/OBS/clean-repo.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/bash
rm -f 'download/robots.txt'
test -d stable || mkdir stable || exit 1
mv download/repositories/home:/fceller/* stable || exit 1
rm -rf 'download'
rm -rf 'stable/xUbuntu_10.04'
rm -rf 'stable/CentOS_CentOS-5'
rm -rf 'stable/RedHat_RHEL-5'
rm -rf 'stable/SLE_10_SDK'
find stable -name "index.html*" -exec 'rm' '{}' ';'
find stable -name "home:fceller.repo*" -exec 'rm' '{}' ';'
find stable -name "*.meta4" -exec 'rm' '{}' ';'
find stable -name "*.metalink" -exec 'rm' '{}' ';'
find stable -name "*.mirrorlist" -exec 'rm' '{}' ';'
find stable -name "repocache" -prune -exec 'rmdir' '{}' ';'

19
Installation/OBS/create-repo.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
DISTROS="CentOS_CentOS-6 Fedora_16 Fedora_17 openSUSE_11.4 openSUSE_12.1 openSUSE_12.2 openSUSE_Factory openSUSE_Tumbleweed RedHat_RHEL-6 SLE_11 SLE_11_SP1 SLE_11_SP2"
test -d stable || mkdir stable || exit 1
for distro in $DISTROS; do
tag=`echo $distro | sed -e 's/openSUSE_/openSUSE:/' | sed -e 's/SLE_11/SUSE:SLE_11/' | sed -e 's/SLE_11_/SLE_11:/'`
test -d stable/$distro || mkdir stable/$distro || exit 1
echo "[arangodb]
name=ArangoDB Project ($tag)
type=rpm-md
baseurl=http://www.arangodb.org/repositories/stable/$distro/
gpgcheck=1
gpgkey=http://www.arangodb.org/repositories/stable/$distro/repodata/repomd.xml.key
enabled=1" > stable/$distro/arangodb.repo
done

36
Installation/OBS/create-ymp.sh Executable file
View File

@ -0,0 +1,36 @@
#!/bin/bash
DISTROS="openSUSE_Tumbleweed openSUSE_Factory openSUSE_12.2 openSUSE_12.1 openSUSE_11.4 SLE_11_SP2 SLE_11_SP1 SLE_11"
test -d stable || mkdir stable || exit 1
test -d stable/ymp || mkdir stable/ymp || exit 1
for distro in $DISTROS; do
tag=`echo $distro | sed -e 's/openSUSE_/openSUSE:/' | sed -e 's/SLE_11/SUSE:SLE_11/' | sed -e 's/SLE_11_/SLE_11:/'`
test -d stable/ymp/$distro || mkdir stable/ymp/$distro || exit 1
echo "<metapackage xmlns:os=\"http://opensuse.org/Standards/One_Click_Install\" xmlns=\"http://opensuse.org/Standards/One_Click_Install\">
<group>
<repositories>
<repository recommended=\"true\">
<name>ArangoDB</name>
<summary>ArangoDB Project</summary>
<description>ArangoDB Repository for $tag</description>
<url>http://www.arangodb.org/repositories/stable/repositories/$distro/</url>
</repository>
</repositories>
<software>
<item>
<name>arangodb</name>
<summary>An open-source, multi-model NoSQL database</summary>
<description>ArangoDB is a durable, reliable, transactional multi-model database. It's key-features are: Schema-free schemata, an integrated application server, flexible data modelling, free index choice, and configurable durability.
The ArangoDB consists of a server, a separate shell, which allows you to administrate the server, and a set of client API for various languages.
It is written in C/C++.</description>
</item>
</software>
</group>
</metapackage>" > stable/ymp/$distro/arangodb.ymp
done

556
Installation/OBS/index.html Normal file
View File

@ -0,0 +1,556 @@
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="style.css" media="all">
<script src="effects.js" type="text/javascript"></script>
</head>
<body>
<div class="soo_box">
<p class="soo_line soo_line_visible">Select Your Operating System</p>
<div class="soo_flavour_line">
<div class="soo_button" id="soo_button_Source"><img src="/repositories/images/distributions/source.png"
alt="Source"/>
<p>Source</p></div>
<div class="soo_button" id="soo_button_MacOSX"><img src="/repositories/images/distributions/macosx.png"
alt="MacOSX"/>
<p>Mac OS X</p></div>
<div class="soo_button" id="soo_button_Windows"><img src="/repositories/images/distributions/win8.png"
alt="Windows"/>
<p>Windows</p></div>
<div class="soo_button" id="soo_button_CentOS"><img src="/repositories/images/distributions/centos.png"
alt="CentOS"/>
<p>CentOS</p></div>
<div class="soo_button" id="soo_button_Debian"><img src="/repositories/images/distributions/debian.png"
alt="Debian"/>
<p>Debian</p></div>
<div class="soo_button" id="soo_button_Fedora"><img src="/repositories/images/distributions/fedora.png"
alt="Fedora"/>
<p>Fedora</p></div>
<div class="soo_button" id="soo_button_Mandriva"><img src="/repositories/images/distributions/mandriva.png"
alt="Mandriva"/>
<p>Mandriva</p></div>
</div>
<div class="soo_flavour_line">
<div class="soo_button" id="soo_button_openSUSE"><img src="/repositories/images/distributions/opensuse.png"
alt="openSUSE"/>
<p>openSUSE</p></div>
<div class="soo_button" id="soo_button_RHEL"><img src="/repositories/images/distributions/redhat.png"
alt="RHEL"/>
<p>RHEL</p></div>
<div class="soo_button" id="soo_button_SLE"><img src="/repositories/images/distributions/suse.png" alt="SLE"/>
<p>SLE</p></div>
<div class="soo_button" id="soo_button_Ubuntu"><img src="/repositories/images/distributions/ubuntu.png"
alt="Ubuntu"/>
<p>Ubuntu</p></div>
<div class="soo_button" id="soo_button_Livecd"><img src="/repositories/images/distributions/cd.png"
alt="Livecd"/>
<p>Live CD</p></div>
</div>
</div>
<div style="clear: both"/>
<div id="soo_ymp" class="soo_box">
<p class="soo_line" id="soo_section_toggle_ymp">Install using One Click Install<span></span></p>
<div id="soo_section_ymp">
<a class="soo_ymplink soo_distro soo_distro_openSUSE soo_distro_openSUSE_Tumbleweed"
href="http://www.arangodb.org/repositories/stable/ymp/openSUSE_Tumbleweed/arangodb.ymp">openSUSE&nbsp;Tumbleweed</a>
<a class="soo_ymplink soo_distro soo_distro_openSUSE soo_distro_openSUSE_Factory"
href="http://www.arangodb.org/repositories/stable/ymp/openSUSE_Factory/arangodb.ymp">openSUSE&nbsp;Factory</a>
<a class="soo_ymplink soo_distro soo_distro_openSUSE soo_distro_openSUSE_12.2"
href="http://www.arangodb.org/repositories/stable/ymp/openSUSE_12.2/arangodb.ymp">openSUSE&nbsp;12.2</a>
<a class="soo_ymplink soo_distro soo_distro_openSUSE soo_distro_openSUSE_12.1"
href="http://www.arangodb.org/repositories/stable/ymp/openSUSE_12.1/arangodb.ymp">openSUSE&nbsp;12.1</a>
<a class="soo_ymplink soo_distro soo_distro_openSUSE soo_distro_openSUSE_11.4"
href="http://www.arangodb.org/repositories/stable/ymp/openSUSE_11.4/arangodb.ymp">openSUSE&nbsp;11.4</a>
<a class="soo_ymplink soo_distro soo_distro_SLE soo_distro_SLE_11_SP2"
href="http://www.arangodb.org/repositories/stable/ymp/SLE_11_SP2/arangodb.ymp">SLE&nbsp;11&nbsp;SP2</a>
<a class="soo_ymplink soo_distro soo_distro_SLE soo_distro_SLE_11_SP1"
href="http://www.arangodb.org/repositories/stable/ymp/SLE_11_SP1/arangodb.ymp">SLE&nbsp;11&nbsp;SP1</a>
<a class="soo_ymplink soo_distro soo_distro_SLE soo_distro_SLE_11"
href="http://www.arangodb.org/repositories/stable/ymp/SLE_11/arangodb.ymp">SLE&nbsp;11</a>
</div>
</div>
<div id="soo_repo" class="soo_box">
<p class="soo_line" id="soo_section_toggle_repo">Add repository and install manually<span></span></p>
<div id="soo_section_repo">
<div class="soo_repoinfo soo_distro soo_distro_Ubuntu soo_distro_xUbuntu_12.10">
<p>For <strong>Ubuntu&nbsp;12.10</strong> run the following as <strong>root</strong>:</p>
<pre>echo &#x27;deb http://www.arangodb.org/repositories/stable/xUbuntu_12.10/ /&#x27; &gt;&gt; /etc/apt/sources.list.d/arangodb.list
apt-get update
apt-get install arangodb</pre>
<p>You can add the repository key to apt like this: </p>
<pre>wget http://www.arangodb.org/repositories/stable/xUbuntu_12.10/Release.key
apt-key add - < Release.key </pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_Ubuntu soo_distro_xUbuntu_12.04">
<p>For <strong>Ubuntu&nbsp;12.04</strong> run the following as <strong>root</strong>:</p>
<pre>echo &#x27;deb http://www.arangodb.org/repositories/stable/xUbuntu_12.04/ /&#x27; &gt;&gt; /etc/apt/sources.list.d/arangodb.list
apt-get update
apt-get install arangodb</pre>
<p>You can add the repository key to apt like this: </p>
<pre>wget http://www.arangodb.org/repositories/stable/xUbuntu_12.04/Release.key
apt-key add - < Release.key </pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_Ubuntu soo_distro_xUbuntu_11.10">
<p>For <strong>Ubuntu&nbsp;11.10</strong> run the following as <strong>root</strong>:</p>
<pre>echo &#x27;deb http://www.arangodb.org/repositories/stable/xUbuntu_11.10/ /&#x27; &gt;&gt; /etc/apt/sources.list.d/arangodb.list
apt-get update
apt-get install arangodb</pre>
<p>You can add the repository key to apt like this: </p>
<pre>wget http://www.arangodb.org/repositories/stable/xUbuntu_11.10/Release.key
apt-key add - < Release.key </pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_Ubuntu soo_distro_xUbuntu_11.04">
<p>For <strong>Ubuntu&nbsp;11.04</strong> run the following as <strong>root</strong>:</p>
<pre>echo &#x27;deb http://www.arangodb.org/repositories/stable/xUbuntu_11.04/ /&#x27; &gt;&gt; /etc/apt/sources.list.d/arangodb.list
apt-get update
apt-get install arangodb</pre>
<p>You can add the repository key to apt like this: </p>
<pre>wget http://www.arangodb.org/repositories/stable/xUbuntu_11.04/Release.key
apt-key add - < Release.key </pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_openSUSE soo_distro_openSUSE_Tumbleweed">
<p>For <strong>openSUSE&nbsp;Tumbleweed</strong> run the following as <strong>root</strong>:</p>
<pre>zypper addrepo http://www.arangodb.org/repositories/stable/openSUSE_Tumbleweed/arangodb.repo
zypper refresh
zypper install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_openSUSE soo_distro_openSUSE_Factory">
<p>For <strong>openSUSE&nbsp;Factory</strong> run the following as <strong>root</strong>:</p>
<pre>zypper addrepo http://www.arangodb.org/repositories/stable/openSUSE_Factory/arangodb.repo
zypper refresh
zypper install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_openSUSE soo_distro_openSUSE_12.2">
<p>For <strong>openSUSE&nbsp;12.2</strong> run the following as <strong>root</strong>:</p>
<pre>zypper addrepo http://www.arangodb.org/repositories/stable/openSUSE_12.2/arangodb.repo
zypper refresh
zypper install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_openSUSE soo_distro_openSUSE_12.1">
<p>For <strong>openSUSE&nbsp;12.1</strong> run the following as <strong>root</strong>:</p>
<pre>zypper addrepo http://www.arangodb.org/repositories/stable/openSUSE_12.1/arangodb.repo
zypper refresh
zypper install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_openSUSE soo_distro_openSUSE_11.4">
<p>For <strong>openSUSE&nbsp;11.4</strong> run the following as <strong>root</strong>:</p>
<pre>zypper addrepo http://www.arangodb.org/repositories/stable/openSUSE_11.4/arangodb.repo
zypper refresh
zypper install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_SLE soo_distro_SLE_11_SP2">
<p>For <strong>SLE&nbsp;11&nbsp;SP2</strong> run the following as <strong>root</strong>:</p>
<pre>zypper addrepo http://www.arangodb.org/repositories/stable/SLE_11_SP2/arangodb.repo
zypper refresh
zypper install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_SLE soo_distro_SLE_11_SP1">
<p>For <strong>SLE&nbsp;11&nbsp;SP1</strong> run the following as <strong>root</strong>:</p>
<pre>zypper addrepo http://www.arangodb.org/repositories/stable/SLE_11_SP1/arangodb.repo
zypper refresh
zypper install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_SLE soo_distro_SLE_11">
<p>For <strong>SLE&nbsp;11</strong> run the following as <strong>root</strong>:</p>
<pre>zypper addrepo http://www.arangodb.org/repositories/stable/SLE_11/arangodb.repo
zypper refresh
zypper install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_RHEL soo_distro_RedHat_RHEL-6">
<p>For <strong>RedHat&nbsp;RHEL-6</strong> run the following as <strong>root</strong>:</p>
<pre>cd /etc/yum.repos.d/
wget http://www.arangodb.org/repositories/stable/RedHat_RHEL-6/arangodb.repo
yum install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_Mandriva soo_distro_Mandriva_2011">
<p>For <strong>Mandriva&nbsp;2011</strong> run the following as <strong>root</strong>:</p>
<pre>urpmi.addmedia arangodb http://www.arangodb.org/repositories/stable/Mandriva_2011/
urpmi.update -a
urpmi arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_Fedora soo_distro_Fedora_17">
<p>For <strong>Fedora&nbsp;17</strong> run the following as <strong>root</strong>:</p>
<pre>cd /etc/yum.repos.d/
wget http://www.arangodb.org/repositories/stable/Fedora_17/arangodb.repo
yum install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_Fedora soo_distro_Fedora_16">
<p>For <strong>Fedora&nbsp;16</strong> run the following as <strong>root</strong>:</p>
<pre>cd /etc/yum.repos.d/
wget http://www.arangodb.org/repositories/stable/Fedora_16/arangodb.repo
yum install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_Debian soo_distro_Debian_6.0">
<p>For <strong>Debian&nbsp;6.0</strong> run the following as <strong>root</strong>:</p>
<pre>echo &#x27;deb http://www.arangodb.org/repositories/stable/Debian_6.0/ /&#x27; &gt;&gt; /etc/apt/sources.list.d/arangodb.list
apt-get update
apt-get install arangodb</pre>
<p>You can add the repository key to apt like this: </p>
<pre>wget http://www.arangodb.org/repositories/stable/Debian_6.0/Release.key
apt-key add - < Release.key </pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_CentOS soo_distro_CentOS_CentOS-6">
<p>For <strong>CentOS-6</strong> run the following as <strong>root</strong>:</p>
<pre>cd /etc/yum.repos.d/
wget http://www.arangodb.org/repositories/stable/CentOS_CentOS-6/arangodb.repo
yum install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_MacOSX soo_distro_MacOSX_MacOSX-10">
<p>For <strong>Mac OS X</strong> you can use use homebrew to install ArangoDB. Run the following:</p>
<pre>brew install arangodb</pre>
</div>
<div class="soo_repoinfo soo_distro soo_distro_Windows soo_distro_Windows-Win8">
<p>A first version of ArangoDB for Windows is available. Please contact us, if you are interested in trying
it.</pre>
</div>
</div>
</div>
<div id="soo_pkg" class="soo_box">
<p class="soo_line" id="soo_section_toggle_pkg">Grab binary packages directly<span></span></p>
<div id="soo_section_pkg">
<table>
<tr class="soo_pkginfo soo_distro soo_distro_Ubuntu soo_distro_xUbuntu_12.10">
<td>Packages for <strong>Ubuntu&nbsp;12.10</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/xUbuntu_12.10/amd64/arangodb_1.1.0-0_amd64.deb">arangodb_1.1.0-0_amd64.deb</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/xUbuntu_12.10/i386/arangodb_1.1.0-0_i386.deb">arangodb_1.1.0-0_i386.deb</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_Ubuntu soo_distro_xUbuntu_12.04">
<td>Packages for <strong>Ubuntu&nbsp;12.04</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/xUbuntu_12.04/amd64/arangodb_1.1.0-0_amd64.deb">arangodb_1.1.0-0_amd64.deb</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/xUbuntu_12.04/i386/arangodb_1.1.0-0_i386.deb">arangodb_1.1.0-0_i386.deb</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_Ubuntu soo_distro_xUbuntu_11.10">
<td>Packages for <strong>Ubuntu&nbsp;11.10</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/xUbuntu_11.10/amd64/arangodb_1.1.0-0_amd64.deb">arangodb_1.1.0-0_amd64.deb</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/xUbuntu_11.10/i386/arangodb_1.1.0-0_i386.deb">arangodb_1.1.0-0_i386.deb</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_Ubuntu soo_distro_xUbuntu_11.04">
<td>Packages for <strong>Ubuntu&nbsp;11.04</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/xUbuntu_11.04/amd64/arangodb_1.1.0-0_amd64.deb">arangodb_1.1.0-0_amd64.deb</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/xUbuntu_11.04/i386/arangodb_1.1.0-0_i386.deb">arangodb_1.1.0-0_i386.deb</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_openSUSE soo_distro_openSUSE_Tumbleweed">
<td>Packages for <strong>openSUSE&nbsp;Tumbleweed</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_Tumbleweed/i586/arangodb-1.1.0-35.1.i586.rpm">arangodb-1.1.0-35.1.i586.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_Tumbleweed/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_Tumbleweed/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_openSUSE soo_distro_openSUSE_Factory">
<td>Packages for <strong>openSUSE&nbsp;Factory</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_Factory/i586/arangodb-1.1.0-35.1.i586.rpm">arangodb-1.1.0-35.1.i586.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_Factory/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_Factory/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_openSUSE soo_distro_openSUSE_12.2">
<td>Packages for <strong>openSUSE&nbsp;12.2</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_12.2/i586/arangodb-1.1.0-35.1.i586.rpm">arangodb-1.1.0-35.1.i586.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_12.2/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_12.2/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_openSUSE soo_distro_openSUSE_12.1">
<td>Packages for <strong>openSUSE&nbsp;12.1</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_12.1/i586/arangodb-1.1.0-35.1.i586.rpm">arangodb-1.1.0-35.1.i586.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_12.1/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_12.1/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_openSUSE soo_distro_openSUSE_11.4">
<td>Packages for <strong>openSUSE&nbsp;11.4</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_11.4/i586/arangodb-1.1.0-35.1.i586.rpm">arangodb-1.1.0-35.1.i586.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_11.4/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/openSUSE_11.4/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_SLE soo_distro_SLE_11_SP2">
<td>Packages for <strong>SLE&nbsp;11&nbsp;SP2</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/SLE_11_SP2/i586/arangodb-1.1.0-35.1.i586.rpm">arangodb-1.1.0-35.1.i586.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/SLE_11_SP2/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/SLE_11_SP2/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_SLE soo_distro_SLE_11_SP1">
<td>Packages for <strong>SLE&nbsp;11&nbsp;SP1</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/SLE_11_SP1/i586/arangodb-1.1.0-35.1.i586.rpm">arangodb-1.1.0-35.1.i586.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/SLE_11_SP1/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/SLE_11_SP1/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_SLE soo_distro_SLE_11">
<td>Packages for <strong>SLE&nbsp;11</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/SLE_11/i586/arangodb-1.1.0-35.1.i586.rpm">arangodb-1.1.0-35.1.i586.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/SLE_11/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/SLE_11/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_RHEL soo_distro_RedHat_RHEL-6">
<td>Packages for <strong>RedHat&nbsp;RHEL-6</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/RedHat_RHEL-6/i686/arangodb-1.1.0-35.1.i686.rpm">arangodb-1.1.0-35.1.i686.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/RedHat_RHEL-6/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/RedHat_RHEL-6/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_Mandriva soo_distro_Mandriva_2011">
<td>Packages for <strong>Mandriva&nbsp;2011</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/Mandriva_2011/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_Fedora soo_distro_Fedora_17">
<td>Packages for <strong>Fedora&nbsp;17</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/Fedora_17/i686/arangodb-1.1.0-35.1.i686.rpm">arangodb-1.1.0-35.1.i686.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/Fedora_17/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/Fedora_17/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_Fedora soo_distro_Fedora_16">
<td>Packages for <strong>Fedora&nbsp;16</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/Fedora_16/i686/arangodb-1.1.0-35.1.i686.rpm">arangodb-1.1.0-35.1.i686.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/Fedora_16/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/Fedora_16/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_Debian soo_distro_Debian_6.0">
<td>Packages for <strong>Debian&nbsp;6.0</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/Debian_6.0/amd64/arangodb_1.1.0-0_amd64.deb">arangodb_1.1.0-0_amd64.deb</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/Debian_6.0/i386/arangodb_1.1.0-0_i386.deb">arangodb_1.1.0-0_i386.deb</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_CentOS soo_distro_CentOS_CentOS-6">
<td>Packages for <strong>CentOS-6</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/CentOS_CentOS-6/i686/arangodb-1.1.0-35.1.i686.rpm">arangodb-1.1.0-35.1.i686.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/CentOS_CentOS-6/src/arangodb-1.1.0-35.1.src.rpm">arangodb-1.1.0-35.1.src.rpm</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/CentOS_CentOS-6/x86_64/arangodb-1.1.0-35.1.x86_64.rpm">arangodb-1.1.0-35.1.x86_64.rpm</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_MacOSX soo_distro_MacOSX_MacOSX-10">
<td>Packages for <strong>Mac OS X</strong>:</td>
<td>
<ul>
<li>
<a href="http://www.arangodb.org/repositories/stable/MacOSX/arangodb-1.1-0-MacOSX-10.6-x86_64.dmg">arangodb-1.1-0-MacOSX-10.6-x86_64.dmg</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/MacOSX/arangodb-1.1-0-MacOSX-10.7-x86_64.dmg">arangodb-1.1-0-MacOSX-10.7-x86_64.dmg</a>
</li>
<li>
<a href="http://www.arangodb.org/repositories/stable/MacOSX/arangodb-1.1-0-MacOSX-10.8-x86_64.dmg">arangodb-1.1-0-MacOSX-10.8-x86_64.dmg</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_Windows soo_distro_Windows-Win8">
<td>Packages for <strong>Windows</strong>:</td>
<td>
<ul>
<li>Coming Soon</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_Source">
<td>
<ul>
<li><a href="http://www.arangodb.org/repositories/stable/Source/ArangoDB-1.1.0.tar.bz2">ArangoDB-1.1.0.tar.bz2</a>
</li>
<li><a href="http://www.arangodb.org/repositories/stable/Source/ArangoDB-1.1.0.tar.gz">ArangoDB-1.1.0.tar.gz</a>
</li>
<li><a href="http://www.arangodb.org/repositories/stable/Source/ArangoDB-1.1.0.zip">ArangoDB-1.1.0.zip</a>
</li>
</ul>
</td>
</tr>
<tr class="soo_pkginfo soo_distro soo_distro_Livecd">
<td>
<ul>
<li><a href="http://www.arangodb.org/repositories/stable/iso/ArangoDB_1.1.0_live.i686-1.0.1.iso ">ArangoDB 1.1.0 Live CD based on openSUSE 12.2 32 bit</a><p> 32Bit 429 MB MD5: 221a0fbf322bdb8bbc26a10f815428e9</p>
</li>
<li><a href="http://www.arangodb.org/repositories/stable/iso/ArangoDB_1.1.0_live.x86_64-1.0.1.iso ">ArangoDB 1.1.0 Live CD based on openSUSE 12.2 64 bit </a><p> 64Bit 432 MB MD5: 595d2bd4d296b4d88db9381c484261c0</p>
</li>
</ul>
</td>
</tr>
</table>
</div>
</div>
</body>
</html>

9
Installation/OBS/load-repo.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
if test "$1" == ""; then
echo "usage: $0 <obs-server>"
exit 1
fi
wget -r -np "http://$1/repositories/home:/fceller/"
mv "$1" download

View File

@ -124,7 +124,7 @@ case $TRI_OS_LONG in
echo "Using configuration for DARWIN" echo "Using configuration for DARWIN"
CPPFLAGS='-isystem /usr/include -isystem /opt/local/include -Wno-deprecated-declarations' CPPFLAGS='-isystem /usr/include -isystem /opt/local/include -Wno-deprecated-declarations'
LDFLAGS='-L/usr/lib -L/opt/local/lib' # need to use OpenSSL from system LDFLAGS='-L/usr/lib -L/opt/local/lib' # need to use OpenSSL from system
OPTIONS="$OPTIONS --enable-all-in-one-libev --enable-all-in-one-v8 --enable-all-in-one-icu --enable-mruby" OPTIONS="$OPTIONS --enable-all-in-one-libev --enable-all-in-one-v8 --enable-all-in-one-icu --disable-mruby"
RESULTS="$RESULTS arangoirb" RESULTS="$RESULTS arangoirb"
if [ "${TRI_MACH}" == "x86_64" ]; then if [ "${TRI_MACH}" == "x86_64" ]; then
X=$(uname -r) X=$(uname -r)
@ -204,4 +204,4 @@ mkdir Doxygen/man > /dev/null 2>&1
mkdir Doxygen/man/man1 > /dev/null 2>&1 mkdir Doxygen/man/man1 > /dev/null 2>&1
mkdir Doxygen/man/man8 > /dev/null 2>&1 mkdir Doxygen/man/man8 > /dev/null 2>&1
make man make man

View File

@ -374,7 +374,11 @@ if ENABLE_HTML2TEXT
BUILT_SOURCES += README BUILT_SOURCES += README
README: README.md README: README.md
@MARKDOWN_EXEC@ -o html $< | @HTML2TEXT_EXEC@ -style pretty | fgrep -v _Build_Status_ > $@.tmp fgrep -v "[Build Status]" $< \
| @MARKDOWN_EXEC@ \
| @HTML2TEXT_EXEC@ -style pretty -nobs \
| sed -e 's:&gt;:>:g' \
> $@.tmp
mv $@.tmp $@ mv $@.tmp $@
endif endif

84
README
View File

@ -33,65 +33,57 @@ For more in-depth information
* or give it a try. * or give it a try.
Compilation For the Impatient
Please check the Installation_Manual for installation and compilation For Mac OSX execute
instructions.
Mac OS X Hints brew install arangodb
On Mac OS X you can install ArangoDB using the packagemanager Homebrew: For Linux use the distribution dependend package manager, see Installation
Manual for details.
For Windows users: we are working hard on a Windows version. A first version
will become available soon.
If the package manager has not already started the ArangoDB server, use
* brew install arangodb (use --HEAD in order to build ArangoDB from current unix> /path/to/sbin/arangod
master)
This will install ArangoDB and all dependencies. Note that the server will be
installed as
/usr/local/sbin/arangod
The ArangoDB shell will be install as
/usr/local/bin/arangosh
First Steps
Start the server:
> /usr/sbin/arangod
2012-03-30T12:54:19Z [11794] INFO ArangoDB (version 1.x.y) is ready for 2012-03-30T12:54:19Z [11794] INFO ArangoDB (version 1.x.y) is ready for
business business
2012-03-30T12:54:19Z [11794] INFO Have Fun! 2012-03-30T12:54:19Z [11794] INFO Have Fun!
Start the shell in another windows: /path/to/sbin is OS dependent. It will normally by either /usr/sbin or /user/
local/sbin. Point your browser to
> /usr/bin/arangosh http://localhost:8529/
_
__ _ _ __ __ _ _ __ __ _ ___ ___| |__
/ _` | '__/ _` | '_ \ / _` |/ _ \/ __| '_ \
| (_| | | | (_| | | | | (_| | (_) \__ \ | | |
\__,_|_| \__,_|_| |_|\__, |\___/|___/_| |_|
|___/
Welcome to arangosh 1.x.y. Copyright (c) 2012 triAGENS GmbH. and select the tab Shell. You can now use the Arango shell from within your
Using Google V8 3.9.4.0 JavaScript engine. browser. Alternative, it is available as command-line tool arangosh.
Using READLINE 6.1.
Connected to Arango DB 127.0.0.1:8529 Version 1.x.y arangosh> db._create("hallo");
arangosh> db.hallo.save({ world: "earth" });
arangosh> db._create("examples") Congratulations! You have created your first collection called hallo and your
[ArangoCollection 106097, "examples] first document. To verify your achievements
arangosh> db.examples.save({ Hallo: "World" }); arangosh> db.hallo.toArray();
{"error":false,"_id":"106097/2333739","_rev":2333739}
arangosh> db.examples.all();
[{ _id : "82883/1524675", _rev : 1524675, Hallo : "World" }]
Caveat More Information
Please check the Installation_Manual for installation and compilation
instructions.
The User_Manual has an introductory chapter showing the basic operations of
ArangoDB.
Or you can use the online_tutorial to play with ArangoDB without installing it
locally.
Stay in Contact
Please note that there will be bugs and we'd really appreciate it if you report
them:
https://github.com/triAGENS/ArangoDB/issues
You can use the Google group for improvements, feature requests, comments
http://www.arangodb.org/connect
Please note that this is an early version of ArangoDB. There will be bugs and
we'd really appreciate it if you report them:
https://github.com/triAGENS/ArangoDB/issues

103
README.md
View File

@ -1,4 +1,6 @@
# ArangoDB ArangoDB
========
[![Build Status](https://secure.travis-ci.org/triAGENS/ArangoDB.png)](http://travis-ci.org/triAGENS/ArangoDB) [![Build Status](https://secure.travis-ci.org/triAGENS/ArangoDB.png)](http://travis-ci.org/triAGENS/ArangoDB)
ArangoDB is a universal open-source database with flexible data model for documents, graphs, and key-values. Build high performance application using a convenient sql-like query language or JavaScript/Ruby extensions. ArangoDB is a universal open-source database with flexible data model for documents, graphs, and key-values. Build high performance application using a convenient sql-like query language or JavaScript/Ruby extensions.
@ -20,65 +22,66 @@ For more in-depth information
* read more on the [design goals of ArangoDB](http://www.arangodb.org/2012/03/07/avocadodbs-design-objectives) * read more on the [design goals of ArangoDB](http://www.arangodb.org/2012/03/07/avocadodbs-design-objectives)
* [watch the video](http://vimeo.com/36411892) - Martin Schoenert, architect of ArangoDB, gives an introduction of what the ArangoDB project is about. * [watch the video](http://vimeo.com/36411892) - Martin Schoenert, architect of ArangoDB, gives an introduction of what the ArangoDB project is about.
* or give it a try. * or give it a [try](http://www.arangodb.org/try).
## Compilation
For the Impatient
-----------------
For Mac OSX execute
brew install arangodb
For Linux use the distribution dependend package manager, see
[Installation Manual](http://www.arangodb.org/manuals/current/Installing.html)
for details.
For Windows users: we are working hard on a Windows version. A first version will become available soon.
If the package manager has not already started the ArangoDB server, use
unix> /path/to/sbin/arangod
2012-03-30T12:54:19Z [11794] INFO ArangoDB (version 1.x.y) is ready for business
2012-03-30T12:54:19Z [11794] INFO Have Fun!
`/path/to/sbin` is OS dependent. It will normally by either `/usr/sbin` or `/user/local/sbin`. Point your browser to
http://localhost:8529/
and select the tab `Shell`. You can now use the Arango shell from within your browser. Alternative, it is available as command-line tool _arangosh_.
arangosh> db._create("hallo");
arangosh> db.hallo.save({ world: "earth" });
Congratulations! You have created your first collection called `hallo` and your first document. To verify your achievements
arangosh> db.hallo.toArray();
More Information
----------------
Please check the Please check the
[Installation Manual](http://www.arangodb.org/manuals/current/InstallManual.html) [Installation Manual](http://www.arangodb.org/manuals/current/InstallManual.html)
for installation and compilation instructions. for installation and compilation instructions.
### Mac OS X Hints The
[User Manual](http://www.arangodb.org/manuals/current/UserManual.html)
has an introductory chapter showing the basic operations of ArangoDB.
On Mac OS X you can install ArangoDB using the packagemanager [Homebrew](http://mxcl.github.com/homebrew/): Or you can use the
[online tutorial](http://www.arangodb.org/try)
to play with ArangoDB without installing it locally.
* `brew install arangodb` (use `--HEAD` in order to build ArangoDB from current master)
This will install ArangoDB and all dependencies. Note that the server will be installed as Stay in Contact
---------------
/usr/local/sbin/arangod Please note that there will be bugs and we'd really appreciate it if
you report them:
The ArangoDB shell will be install as https://github.com/triAGENS/ArangoDB/issues
/usr/local/bin/arangosh You can use the Google group for improvements, feature requests, comments
## First Steps http://www.arangodb.org/connect
Start the server:
> /usr/sbin/arangod
2012-03-30T12:54:19Z [11794] INFO ArangoDB (version 1.x.y) is ready for business
2012-03-30T12:54:19Z [11794] INFO Have Fun!
Start the shell in another windows:
> /usr/bin/arangosh
_
__ _ _ __ __ _ _ __ __ _ ___ ___| |__
/ _` | '__/ _` | '_ \ / _` |/ _ \/ __| '_ \
| (_| | | | (_| | | | | (_| | (_) \__ \ | | |
\__,_|_| \__,_|_| |_|\__, |\___/|___/_| |_|
|___/
Welcome to arangosh 1.x.y. Copyright (c) 2012 triAGENS GmbH.
Using Google V8 3.9.4.0 JavaScript engine.
Using READLINE 6.1.
Connected to Arango DB 127.0.0.1:8529 Version 1.x.y
arangosh> db._create("examples")
[ArangoCollection 106097, "examples]
arangosh> db.examples.save({ Hallo: "World" });
{"error":false,"_id":"106097/2333739","_rev":2333739}
arangosh> db.examples.all().toArray();
[{ _id : "82883/1524675", _rev : 1524675, Hallo : "World" }]
## Caveat
Please note that this is an early version of ArangoDB. There will be
bugs and we'd really appreciate it if you [report](https://github.com/triAGENS/ArangoDB/issues")
them:
https://github.com/triAGENS/ArangoDB/issues

View File

@ -39,17 +39,28 @@ describe ArangoDB do
collections = doc.parsed_response['collections'] collections = doc.parsed_response['collections']
names = doc.parsed_response['names'] names = doc.parsed_response['names']
found = 0 # filter out system collections
for n in names do realCollections = [ ]
if n[0] == "units" or n[0] == "employees" or n[0] == "locations"
found = found + 1 collections.each { |collection|
if collection['name'].slice(0, 1) != "_"
realCollections.push(collection)
end
}
realNames = { }
names.each do |name, collection|
if name.slice(0, 1) != '_'
realNames[name] = collection
end end
end end
found.should eq(3) realCollections.length.should eq(3)
realNames.length.should eq(3)
for collection in collections do for collection in realCollections do
names[collection['name']].should eq(collection) realNames[collection['name']].should eq(collection)
end end
end end
end end

View File

@ -177,7 +177,7 @@
typedef union YYSTYPE typedef union YYSTYPE
{ {
/* Line 301 of yacc.c */ /* Line 293 of yacc.c */
#line 26 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 26 "arangod/Ahuacatl/ahuacatl-grammar.y"
TRI_aql_node_t* node; TRI_aql_node_t* node;
@ -187,7 +187,7 @@ typedef union YYSTYPE
/* Line 301 of yacc.c */ /* Line 293 of yacc.c */
#line 192 "arangod/Ahuacatl/ahuacatl-grammar.c" #line 192 "arangod/Ahuacatl/ahuacatl-grammar.c"
} YYSTYPE; } YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_TRIVIAL 1
@ -1722,7 +1722,7 @@ yyreduce:
{ {
case 2: case 2:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 176 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 176 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -1730,7 +1730,7 @@ yyreduce:
case 3: case 3:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 181 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 181 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -1738,7 +1738,7 @@ yyreduce:
case 4: case 4:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 183 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 183 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -1746,7 +1746,7 @@ yyreduce:
case 5: case 5:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 188 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 188 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -1754,7 +1754,7 @@ yyreduce:
case 6: case 6:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 190 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 190 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -1762,7 +1762,7 @@ yyreduce:
case 7: case 7:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 192 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 192 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -1770,7 +1770,7 @@ yyreduce:
case 8: case 8:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 194 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 194 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -1778,7 +1778,7 @@ yyreduce:
case 9: case 9:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 196 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 196 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -1786,7 +1786,7 @@ yyreduce:
case 10: case 10:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 198 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 198 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -1794,7 +1794,7 @@ yyreduce:
case 11: case 11:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 203 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 203 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node; TRI_aql_node_t* node;
@ -1816,7 +1816,7 @@ yyreduce:
case 12: case 12:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 222 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 222 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeFilterAql(context, (yyvsp[(2) - (2)].node)); TRI_aql_node_t* node = TRI_CreateNodeFilterAql(context, (yyvsp[(2) - (2)].node));
@ -1832,7 +1832,7 @@ yyreduce:
case 13: case 13:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 235 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 235 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeLetAql(context, (yyvsp[(2) - (4)].strval), (yyvsp[(4) - (4)].node)); TRI_aql_node_t* node = TRI_CreateNodeLetAql(context, (yyvsp[(2) - (4)].strval), (yyvsp[(4) - (4)].node));
@ -1848,7 +1848,7 @@ yyreduce:
case 14: case 14:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 248 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 248 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeListAql(context); TRI_aql_node_t* node = TRI_CreateNodeListAql(context);
@ -1863,7 +1863,7 @@ yyreduce:
case 15: case 15:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 256 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 256 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeCollectAql(context, TRI_PopStackParseAql(context), (yyvsp[(4) - (4)].strval)); TRI_aql_node_t* node = TRI_CreateNodeCollectAql(context, TRI_PopStackParseAql(context), (yyvsp[(4) - (4)].strval));
@ -1879,7 +1879,7 @@ yyreduce:
case 16: case 16:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 269 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 269 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -1887,7 +1887,7 @@ yyreduce:
case 17: case 17:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 271 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 271 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -1895,7 +1895,7 @@ yyreduce:
case 18: case 18:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 276 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 276 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeAssignAql(context, (yyvsp[(1) - (3)].strval), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeAssignAql(context, (yyvsp[(1) - (3)].strval), (yyvsp[(3) - (3)].node));
@ -1911,7 +1911,7 @@ yyreduce:
case 19: case 19:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 289 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 289 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.strval) = NULL; (yyval.strval) = NULL;
@ -1920,7 +1920,7 @@ yyreduce:
case 20: case 20:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 292 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 292 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.strval) = (yyvsp[(2) - (2)].strval); (yyval.strval) = (yyvsp[(2) - (2)].strval);
@ -1929,7 +1929,7 @@ yyreduce:
case 21: case 21:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 298 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 298 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeListAql(context); TRI_aql_node_t* node = TRI_CreateNodeListAql(context);
@ -1944,7 +1944,7 @@ yyreduce:
case 22: case 22:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 306 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 306 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* list = TRI_PopStackParseAql(context); TRI_aql_node_t* list = TRI_PopStackParseAql(context);
@ -1961,7 +1961,7 @@ yyreduce:
case 23: case 23:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 320 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 320 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_PushListAql(context, (yyvsp[(1) - (1)].node))) { if (!TRI_PushListAql(context, (yyvsp[(1) - (1)].node))) {
@ -1972,7 +1972,7 @@ yyreduce:
case 24: case 24:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 325 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 325 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_PushListAql(context, (yyvsp[(3) - (3)].node))) { if (!TRI_PushListAql(context, (yyvsp[(3) - (3)].node))) {
@ -1983,7 +1983,7 @@ yyreduce:
case 25: case 25:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 333 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 333 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeSortElementAql(context, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].boolval)); TRI_aql_node_t* node = TRI_CreateNodeSortElementAql(context, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].boolval));
@ -1997,7 +1997,7 @@ yyreduce:
case 26: case 26:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 344 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 344 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.boolval) = true; (yyval.boolval) = true;
@ -2006,7 +2006,7 @@ yyreduce:
case 27: case 27:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 347 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 347 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.boolval) = true; (yyval.boolval) = true;
@ -2015,7 +2015,7 @@ yyreduce:
case 28: case 28:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 350 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 350 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.boolval) = false; (yyval.boolval) = false;
@ -2024,7 +2024,7 @@ yyreduce:
case 29: case 29:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 356 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 356 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeLimitAql(context, TRI_CreateNodeValueIntAql(context, 0), TRI_CreateNodeValueIntAql(context, (yyvsp[(2) - (2)].intval))); TRI_aql_node_t* node = TRI_CreateNodeLimitAql(context, TRI_CreateNodeValueIntAql(context, 0), TRI_CreateNodeValueIntAql(context, (yyvsp[(2) - (2)].intval)));
@ -2044,7 +2044,7 @@ yyreduce:
case 30: case 30:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 370 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 370 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeLimitAql(context, TRI_CreateNodeValueIntAql(context, (yyvsp[(2) - (4)].intval)), TRI_CreateNodeValueIntAql(context, (yyvsp[(4) - (4)].intval))); TRI_aql_node_t* node = TRI_CreateNodeLimitAql(context, TRI_CreateNodeValueIntAql(context, (yyvsp[(2) - (4)].intval)), TRI_CreateNodeValueIntAql(context, (yyvsp[(4) - (4)].intval)));
@ -2060,7 +2060,7 @@ yyreduce:
case 31: case 31:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 383 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 383 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeReturnAql(context, (yyvsp[(2) - (2)].node)); TRI_aql_node_t* node = TRI_CreateNodeReturnAql(context, (yyvsp[(2) - (2)].node));
@ -2082,7 +2082,7 @@ yyreduce:
case 32: case 32:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 403 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 403 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(2) - (3)].node); (yyval.node) = (yyvsp[(2) - (3)].node);
@ -2091,7 +2091,7 @@ yyreduce:
case 33: case 33:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 406 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 406 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_StartScopeAql(context, TRI_AQL_SCOPE_SUBQUERY)) { if (!TRI_StartScopeAql(context, TRI_AQL_SCOPE_SUBQUERY)) {
@ -2103,7 +2103,7 @@ yyreduce:
case 34: case 34:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 411 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 411 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* result; TRI_aql_node_t* result;
@ -2140,7 +2140,7 @@ yyreduce:
case 35: case 35:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 442 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 442 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
@ -2149,7 +2149,7 @@ yyreduce:
case 36: case 36:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 445 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 445 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
@ -2158,7 +2158,7 @@ yyreduce:
case 37: case 37:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 448 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 448 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
@ -2167,7 +2167,7 @@ yyreduce:
case 38: case 38:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 451 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 451 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node; TRI_aql_node_t* node;
@ -2187,7 +2187,7 @@ yyreduce:
case 39: case 39:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 464 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 464 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* list = TRI_PopStackParseAql(context); TRI_aql_node_t* list = TRI_PopStackParseAql(context);
@ -2202,7 +2202,7 @@ yyreduce:
case 40: case 40:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 473 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 473 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
@ -2211,7 +2211,7 @@ yyreduce:
case 41: case 41:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 476 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 476 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
@ -2220,7 +2220,7 @@ yyreduce:
case 42: case 42:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 479 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 479 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
@ -2229,7 +2229,7 @@ yyreduce:
case 43: case 43:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 485 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 485 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryPlusAql(context, (yyvsp[(2) - (2)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryPlusAql(context, (yyvsp[(2) - (2)].node));
@ -2243,7 +2243,7 @@ yyreduce:
case 44: case 44:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 493 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 493 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryMinusAql(context, (yyvsp[(2) - (2)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryMinusAql(context, (yyvsp[(2) - (2)].node));
@ -2257,7 +2257,7 @@ yyreduce:
case 45: case 45:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 501 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 501 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryNotAql(context, (yyvsp[(2) - (2)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorUnaryNotAql(context, (yyvsp[(2) - (2)].node));
@ -2271,7 +2271,7 @@ yyreduce:
case 46: case 46:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 512 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 512 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryOrAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryOrAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2285,7 +2285,7 @@ yyreduce:
case 47: case 47:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 520 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 520 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryAndAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryAndAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2299,7 +2299,7 @@ yyreduce:
case 48: case 48:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 528 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 528 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryPlusAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryPlusAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2313,7 +2313,7 @@ yyreduce:
case 49: case 49:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 536 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 536 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryMinusAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryMinusAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2327,7 +2327,7 @@ yyreduce:
case 50: case 50:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 544 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 544 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryTimesAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryTimesAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2341,7 +2341,7 @@ yyreduce:
case 51: case 51:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 552 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 552 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryDivAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryDivAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2355,7 +2355,7 @@ yyreduce:
case 52: case 52:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 560 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 560 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryModAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryModAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2369,7 +2369,7 @@ yyreduce:
case 53: case 53:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 568 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 568 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryEqAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryEqAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2383,7 +2383,7 @@ yyreduce:
case 54: case 54:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 576 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 576 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryNeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryNeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2397,7 +2397,7 @@ yyreduce:
case 55: case 55:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 584 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 584 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryLtAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryLtAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2411,7 +2411,7 @@ yyreduce:
case 56: case 56:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 592 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 592 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryGtAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryGtAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2425,7 +2425,7 @@ yyreduce:
case 57: case 57:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 600 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 600 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryLeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryLeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2439,7 +2439,7 @@ yyreduce:
case 58: case 58:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 608 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 608 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryGeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryGeAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2453,7 +2453,7 @@ yyreduce:
case 59: case 59:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 616 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 616 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryInAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorBinaryInAql(context, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
@ -2467,7 +2467,7 @@ yyreduce:
case 60: case 60:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 627 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 627 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeOperatorTernaryAql(context, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); TRI_aql_node_t* node = TRI_CreateNodeOperatorTernaryAql(context, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));
@ -2481,7 +2481,7 @@ yyreduce:
case 61: case 61:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 638 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 638 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -2489,7 +2489,7 @@ yyreduce:
case 62: case 62:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 640 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 640 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -2497,7 +2497,7 @@ yyreduce:
case 63: case 63:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 645 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 645 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_PushListAql(context, (yyvsp[(1) - (1)].node)); TRI_PushListAql(context, (yyvsp[(1) - (1)].node));
@ -2506,7 +2506,7 @@ yyreduce:
case 64: case 64:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 648 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 648 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_PushListAql(context, (yyvsp[(3) - (3)].node)); TRI_PushListAql(context, (yyvsp[(3) - (3)].node));
@ -2515,7 +2515,7 @@ yyreduce:
case 65: case 65:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 654 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 654 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
@ -2524,7 +2524,7 @@ yyreduce:
case 66: case 66:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 657 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 657 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
@ -2533,7 +2533,7 @@ yyreduce:
case 67: case 67:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 663 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 663 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeListAql(context); TRI_aql_node_t* node = TRI_CreateNodeListAql(context);
@ -2547,7 +2547,7 @@ yyreduce:
case 68: case 68:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 670 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 670 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = TRI_PopStackParseAql(context); (yyval.node) = TRI_PopStackParseAql(context);
@ -2556,7 +2556,7 @@ yyreduce:
case 69: case 69:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 676 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 676 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -2564,7 +2564,7 @@ yyreduce:
case 70: case 70:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 678 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 678 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -2572,7 +2572,7 @@ yyreduce:
case 71: case 71:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 683 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 683 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_PushListAql(context, (yyvsp[(1) - (1)].node))) { if (!TRI_PushListAql(context, (yyvsp[(1) - (1)].node))) {
@ -2583,7 +2583,7 @@ yyreduce:
case 72: case 72:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 688 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 688 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_PushListAql(context, (yyvsp[(3) - (3)].node))) { if (!TRI_PushListAql(context, (yyvsp[(3) - (3)].node))) {
@ -2594,7 +2594,7 @@ yyreduce:
case 73: case 73:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 696 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 696 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeArrayAql(context); TRI_aql_node_t* node = TRI_CreateNodeArrayAql(context);
@ -2608,7 +2608,7 @@ yyreduce:
case 74: case 74:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 703 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 703 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = TRI_PopStackParseAql(context); (yyval.node) = TRI_PopStackParseAql(context);
@ -2617,7 +2617,7 @@ yyreduce:
case 75: case 75:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 709 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 709 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -2625,7 +2625,7 @@ yyreduce:
case 76: case 76:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 711 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 711 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -2633,7 +2633,7 @@ yyreduce:
case 77: case 77:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 716 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 716 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -2641,7 +2641,7 @@ yyreduce:
case 78: case 78:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 718 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 718 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
} }
@ -2649,7 +2649,7 @@ yyreduce:
case 79: case 79:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 723 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 723 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!TRI_PushArrayAql(context, (yyvsp[(1) - (3)].strval), (yyvsp[(3) - (3)].node))) { if (!TRI_PushArrayAql(context, (yyvsp[(1) - (3)].strval), (yyvsp[(3) - (3)].node))) {
@ -2660,7 +2660,7 @@ yyreduce:
case 80: case 80:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 732 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 732 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// start of reference (collection or variable name) // start of reference (collection or variable name)
@ -2670,7 +2670,7 @@ yyreduce:
case 81: case 81:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 736 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 736 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// expanded variable access, e.g. variable[*] // expanded variable access, e.g. variable[*]
@ -2701,7 +2701,7 @@ yyreduce:
case 82: case 82:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 760 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 760 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// return from the "expansion" subrule // return from the "expansion" subrule
@ -2733,7 +2733,7 @@ yyreduce:
case 83: case 83:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 789 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 789 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// variable or collection // variable or collection
@ -2756,7 +2756,7 @@ yyreduce:
case 84: case 84:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 806 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 806 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// named variable access, e.g. variable.reference // named variable access, e.g. variable.reference
@ -2770,7 +2770,7 @@ yyreduce:
case 85: case 85:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 814 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 814 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// indexed variable access, e.g. variable[index] // indexed variable access, e.g. variable[index]
@ -2784,7 +2784,7 @@ yyreduce:
case 86: case 86:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 825 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 825 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// named variable access, continuation from * expansion, e.g. [*].variable.reference // named variable access, continuation from * expansion, e.g. [*].variable.reference
@ -2800,7 +2800,7 @@ yyreduce:
case 87: case 87:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 835 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 835 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// indexed variable access, continuation from * expansion, e.g. [*].variable[index] // indexed variable access, continuation from * expansion, e.g. [*].variable[index]
@ -2816,7 +2816,7 @@ yyreduce:
case 88: case 88:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 845 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 845 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// named variable access, continuation from * expansion, e.g. [*].variable.xx.reference // named variable access, continuation from * expansion, e.g. [*].variable.xx.reference
@ -2829,7 +2829,7 @@ yyreduce:
case 89: case 89:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 852 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 852 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
// indexed variable access, continuation from * expansion, e.g. [*].variable.xx.[index] // indexed variable access, continuation from * expansion, e.g. [*].variable.xx.[index]
@ -2842,7 +2842,7 @@ yyreduce:
case 90: case 90:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 862 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 862 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
@ -2851,7 +2851,7 @@ yyreduce:
case 91: case 91:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 865 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 865 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
@ -2860,7 +2860,7 @@ yyreduce:
case 92: case 92:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 871 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 871 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeValueStringAql(context, (yyvsp[(1) - (1)].strval)); TRI_aql_node_t* node = TRI_CreateNodeValueStringAql(context, (yyvsp[(1) - (1)].strval));
@ -2874,7 +2874,7 @@ yyreduce:
case 93: case 93:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 879 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 879 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node; TRI_aql_node_t* node;
@ -2894,7 +2894,7 @@ yyreduce:
case 94: case 94:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 893 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 893 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeValueNullAql(context); TRI_aql_node_t* node = TRI_CreateNodeValueNullAql(context);
@ -2908,7 +2908,7 @@ yyreduce:
case 95: case 95:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 901 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 901 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeValueBoolAql(context, true); TRI_aql_node_t* node = TRI_CreateNodeValueBoolAql(context, true);
@ -2922,7 +2922,7 @@ yyreduce:
case 96: case 96:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 909 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 909 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeValueBoolAql(context, false); TRI_aql_node_t* node = TRI_CreateNodeValueBoolAql(context, false);
@ -2936,7 +2936,7 @@ yyreduce:
case 97: case 97:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 920 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 920 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
TRI_aql_node_t* node = TRI_CreateNodeParameterAql(context, (yyvsp[(1) - (1)].strval)); TRI_aql_node_t* node = TRI_CreateNodeParameterAql(context, (yyvsp[(1) - (1)].strval));
@ -2950,7 +2950,7 @@ yyreduce:
case 98: case 98:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 931 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 931 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!(yyvsp[(1) - (1)].strval)) { if (!(yyvsp[(1) - (1)].strval)) {
@ -2963,7 +2963,7 @@ yyreduce:
case 99: case 99:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 938 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 938 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!(yyvsp[(1) - (1)].strval)) { if (!(yyvsp[(1) - (1)].strval)) {
@ -2976,7 +2976,7 @@ yyreduce:
case 100: case 100:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 947 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 947 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
(yyval.strval) = (yyvsp[(1) - (1)].strval); (yyval.strval) = (yyvsp[(1) - (1)].strval);
@ -2985,7 +2985,7 @@ yyreduce:
case 101: case 101:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 953 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 953 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!(yyvsp[(1) - (1)].strval)) { if (!(yyvsp[(1) - (1)].strval)) {
@ -2998,7 +2998,7 @@ yyreduce:
case 102: case 102:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 960 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 960 "arangod/Ahuacatl/ahuacatl-grammar.y"
{ {
if (!(yyvsp[(2) - (2)].strval)) { if (!(yyvsp[(2) - (2)].strval)) {
@ -3011,7 +3011,7 @@ yyreduce:
/* Line 1821 of yacc.c */ /* Line 1806 of yacc.c */
#line 3016 "arangod/Ahuacatl/ahuacatl-grammar.c" #line 3016 "arangod/Ahuacatl/ahuacatl-grammar.c"
default: break; default: break;
} }

View File

@ -95,7 +95,7 @@
typedef union YYSTYPE typedef union YYSTYPE
{ {
/* Line 2132 of yacc.c */ /* Line 2068 of yacc.c */
#line 26 "arangod/Ahuacatl/ahuacatl-grammar.y" #line 26 "arangod/Ahuacatl/ahuacatl-grammar.y"
TRI_aql_node_t* node; TRI_aql_node_t* node;
@ -105,7 +105,7 @@ typedef union YYSTYPE
/* Line 2132 of yacc.c */ /* Line 2068 of yacc.c */
#line 110 "arangod/Ahuacatl/ahuacatl-grammar.h" #line 110 "arangod/Ahuacatl/ahuacatl-grammar.h"
} YYSTYPE; } YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_TRIVIAL 1

View File

@ -76,6 +76,7 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page Aql ArangoDB Query Language (AQL) /// @page Aql ArangoDB Query Language (AQL)
/// ///
/// @NAVIGATE_Aql
/// @EMBEDTOC{AqlTOC} /// @EMBEDTOC{AqlTOC}
/// ///
/// @section AqlPurpose Introduction /// @section AqlPurpose Introduction

View File

@ -115,6 +115,7 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page CommandLine Command-Line Options /// @page CommandLine Command-Line Options
/// ///
/// @NAVIGATE_CommandLine
/// @EMBEDTOC{CommandLineTOC} /// @EMBEDTOC{CommandLineTOC}
/// ///
/// @section CommandLineGeneralOptions General Options /// @section CommandLineGeneralOptions General Options

View File

@ -32,7 +32,7 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page DbaManual ArangoDB's DBA Manual (@VERSION) /// @page DbaManual ArangoDB's DBA Manual (@VERSION)
/// ///
/// @NAVIGATE{UserManual,Home,ImpManual} /// @NAVIGATE_DbaManual
/// ///
/// @if LATEX /// @if LATEX
/// <ul> /// <ul>
@ -46,6 +46,7 @@
/// <li>@ref IndexGeo</li> /// <li>@ref IndexGeo</li>
/// <li>@ref IndexHash</li> /// <li>@ref IndexHash</li>
/// <li>@ref IndexSkiplist</li> /// <li>@ref IndexSkiplist</li>
/// <li>@ref IndexBitArray</li>
/// ///
/// @latexonly\appendix@endlatexonly /// @latexonly\appendix@endlatexonly
/// <li>@ref Glossary</li> /// <li>@ref Glossary</li>

View File

@ -28,7 +28,7 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page ImpManual ArangoDB's Importer Manual (@VERSION) /// @page ImpManual ArangoDB's Importer Manual (@VERSION)
/// ///
/// @NAVIGATE{DbaManual,Home,Glossary} /// @NAVIGATE_ImpManual
/// ///
/// @if LATEX /// @if LATEX
/// <ul> /// <ul>

View File

@ -28,7 +28,7 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page ImplementorManual ArangoDB for API Implementors (@VERSION) /// @page ImplementorManual ArangoDB for API Implementors (@VERSION)
/// ///
/// @NAVIGATE{InstallManual,Home,RefManual} /// @NAVIGATE_ImplementorManual
/// ///
/// @if LATEX /// @if LATEX
/// <ul> /// <ul>

View File

@ -32,6 +32,7 @@
/// @copydetails IndexGeoTOC /// @copydetails IndexGeoTOC
/// @copydetails IndexHashTOC /// @copydetails IndexHashTOC
/// @copydetails IndexSkiplistTOC /// @copydetails IndexSkiplistTOC
/// @copydetails IndexBitArrayTOC
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Local Variables: // Local Variables:

View File

@ -25,213 +25,6 @@
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany /// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// -----------------------------------------------------------------------------
// --SECTION-- INSTALLATION MANUAL
// -----------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
/// @page InstallManual ArangoDB's Installation Manual (@VERSION)
///
/// @NAVIGATE{Glossary,Home,ImplementorManual}
///
/// @if LATEX
/// <ul>
/// <li>@ref Installing</li>
/// <li>@ref Compiling</li>
/// </ul>
/// @else
/// @copydetails InstallingTOC
/// @copydetails CompilingTOC
/// @endif
////////////////////////////////////////////////////////////////////////////////
// -----------------------------------------------------------------------------
// --SECTION-- INSTALLING
// -----------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
/// @page InstallingTOC
///
/// <ul>
/// <li>@ref Installing
/// <ul>
/// <li>@ref InstallingLinux
/// </li>
/// <li>@ref InstallingLinuxPackageManager
/// <ul>
/// <li>@ref InstallingCentOS
/// <li>@ref InstallingDebian
/// <li>@ref InstallingOpenSUSE
/// </ul>
/// </li>
/// <li>@ref InstallingMacOSX
/// <ul>
/// <li>@ref InstallingMacOSXHomebrew
/// </ul>
/// </li>
/// </ul>
/// </li>
/// </ul>
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page Installing Installing ArangoDB
///
/// @EMBEDTOC{InstallingTOC}
///
/// @section InstallingLinux Linux
//////////////////////////////////
///
/// You can find binary packages for various Linux distributions here:
///
/// @LIT{http://www.arangodb.org/repositories/}
///
/// @subsection InstallingLinuxPackageManager Using a Package Manager to install ArangoDB
/////////////////////////////////////////////////////////////////////////////////////////
///
/// @subsubsection InstallingCentOS CentoOS
///////////////////////////////////////////
///
/// Download and import GPG-PublicKey
///
/// @code
/// wget -O RPM-GPG-KEY-www.arangodb.org http://www.arangodb.org/repositories/PublicKey
/// rpm --import RPM-GPG-KEY-www.arangodb.org
/// @endcode
///
/// Add a repository file @LIT{/etc/yum.repos.d/arangodb.repo}
///
/// @code
/// [ArangoDB]
/// name=ArangoDB Repository for CentOS
/// failovermethod=priority
/// baseurl=http://www.arangodb.org/repositories/CentOS-6
/// enabled=1
/// gpgcheck=1
/// gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-www.arangodb.org
/// @endcode
///
/// Update the repository data:
///
/// @code
/// yum clean metadata
/// yum update
/// @endcode
///
/// Search for arangodb:
///
/// @code
/// yum search arangodb
/// @endcode
///
/// Install arangodb:
///
/// @code
/// yum install arangodb
/// @endcode
///
/// @subsubsection InstallingDebian Debian, Linux-Mint, and Ubuntu
//////////////////////////////////////////////////////////////////
///
/// Download and import GPG-PublicKey
///
/// @code
/// wget -O RPM-GPG-KEY-www.arangodb.org http://www.arangodb.org/repositories/PublicKey
/// apt-key add RPM-GPG-KEY-www.arangodb.org
/// @endcode
///
/// Add the corresponding repository in file @LIT{/etc/apt/sources.list}:
/// @code
/// deb http://www.arangodb.org/repositories Debian-6 main
/// @endcode
/// or
/// @code
/// deb http://www.arangodb.org/repositories LinuxMint-13 main
/// @endcode
/// or
/// @code
/// deb http://www.arangodb.org/repositories Ubuntu-11.10 main
/// @endcode
///
/// Update the repository data:
///
/// @code
/// aptitude update
/// @endcode
///
/// Now you should be able to search for arangodb:
///
/// @code
/// aptitude search arangodb
/// @endcode
///
/// In order to install arangodb:
///
/// @code
/// aptitude install arangodb
/// @endcode
///
/// @subsubsection Gentoo
/////////////////////////
///
/// Please use the
/// @EXTREF_S{https://github.com/mgiken/portage-overlay/tree/master/dev-db/ArangoDB,portage}
/// provided by @@mgiken.
///
/// @subsubsection InstallingOpenSUSE OpenSuSE
//////////////////////////////////////////////
///
/// Add the repository as follows:
///
/// @code
/// zypper addrepo -f -t YUM http://www.arangodb.org/repositories/openSUSE-12.1 ArangoDB
/// @endcode
///
/// Update the repository data:
///
/// @code
/// zypper refresh
/// @endcode
///
/// Search for arangodb:
///
/// @code
/// zypper search arangodb
/// @endcode
///
/// Install arangodb:
///
/// @code
/// zypper install arangodb
/// @endcode
///
/// @section InstallingMacOSX Mac OS X
//////////////////////////////////////
///
/// You can find the MacOSX packages here:
///
/// @LIT{http://www.arangodb.org/repositories/MacOSX}
///
/// @subsection InstallingMacOSXHomebrew Homebrew
/////////////////////////////////////////////////
///
/// If you are using <a href="http://mxcl.github.com/homebrew/">homebrew</a>,
/// then you can install the ArangoDB using @LIT{brew} as follows:
///
/// @code
/// brew install arangodb
/// @endcode
///
/// This will install the current stable version of ArangoDB within
/// your Homebrew tree.
///
/// If you want to install the latest version use:
///
/// @code
/// brew install --HEAD arangodb
/// @endcode
////////////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// --SECTION-- COMPILING // --SECTION-- COMPILING
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------

View File

@ -28,7 +28,7 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page RefManual ArangoDB's Reference Manual (@VERSION) /// @page RefManual ArangoDB's Reference Manual (@VERSION)
/// ///
/// @NAVIGATE_LAST{ImplementorManual,Home} /// @NAVIGATE_RefManual
/// ///
/// @if LATEX /// @if LATEX
/// <ul> /// <ul>

View File

@ -72,6 +72,8 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page ShellCollection Handling Collections /// @page ShellCollection Handling Collections
/// ///
/// @NAVIGATE_ShellCollection
///
/// This is an introduction to ArangoDB's interface for collections and how /// This is an introduction to ArangoDB's interface for collections and how
/// handle collections from the JavaScript shell @LIT{arangosh}. For other /// handle collections from the JavaScript shell @LIT{arangosh}. For other
/// languages see the corresponding language API. /// languages see the corresponding language API.

View File

@ -72,6 +72,8 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page ShellDocument Handling Documents /// @page ShellDocument Handling Documents
/// ///
/// @NAVIGATE_ShellDocument
///
/// This is an introduction to ArangoDB's interface for documents and how handle /// This is an introduction to ArangoDB's interface for documents and how handle
/// documents from the JavaScript shell @LIT{arangosh}. For other languages see /// documents from the JavaScript shell @LIT{arangosh}. For other languages see
/// the corresponding language API. /// the corresponding language API.

View File

@ -58,6 +58,8 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page ShellEdge Handling Edges /// @page ShellEdge Handling Edges
/// ///
/// @NAVIGATE_ShellEdge
///
/// This is an introduction to ArangoDB's interface for edges and how handle /// This is an introduction to ArangoDB's interface for edges and how handle
/// edges from the JavaScript shell @LIT{arangosh}. For other languages see the /// edges from the JavaScript shell @LIT{arangosh}. For other languages see the
/// corresponding language API. /// corresponding language API.

View File

@ -77,6 +77,8 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page SimpleQueries Simple Queries /// @page SimpleQueries Simple Queries
/// ///
/// @NAVIGATE_SimpleQueries
///
/// Simple queries can be used if the query condition is straight forward, /// Simple queries can be used if the query condition is straight forward,
/// i.e., a document reference, all documents, a query-by-example, or a simple /// i.e., a document reference, all documents, a query-by-example, or a simple
/// geo query. In a simple query you can specify exactly one collection and one /// geo query. In a simple query you can specify exactly one collection and one

View File

@ -25,45 +25,6 @@
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany /// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// -----------------------------------------------------------------------------
// --SECTION-- USER MANUAL
// -----------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
/// @page UserManual ArangoDB's User Manual (@VERSION)
///
/// @NAVIGATE{Upgrading,Home,DbaManual}
///
/// @if LATEX
/// <ul>
/// <li>@ref FirstStepsArangoDB</li>
/// <li>@ref UserManualArangosh</li>
/// <li>@ref UserManualWebInterface</li>
/// <li>@ref ShellCollection</li>
/// <li>@ref ShellDocument</li>
/// <li>@ref ShellEdge</li>
/// <li>@ref SimpleQueries</li>
/// <li>@ref Aql</li>
/// <li>@ref UserManualActions</li>
///
/// @latexonly\appendix@endlatexonly
/// <li>@ref CommandLine</li>
/// <li>@ref Glossary</li>
/// </ul>
/// @else
/// @copydetails FirstStepsArangoDBTOC
/// @copydetails UserManualArangoshTOC
/// @copydetails UserManualWebInterfaceTOC
/// @copydetails ShellCollectionTOC
/// @copydetails ShellDocumentTOC
/// @copydetails ShellEdgeTOC
/// @copydetails SimpleQueriesTOC
/// @copydetails AqlTOC
/// @copydetails UserManualActionsTOC
/// @copydetails CommandLineTOC
/// @endif
////////////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// --SECTION-- USER MANUAL ARANGOSH // --SECTION-- USER MANUAL ARANGOSH
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
@ -80,6 +41,7 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page UserManualArangosh The Arango Shell /// @page UserManualArangosh The Arango Shell
/// ///
/// @NAVIGATE_UserManualArangosh
/// @EMBEDTOC{UserManualArangoshTOC} /// @EMBEDTOC{UserManualArangoshTOC}
/// ///
/// @section UserManualArangoshOutput Arango Shell Output /// @section UserManualArangoshOutput Arango Shell Output
@ -188,6 +150,8 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @page UserManualActions Arango Actions /// @page UserManualActions Arango Actions
/// ///
/// @NAVIGATE_UserManualActions
///
/// Please note, that user Actions in ArangoDB are still preliminary and details /// Please note, that user Actions in ArangoDB are still preliminary and details
/// are subject to change. /// are subject to change.
/// ///
@ -250,7 +214,7 @@
////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////
/// ///
/// The client API or browser sends a HTTP request to the ArangoDB server and /// The client API or browser sends a HTTP request to the ArangoDB server and
/// the server returns a HTTP response to the client. A HTTP requests consists /// the server returns a HTTP response to the client. A HTTP request consists
/// of a method, normally @LIT{GET} or @LIT{POST} when using a browser, and a /// of a method, normally @LIT{GET} or @LIT{POST} when using a browser, and a
/// request path like @LIT{/hello/world}. For a real Web server there are a zillion /// request path like @LIT{/hello/world}. For a real Web server there are a zillion
/// of other thing to consider, we will ignore this for the moment. The HTTP /// of other thing to consider, we will ignore this for the moment. The HTTP
@ -725,7 +689,7 @@
/// ... /// ...
/// }, /// },
/// "options": { /// "options": {
/// "Hallo": "world" /// "Hallo": "World"
/// } /// }
/// } /// }
/// @endcode /// @endcode
@ -846,7 +810,7 @@
/// arangosh> db._routing.save({ /// arangosh> db._routing.save({
/// ........> url: "/", /// ........> url: "/",
/// ........> action: { /// ........> action: {
/// ........> controller: "org/arangodb/actions", /// ........> controller: "org/arangodb/actions",
/// ........> do: "redirectRequest", /// ........> do: "redirectRequest",
/// ........> options: { /// ........> options: {
/// ........> permanently: true, /// ........> permanently: true,

View File

@ -118,7 +118,8 @@ static void AddNewElement (TRI_hasharray_t* array, void* element) {
static bool AllocateTable (TRI_hasharray_t* array, size_t numElements) { static bool AllocateTable (TRI_hasharray_t* array, size_t numElements) {
char* table; char* table;
table = TRI_Allocate(TRI_UNKNOWN_MEM_ZONE, CACHE_LINE_SIZE + (array->_elementSize * numElements), true); table = (char*) TRI_Allocate(TRI_UNKNOWN_MEM_ZONE, CACHE_LINE_SIZE + (array->_elementSize * numElements), true);
if (table == NULL) { if (table == NULL) {
return false; return false;
} }

View File

@ -502,10 +502,11 @@ void ArangoServer::buildApplicationServer () {
int err = 0; int err = 0;
string currentDir = FileUtils::currentDirectory(&err); string currentDir = FileUtils::currentDirectory(&err);
char* absoluteFile = TRI_GetAbsolutePath(_pidFile.c_str(), currentDir.c_str()); char* absoluteFile = TRI_GetAbsolutePath(_pidFile.c_str(), currentDir.c_str());
if (absoluteFile != 0) { if (absoluteFile != 0) {
_pidFile = string(absoluteFile); _pidFile = string(absoluteFile);
TRI_Free(TRI_UNKNOWN_MEM_ZONE, absoluteFile); TRI_Free(TRI_UNKNOWN_MEM_ZONE, absoluteFile);
LOGGER_DEBUG << "using absolute pid file '" << _pidFile << "'"; LOGGER_DEBUG << "using absolute pid file '" << _pidFile << "'";
} }
else { else {

0
arangod/V8Server/v8-query.cpp Executable file → Normal file
View File

128
arangod/V8Server/v8-vocbase.cpp Executable file → Normal file
View File

@ -3531,18 +3531,6 @@ static v8::Handle<v8::Value> JS_EnsureCapConstraintVocbaseCol (v8::Arguments con
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @brief ensures that a bitarray index exists /// @brief ensures that a bitarray index exists
///
/// @FUN{@FA{collection}.ensureBitarray(@FA{field1}, @FA{value1}, @FA{field2}, @FA{value2},...,@FA{fieldn}, @FA{valuen})}
///
/// Creates a bitarray index on all documents using attributes as paths to
/// the fields. At least one attribute and one set of possible values must be given.
/// All documents, which do not have the attribute path or
/// with one or more values that are not suitable, are ignored.
///
/// In case that the index was successfully created, the index identifier
/// is returned.
///
/// @verbinclude fluent14
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
static v8::Handle<v8::Value> EnsureBitarray (v8::Arguments const& argv, bool supportUndef) { static v8::Handle<v8::Value> EnsureBitarray (v8::Arguments const& argv, bool supportUndef) {
@ -3766,10 +3754,126 @@ static v8::Handle<v8::Value> EnsureBitarray (v8::Arguments const& argv, bool sup
return scope.Close(theIndex); return scope.Close(theIndex);
} }
////////////////////////////////////////////////////////////////////////////////
/// @brief ensures that a bitarray index exists
///
/// @FUN{@FA{collection}.ensureBitarray(@FA{field1}, @FA{value1}, @FA{field2}, @FA{value2},...,@FA{fieldn}, @FA{valuen})}
///
/// Creates a bitarray index on documents using attributes as paths to the
/// fields (@FA{field1},..., @FA{fieldn}). A value (@FA{value1},...,@FA{valuen})
/// consists of an array of possible values that the field can take. At least
/// one field and one set of possible values must be given.
///
/// All documents, which do not have *all* of the attribute paths are ignored
/// (that is, are not part of the bitarray index, they are however stored within
/// the collection). A document which contains all of the attribute paths yet
/// has one or more values which are *not* part of the defined range of values
/// will be rejected and the document will not inserted within the
/// collection. Note that, if a bitarray index is created subsequent to
/// any documents inserted in the given collection, then the creation of the
/// index will fail if one or more documents are rejected (due to
/// attribute values being outside the designated range).
///
/// In case that the index was successfully created, the index identifier is
/// returned.
///
/// In the example below we create a bitarray index with one field and that
/// field can have the values of either `0` or `1`. Any document which has the
/// attribute `x` defined and does not have a value of `0` or `1` will be
/// rejected and therefore not inserted within the collection. Documents without
/// the attribute `x` defined will not take part in the index.
///
/// @code
/// arango> arangod> db.example.ensureBitarray("x", [0,1]);
/// {
/// "id" : "2755894/3607862",
/// "unique" : false,
/// "type" : "bitarray",
/// "fields" : [["x", [0, 1]]],
/// "undefined" : false,
/// "isNewlyCreated" : true
/// }
/// @endcode
///
/// In the example below we create a bitarray index with one field and that
/// field can have the values of either `0`, `1` or *other* (indicated by
/// `[]`). Any document which has the attribute `x` defined will take part in
/// the index. Documents without the attribute `x` defined will not take part in
/// the index.
///
/// @code
/// arangod> db.example.ensureBitarray("x", [0,1,[]]);
/// {
/// "id" : "2755894/4263222",
/// "unique" : false,
/// "type" : "bitarray",
/// "fields" : [["x", [0, 1, [ ]]]],
/// "undefined" : false,
/// "isNewlyCreated" : true
/// }
/// @endcode
///
/// In the example below we create a bitarray index with two fields. Field `x`
/// can have the values of either `0` or `1`; while field `y` can have the values
/// of `2` or `"a"`. A document which does not have *both* attributes `x` and `y`
/// will not take part within the index. A document which does have both attributes
/// `x` and `y` defined must have the values `0` or `1` for attribute `x` and
/// `2` or `a` for attribute `y`, otherwise the document will not be inserted
/// within the collection.
///
/// @code
/// arangod> db.example.ensureBitarray("x", [0,1], "y", [2,"a"]);
/// {
/// "id" : "2755894/5246262",
/// "unique" : false,
/// "type" : "bitarray",
/// "fields" : [["x", [0, 1]], ["y", [0, 1]]],
/// "undefined" : false,
/// "isNewlyCreated" : false
/// }
/// @endcode
///
/// In the example below we create a bitarray index with two fields. Field `x`
/// can have the values of either `0` or `1`; while field `y` can have the
/// values of `2`, `"a"` or *other* . A document which does not have *both*
/// attributes `x` and `y` will not take part within the index. A document
/// which does have both attributes `x` and `y` defined must have the values `0`
/// or `1` for attribute `x` and any value for attribute `y` will be acceptable,
/// otherwise the document will not be inserted within the collection.
///
/// @code
/// arangod> db.example.ensureBitarray("x", [0,1], "y", [2,"a",[]]);
/// {
/// "id" : "2755894/5770550",
/// "unique" : false,
/// "type" : "bitarray",
/// "fields" : [["x", [0, 1]], ["y", [2, "a", [ ]]]],
/// "undefined" : false,
/// "isNewlyCreated" : true
/// }
/// @endcode
////////////////////////////////////////////////////////////////////////////////
static v8::Handle<v8::Value> JS_EnsureBitarrayVocbaseCol (v8::Arguments const& argv) { static v8::Handle<v8::Value> JS_EnsureBitarrayVocbaseCol (v8::Arguments const& argv) {
return EnsureBitarray(argv, false); return EnsureBitarray(argv, false);
} }
////////////////////////////////////////////////////////////////////////////////
/// @brief ensures that a bitarray index exists
///
/// @FUN{@FA{collection}.ensureUndefBitarray(@FA{field1}, @FA{value1}, @FA{field2}, @FA{value2},...,@FA{fieldn}, @FA{valuen})}
///
/// Creates a bitarray index on all documents using attributes as paths to
/// the fields. At least one attribute and one set of possible values must be given.
/// All documents, which do not have the attribute path or
/// with one or more values that are not suitable, are ignored.
///
/// In case that the index was successfully created, the index identifier
/// is returned.
///
/// @verbinclude fluent14
////////////////////////////////////////////////////////////////////////////////
static v8::Handle<v8::Value> JS_EnsureUndefBitarrayVocbaseCol (v8::Arguments const& argv) { static v8::Handle<v8::Value> JS_EnsureUndefBitarrayVocbaseCol (v8::Arguments const& argv) {
return EnsureBitarray(argv, true); return EnsureBitarray(argv, true);
} }

View File

@ -453,6 +453,7 @@ void ArangoClient::parse (ProgramOptions& options,
// no password given on command-line // no password given on command-line
if (! _hasPassword) { if (! _hasPassword) {
TRI_FlushLogging();
cout << "Please specify a password: " << flush; cout << "Please specify a password: " << flush;
// now prompt for it // now prompt for it
@ -464,6 +465,7 @@ void ArangoClient::parse (ProgramOptions& options,
#else #else
getline(cin, _password); getline(cin, _password);
#endif #endif
cout << "\n";
} }
} }
} }

View File

@ -15,6 +15,13 @@ dnl ----------------------------------------------------------------------------
AC_CONFIG_AUX_DIR([config]) AC_CONFIG_AUX_DIR([config])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
CURRENT_DIR=`pwd`
AC_MSG_NOTICE([configure started in '$CURRENT_DIR])
AC_MSG_NOTICE([with CPPFLAGS='$CPPFLAGS'])
AC_MSG_NOTICE([with CFLAGS='$CFLAGS'])
AC_MSG_NOTICE([with CXXFLAGS='$CXXFLAGS'])
AC_MSG_NOTICE([with LDFLAGS='$LDFLAGS'])
dnl ============================================================================ dnl ============================================================================
dnl --SECTION-- 3RD-PARTY LIBRARIES dnl --SECTION-- 3RD-PARTY LIBRARIES
dnl ============================================================================ dnl ============================================================================

View File

@ -1074,7 +1074,7 @@ char* TRI_GetAbsolutePath (char const* file, char const* cwd) {
bool isAbsolute; bool isAbsolute;
#ifdef _WIN32 #ifdef _WIN32
#error please validate this function for Windows #error please validate if this works on Windows
#endif #endif
if (file == NULL || *file == '\0') { if (file == NULL || *file == '\0') {

View File

@ -235,8 +235,11 @@ const std::string Endpoint::getDefaultEndpoint () {
void Endpoint::setTimeout (socket_t s, double timeout) { void Endpoint::setTimeout (socket_t s, double timeout) {
struct timeval tv; struct timeval tv;
tv.tv_sec = (uint64_t) timeout;
tv.tv_usec = ((uint64_t) (timeout * 1000000.0)) % 1000000; // shut up Valgrind
memset(&tv, 0, sizeof(tv));
tv.tv_sec = (time_t) timeout;
tv.tv_usec = ((suseconds_t) (timeout * 1000000.0)) % 1000000;
// conversion to (const char*) ensures windows does not complain // conversion to (const char*) ensures windows does not complain
setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, (const char*)(&tv), sizeof(tv)); setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, (const char*)(&tv), sizeof(tv));

View File

@ -129,18 +129,19 @@ socket_t EndpointIp::connectSocket (const struct addrinfo* aip, double connectTi
return 0; return 0;
} }
// try to reuse address
int opt = 1;
if (setsockopt(listenSocket, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast<char*> (&opt), sizeof (opt)) == -1) {
LOGGER_ERROR << "setsockopt failed with " << errno << " (" << strerror(errno) << ")";
TRI_CLOSE(listenSocket);
return 0;
}
LOGGER_TRACE << "reuse address flag set";
if (_type == ENDPOINT_SERVER) { if (_type == ENDPOINT_SERVER) {
// try to reuse address
int opt = 1;
if (setsockopt(listenSocket, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast<char*> (&opt), sizeof (opt)) == -1) {
LOGGER_ERROR << "setsockopt failed with " << errno << " (" << strerror(errno) << ")";
TRI_CLOSE(listenSocket);
return 0;
}
LOGGER_TRACE << "reuse address flag set";
// server needs to bind to socket // server needs to bind to socket
int result = bind(listenSocket, aip->ai_addr, aip->ai_addrlen); int result = bind(listenSocket, aip->ai_addr, aip->ai_addrlen);
if (result != 0) { if (result != 0) {

View File

@ -255,6 +255,8 @@ bool V8LineEditor::open (const bool autoComplete) {
// issue #289: do not append a space after completion // issue #289: do not append a space after completion
rl_completion_append_character = '\0'; rl_completion_append_character = '\0';
// works only in Readline 4.2+
#if RL_READLINE_VERSION >= 0x0500
// enable this to turn on the visual bell - evil! // enable this to turn on the visual bell - evil!
// rl_variable_bind("prefer-visible-bell", "1"); // rl_variable_bind("prefer-visible-bell", "1");
@ -271,7 +273,7 @@ bool V8LineEditor::open (const bool autoComplete) {
// use readlines built-in page-wise completer // use readlines built-in page-wise completer
rl_variable_bind("page-completions", "1"); rl_variable_bind("page-completions", "1");
#endif
rl_attempted_completion_function = AttemptedCompletion; rl_attempted_completion_function = AttemptedCompletion;
rl_completer_word_break_characters = WordBreakCharacters; rl_completer_word_break_characters = WordBreakCharacters;

View File

@ -111,8 +111,6 @@ AC_PROG_INSTALL
AC_PROG_LN_S AC_PROG_LN_S
AC_PROG_MAKE_SET AC_PROG_MAKE_SET
LDFLAGS=-g
AC_ARG_ENABLE(error-on-warning, AC_ARG_ENABLE(error-on-warning,
AS_HELP_STRING([--enable-error-on-warning], [treat warnings as errors (default: no)]), AS_HELP_STRING([--enable-error-on-warning], [treat warnings as errors (default: no)]),
[tr_WERROR="${enableval:-yes}"], [tr_WERROR="${enableval:-yes}"],

View File

@ -17,7 +17,7 @@ dnl enable static programs if possible
dnl ----------------------------------------------------------------------------------------- dnl -----------------------------------------------------------------------------------------
if test "x$tr_STATIC_PROGRAMS" = xyes; then if test "x$tr_STATIC_PROGRAMS" = xyes; then
LDFLAGS="-static" LDFLAGS="$LDFLAGS -static"
fi fi
dnl ----------------------------------------------------------------------------------------- dnl -----------------------------------------------------------------------------------------