mirror of https://gitee.com/bigwinds/arangodb
moved .dox to .md
This commit is contained in:
parent
9bf9862f2b
commit
6ef349c473
|
@ -1,7 +0,0 @@
|
|||
1 + 1
|
||||
33 - 99
|
||||
12.4 * 4.5
|
||||
13.0 / 0.1
|
||||
23 % 7
|
||||
-15
|
||||
+9.99
|
|
@ -1,4 +0,0 @@
|
|||
FOR u IN users
|
||||
FOR f IN friends
|
||||
FILTER u.active == true && f.active == true && u.id == f.userId
|
||||
RETURN u.name
|
|
@ -1,3 +0,0 @@
|
|||
FOR u IN users
|
||||
FILTER u.id == @id && u.name == @name
|
||||
RETURN u
|
|
@ -1,3 +0,0 @@
|
|||
FOR u IN @@collection
|
||||
FILTER u.active == true
|
||||
RETURN u
|
|
@ -1,4 +0,0 @@
|
|||
FOR u IN users
|
||||
COLLECT city = u.city INTO g
|
||||
RETURN { "city" : city, "users" : g }
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
FOR u IN users
|
||||
COLLECT first = u.firstName, age = u.age INTO g
|
||||
RETURN { "first" : first, "age" : age, "numUsers" : LENGTH(g) }
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
COLLECT variable-name = expression
|
||||
COLLECT variable-name = expression INTO groups
|
|
@ -1,41 +0,0 @@
|
|||
null < false
|
||||
null < true
|
||||
null < 0
|
||||
null < ''
|
||||
null < ' '
|
||||
null < '0'
|
||||
null < 'abc'
|
||||
null < [ ]
|
||||
null < { }
|
||||
|
||||
false < true
|
||||
false < 0
|
||||
false < ''
|
||||
false < ' '
|
||||
false < '0'
|
||||
false < 'abc'
|
||||
false < [ ]
|
||||
false < { }
|
||||
|
||||
true < 0
|
||||
true < ''
|
||||
true < ' '
|
||||
true < '0'
|
||||
true < 'abc'
|
||||
true < [ ]
|
||||
true < { }
|
||||
|
||||
0 < ''
|
||||
0 < ' '
|
||||
0 < '0'
|
||||
0 < 'abc'
|
||||
0 < [ ]
|
||||
0 < { }
|
||||
|
||||
'' < ' '
|
||||
'' < '0'
|
||||
'' < 'abc'
|
||||
'' < [ ]
|
||||
'' < { }
|
||||
|
||||
[ ] < { }
|
|
@ -1,6 +0,0 @@
|
|||
[ ] < [ 0 ]
|
||||
[ 1 ] < [ 2 ]
|
||||
[ 1, 2 ] < [ 2 ]
|
||||
[ 99, 99 ] < [ 100 ]
|
||||
[ false ] < [ true ]
|
||||
[ false, 1 ] < [ false, '' ]
|
|
@ -1,8 +0,0 @@
|
|||
{ } < { "a" : 1 }
|
||||
{ } < { "a" : null }
|
||||
{ "a" : 1 } < { "a" : 2 }
|
||||
{ "b" : 1 } < { "a" : 0 }
|
||||
{ "a" : { "c" : true } } < { "a" : { "c" : 0 } }
|
||||
{ "a" : { "c" : true, "a" : 0 } } < { "a" : { "c" : false, "a" : 1 } }
|
||||
|
||||
{ "a" : 1, "b" : 2 } == { "b" : 2, "a" : 1 }
|
|
@ -1,7 +0,0 @@
|
|||
1 > 0
|
||||
true != null
|
||||
45 <= "yikes!"
|
||||
65 != "65"
|
||||
65 == 65
|
||||
1.23 < 1.32
|
||||
1.5 IN [ 2, 3, 1.5 ]
|
|
@ -1,2 +0,0 @@
|
|||
u.address.city.name
|
||||
u.friends[0].name.first
|
|
@ -1 +0,0 @@
|
|||
{ }
|
|
@ -1 +0,0 @@
|
|||
EDGES(friendrelations, "friends/john", "outgoing")
|
|
@ -1,42 +0,0 @@
|
|||
/* return 5 documents from a users collection, unaltered */
|
||||
FOR u IN users
|
||||
LIMIT 0, 5
|
||||
RETURN u
|
||||
|
||||
[ { "_id" : "9259836/10505020", "_rev" : "10505020", "active" : true, "id" : 100, "age" : 37, "name" : "John", "gender" : "m" },
|
||||
{ "_id" : "9259836/11553596", "_rev" : "11553596", "active" : true, "id" : 107, "age" : 30, "gender" : "m", "name" : "Anthony" },
|
||||
{ "_id" : "9259836/11094844", "_rev" : "11094844", "active" : true, "id" : 101, "age" : 36, "name" : "Fred", "gender" : "m" },
|
||||
{ "_id" : "9259836/11619132", "_rev" : "11619132", "active" : true, "id" : 108, "age" : 29, "name" : "Jim", "gender" : "m" },
|
||||
{ "_id" : "9259836/11160380", "_rev" : "11160380", "active" : false, "id" : 102, "age" : 35, "name" : "Jacob", "gender" : "m" } ]
|
||||
|
||||
|
||||
/* return a projection from a users collection */
|
||||
FOR u IN users
|
||||
LIMIT 0, 5
|
||||
RETURN { "user" : { "isActive": u.active ? "yes" : "no", "name" : u.name } }
|
||||
|
||||
[ { "user" : { "isActive" : "yes", "name" : "John" } },
|
||||
{ "user" : { "isActive" : "yes", "name" : "Anthony" } },
|
||||
{ "user" : { "isActive" : "yes", "name" : "Fred" } },
|
||||
{ "user" : { "isActive" : "yes", "name" : "Jim" } },
|
||||
{ "user" : { "isActive" : "no", "name" : "Jacob" } } ]
|
||||
|
||||
|
||||
/* return a filtered projection from a users collection */
|
||||
FOR u IN users
|
||||
FILTER u.active == true && u.age >= 30
|
||||
SORT u.age DESC
|
||||
RETURN { "age" : u.age, "name" : u.name }
|
||||
|
||||
[ { "age" : 37, "name" : "John" },
|
||||
{ "age" : 37, "name" : "Sophia" },
|
||||
{ "age" : 36, "name" : "Fred" },
|
||||
{ "age" : 36, "name" : "Emma" },
|
||||
{ "age" : 34, "name" : "Madison" },
|
||||
{ "age" : 33, "name" : "Michael" },
|
||||
{ "age" : 33, "name" : "Chloe" },
|
||||
{ "age" : 32, "name" : "Alexander" },
|
||||
{ "age" : 31, "name" : "Daniel" },
|
||||
{ "age" : 31, "name" : "Abigail" },
|
||||
{ "age" : 30, "name" : "Anthony" },
|
||||
{ "age" : 30, "name" : "Isabella" } ]
|
|
@ -1,45 +0,0 @@
|
|||
/* group users by age */
|
||||
FOR u IN users
|
||||
FILTER u.active == true
|
||||
COLLECT age = u.age INTO group
|
||||
SORT age DESC
|
||||
RETURN { "age" : age, "users" : group }
|
||||
|
||||
[ { "age" : 37, "users" : ["Sophia", "John"] },
|
||||
{ "age" : 36, "users" : ["Emma", "Fred"] },
|
||||
{ "age" : 34, "users" : ["Madison"] },
|
||||
{ "age" : 33, "users" : ["Chloe", "Michael"] },
|
||||
{ "age" : 32, "users" : ["Alexander"] },
|
||||
{ "age" : 31, "users" : ["Abigail", "Daniel"] },
|
||||
{ "age" : 30, "users" : ["Isabella", "Anthony"] },
|
||||
{ "age" : 29, "users" : ["Mary", "Jim"] },
|
||||
{ "age" : 28, "users" : ["Mariah", "Diego"] } ]
|
||||
|
||||
|
||||
/* group users by agegroup and gender */
|
||||
FOR u IN users
|
||||
FILTER u.active == true
|
||||
COLLECT ageGroup = FLOOR(u.age/5) * 5, gender = u.gender INTO group
|
||||
SORT ageGroup DESC
|
||||
RETURN { "ageGroup" : ageGroup, "gender" : gender, "numUsers" : LENGTH(group) }
|
||||
|
||||
[ { "ageGroup" : 35, "gender" : "f", "numUsers" : 2 },
|
||||
{ "ageGroup" : 35, "gender" : "m", "numUsers" : 2 },
|
||||
{ "ageGroup" : 30, "gender" : "f", "numUsers" : 4 },
|
||||
{ "ageGroup" : 30, "gender" : "m", "numUsers" : 4 },
|
||||
{ "ageGroup" : 25, "gender" : "f", "numUsers" : 2 },
|
||||
{ "ageGroup" : 25, "gender" : "m", "numUsers" : 2 } ]
|
||||
|
||||
|
||||
/* get the 3 agegroups with most users */
|
||||
FOR u IN users
|
||||
FILTER u.active == true
|
||||
COLLECT ageGroup = FLOOR(u.age/5) * 5 INTO group
|
||||
FILTER LENGTH(group) > 2 /* group must contain at least 3 users */
|
||||
SORT LENGTH(group) DESC
|
||||
LIMIT 0, 3
|
||||
RETURN { "ageGroup" : ageGroup, "numUsers" : LENGTH(group), "users" : group[*].u.name }
|
||||
|
||||
[ { "ageGroup" : 30, "numUsers" : 8, "users" : ["Alexander", "Isabella", "Michael", "Abigail", "Anthony", "Daniel", "Madison", "Chloe"] },
|
||||
{ "ageGroup" : 25, "numUsers" : 4, "users" : ["Mariah", "Mary", "Jim", "Diego"] },
|
||||
{ "ageGroup" : 35, "numUsers" : 4, "users" : ["Emma", "Sophia", "Fred", "John"] } ]
|
|
@ -1,49 +0,0 @@
|
|||
/* getting the names of friends (also users) for users. this is achieved by "joining" a relations table */
|
||||
FOR u IN users
|
||||
FILTER u.active == true
|
||||
LET friends = (FOR f IN userRelations
|
||||
FILTER f.from == u.id
|
||||
FOR u2 IN users
|
||||
FILTER f.to == u2.id
|
||||
RETURN u2.name
|
||||
)
|
||||
RETURN { "user" : u.name, "friends" : friends }
|
||||
|
||||
[ { "user" : "John", "friends" : ["Diego", "Mary", "Abigail"] },
|
||||
{ "user" : "Anthony", "friends" : ["Madison"] },
|
||||
{ "user" : "Fred", "friends" : ["Mariah"] },
|
||||
{ "user" : "Jim", "friends" : ["Mariah"] },
|
||||
{ "user" : "Diego", "friends" : ["Mary"] },
|
||||
{ "user" : "Sophia", "friends" : ["Madison", "John"] },
|
||||
{ "user" : "Michael", "friends" : ["John", "Jim"] },
|
||||
{ "user" : "Emma", "friends" : ["Jacob", "Madison"] },
|
||||
{ "user" : "Alexander", "friends" : ["Michael", "John"] },
|
||||
{ "user" : "Daniel", "friends" : ["Eva"] },
|
||||
{ "user" : "Madison", "friends" : ["Anthony", "Daniel"] },
|
||||
{ "user" : "Chloe", "friends" : ["Alexander"] },
|
||||
{ "user" : "Abigail", "friends" : ["Daniel", "John", "Jacob", "Jim"] },
|
||||
{ "user" : "Isabella", "friends" : ["Madison", "Diego"] },
|
||||
{ "user" : "Mary", "friends" : ["Isabella", "Diego", "Michael"] },
|
||||
{ "user" : "Mariah", "friends" : ["Madison", "Ethan", "Eva"] } ]
|
||||
|
||||
|
||||
/* getting users favorite song names from a joined "songs" collection */
|
||||
FOR u IN users
|
||||
LET likes = (
|
||||
FOR s IN songs
|
||||
FILTER s._id IN u.likes
|
||||
RETURN CONCAT(s.artist, " - ", s.song)
|
||||
)
|
||||
SORT RAND()
|
||||
LIMIT 0, 8
|
||||
RETURN { "user" : u.name, "likes" : likes }
|
||||
|
||||
[ { "user" : "Eva", "likes" : ["Chocolate - Ritmo De La Noche", "4 The Cause - Stand By Me", "Tony Carey - Room with a view"] },
|
||||
{ "user" : "Mary", "likes" : ["Hall and Oates - Maneater", "Elton John - Candle In The Wind", "A-Ha - Crying In The Rain", "Laid Back - Sunshine Reggae", "Cock Robin - The promise you made"] },
|
||||
{ "user" : "Alexander", "likes" : ["Moby - Feel so real", "Rednex - Old pop in an oak", "2 Unlimited - No Limit"] },
|
||||
{ "user" : "Michael", "likes" : ["The Kelly Family - David's Song"] },
|
||||
{ "user" : "Ethan", "likes" : ["Technotronic - Megamix", "Gipsy Kings - Baila me", "Goombay Dance Band - Seven Tears", "Sandra - Hiroshima"] }, { "user" : "Isabella", "likes" : ["Milli Vanilli - Girl, I'm Gonna Miss You", "Technotronic - Get Up", "Right Said Fred - Don't Talk Just Kiss", "Peter Schilling - Major Tom (Völlig losgelöst)"] },
|
||||
{ "user" : "Abigail", "likes" : ["Tina Turner - Typical male", "Liquido - Narcotic"] },
|
||||
{ "user" : "Jim", "likes" : ["Berlin - Take my breath away", "Ashford & Simpson - Solid", "Fine Young Cannibals - She drives me cracy", "Cut'N'Move - Give it up", "Cyndi Lauper - Time after time"] },
|
||||
{ "user" : "Jacob", "likes" : ["Kylie Minogue - The Loco-motion", "Eruption - Runaway"] } ]
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
/* a query that returns a string value. the result string is contained in a list because the result of every valid query is a list */
|
||||
RETURN "this will be returned"
|
||||
|
||||
["this will be returned"]
|
||||
|
||||
|
||||
/* a query that creates the cross products of two lists, and runs a projection on it */
|
||||
FOR year in [ 2011, 2012, 2013 ]
|
||||
FOR quarter IN [ 1, 2, 3, 4 ]
|
||||
RETURN { "y" : "year", "q" : quarter, "nice" : CONCAT(TO_STRING(quarter), "/", TO_STRING(year)) }
|
||||
|
||||
[ { "y" : "year", "q" : 1, "nice" : "1/2011" },
|
||||
{ "y" : "year", "q" : 2, "nice" : "2/2011" },
|
||||
{ "y" : "year", "q" : 3, "nice" : "3/2011" },
|
||||
{ "y" : "year", "q" : 4, "nice" : "4/2011" },
|
||||
{ "y" : "year", "q" : 1, "nice" : "1/2012" },
|
||||
{ "y" : "year", "q" : 2, "nice" : "2/2012" },
|
||||
{ "y" : "year", "q" : 3, "nice" : "3/2012" },
|
||||
{ "y" : "year", "q" : 4, "nice" : "4/2012" },
|
||||
{ "y" : "year", "q" : 1, "nice" : "1/2013" },
|
||||
{ "y" : "year", "q" : 2, "nice" : "2/2013" },
|
||||
{ "y" : "year", "q" : 3, "nice" : "3/2013" },
|
||||
{ "y" : "year", "q" : 4, "nice" : "4/2013" } ]
|
|
@ -1,2 +0,0 @@
|
|||
FOR u IN users
|
||||
RETURN { "user" : u, "friendNames" : u.friends[*].name }
|
|
@ -1,3 +0,0 @@
|
|||
FOR u IN users
|
||||
FILTER u.active == true && u.age < 39
|
||||
RETURN u
|
|
@ -1,4 +0,0 @@
|
|||
FOR u IN users
|
||||
FILTER u.active == true
|
||||
FILTER u.age < 39
|
||||
RETURN u
|
|
@ -1 +0,0 @@
|
|||
FILTER condition
|
|
@ -1,2 +0,0 @@
|
|||
FOR u IN users
|
||||
RETURN u
|
|
@ -1,3 +0,0 @@
|
|||
FOR u IN users
|
||||
FOR l IN locations
|
||||
RETURN { "user" : u, "location" : l }
|
|
@ -1,2 +0,0 @@
|
|||
FOR year IN [ 2011, 2012, 2013 ]
|
||||
RETURN { "year" : year, "isLeapYear" : year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) }
|
|
@ -1 +0,0 @@
|
|||
FOR variable-name IN expression
|
|
@ -1,3 +0,0 @@
|
|||
HAS(user, "name")
|
||||
LENGTH(friends)
|
||||
COLLECTIONS()
|
|
@ -1 +0,0 @@
|
|||
FUNCTIONAME(arguments)
|
|
@ -1,3 +0,0 @@
|
|||
FOR u IN users
|
||||
LET numRecommendations = LENGTH(u.recommendations)
|
||||
RETURN { "user" : u, "numRecommendations" : numRecommendations, "isPowerUser" : numRecommendations >= 10 }
|
|
@ -1,12 +0,0 @@
|
|||
FOR u IN users
|
||||
LET friends = (
|
||||
FOR f IN friends
|
||||
FILTER u.id == f.userId
|
||||
RETURN f
|
||||
)
|
||||
LET memberships = (
|
||||
FOR m IN memberships
|
||||
FILTER u.id == m.userId
|
||||
RETURN m
|
||||
)
|
||||
RETURN { "user" : u, "friends" : friends, "numFriends" : LENGTH(friends), "memberShips" : memberships }
|
|
@ -1 +0,0 @@
|
|||
LET variable-name = expression
|
|
@ -1,4 +0,0 @@
|
|||
FOR u IN users
|
||||
SORT u.firstName, u.lastName, u.id DESC
|
||||
LIMIT 0, 5
|
||||
RETURN u
|
|
@ -1,2 +0,0 @@
|
|||
LIMIT count
|
||||
LIMIT offset, count
|
|
@ -1,11 +0,0 @@
|
|||
// access 1st list element (element start at index 0)
|
||||
u.friends[0]
|
||||
|
||||
// access 3rd list element
|
||||
u.friends[2]
|
||||
|
||||
// access last list element
|
||||
u.friends[-1]
|
||||
|
||||
// access second last list element
|
||||
u.friends[-2]
|
|
@ -1,3 +0,0 @@
|
|||
[ 1, 2, 3 ]
|
||||
[ -99, "yikes!", [ true, [ "no"], [ ] ], 1 ]
|
||||
[ [ "fox", "marshal" ] ]
|
|
@ -1,3 +0,0 @@
|
|||
u.age > 15 && u.address.city != ""
|
||||
true || false
|
||||
!u.isInvalid
|
|
@ -1,2 +0,0 @@
|
|||
FOR f IN `filter`
|
||||
RETURN f.`sort`
|
|
@ -1,3 +0,0 @@
|
|||
{ name : "Peter" }
|
||||
{ "name" : "Vanessa", "age" : 15 }
|
||||
{ "name" : "John", likes : [ "Swimming", "Skiing" ], "address" : { "street" : "Cucumber lane", "zip" : "94242" } }
|
|
@ -1,3 +0,0 @@
|
|||
FOR u IN users
|
||||
FILTER u.name == null
|
||||
RETURN u
|
|
@ -1,3 +0,0 @@
|
|||
FOR u IN users
|
||||
FILTER u.age < 39
|
||||
RETURN u
|
|
@ -1,8 +0,0 @@
|
|||
1
|
||||
42
|
||||
-1
|
||||
-42
|
||||
1.23
|
||||
-99.99
|
||||
0.1
|
||||
-4.87e103
|
|
@ -1,5 +0,0 @@
|
|||
PATHS(friends, friendrelations, "outbound", false)
|
||||
|
||||
FOR p IN PATHS(friends, friendrelations, "outbound")
|
||||
FILTER p.source._id == "123456/123456" && LENGTH(p.edges) == 2
|
||||
RETURN p.vertices[*].name
|
|
@ -1,3 +0,0 @@
|
|||
FOR u IN users
|
||||
FILTER u.type == "newbie" && u.active == true
|
||||
RETURN u.name
|
|
@ -1 +0,0 @@
|
|||
[ ]
|
|
@ -1,6 +0,0 @@
|
|||
FOR u IN users
|
||||
RETURN { "id" : u.id, "name" : u.name }
|
||||
|
||||
[ { "id" : 1, "name" : "John" },
|
||||
{ "id" : 2, "name" : "Vanessa" },
|
||||
{ "id" : 3, "name" : "Amy" } ]
|
|
@ -1,6 +0,0 @@
|
|||
FOR u IN users
|
||||
RETURN u
|
||||
|
||||
[ { "id" : 1, "name" : "John", "active" : false },
|
||||
{ "age" : 32, "id" : 2, "name" : "Vanessa" },
|
||||
{ "friends" : [ "John", "Vanessa" ], "id" : 3, "name" : "Amy" } ]
|
|
@ -1,4 +0,0 @@
|
|||
FOR u IN users
|
||||
RETURN u.id
|
||||
|
||||
[ 1, 2, 3 ]
|
|
@ -1,2 +0,0 @@
|
|||
FOR variable-name IN expression
|
||||
RETURN variable-name
|
|
@ -1 +0,0 @@
|
|||
RETURN expression
|
|
@ -1,3 +0,0 @@
|
|||
FOR u IN users
|
||||
SORT u.lastName, u.firstName, u.id DESC
|
||||
RETURN u
|
|
@ -1 +0,0 @@
|
|||
SORT expression direction
|
|
@ -1,10 +0,0 @@
|
|||
"yikes!"
|
||||
"don't know"
|
||||
"this is a \"quoted\" word"
|
||||
"this is a longer string."
|
||||
"the path separator on Windows is \\"
|
||||
|
||||
'yikes!'
|
||||
'don\'t know'
|
||||
'this is a longer string."
|
||||
'the path separator on Windows is \\'
|
|
@ -1,17 +0,0 @@
|
|||
FOR u IN users
|
||||
LET recommendations = (
|
||||
FOR r IN recommendations
|
||||
FILTER u.id == r.userId
|
||||
SORT u.rank DESC
|
||||
LIMIT 10
|
||||
RETURN r
|
||||
)
|
||||
RETURN { "user" : u, "recommendations" : recommendations }
|
||||
|
||||
|
||||
FOR u IN users
|
||||
COLLECT city = u.city INTO g
|
||||
RETURN { "city" : city, "numUsers" : LENGTH(g), "maxRating": MAX(
|
||||
FOR r IN g
|
||||
RETURN r.user.rating
|
||||
) }
|
|
@ -1 +0,0 @@
|
|||
u.age > 15 || u.active == true ? u.userId : null
|
|
@ -1,16 +0,0 @@
|
|||
TRAVERSAL(friends, friendrelations, "friends/john", "outbound", {
|
||||
strategy: "depthfirst",
|
||||
order: "postorder",
|
||||
itemOrder: "backward",
|
||||
maxDepth: 6,
|
||||
trackPaths: true
|
||||
})
|
||||
|
||||
TRAVERSAL(friends, friendrelations, "friends/john", "outbound", {
|
||||
strategy: "breadthfirst",
|
||||
order: "preorder",
|
||||
itemOrder: "forward",
|
||||
followEdges: [ { type: "knows" }, { state: "FL" } ]
|
||||
})
|
||||
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
TREE(friends, friendrelations, "friends/john", "outbound", "likes", {
|
||||
itemOrder: "forward"
|
||||
})
|
|
@ -1 +0,0 @@
|
|||
null < bool < number < string < list < document
|
|
@ -1,3 +0,0 @@
|
|||
FOR u IN users
|
||||
LET friends = u.friends
|
||||
RETURN { "name" : u.name, "friends" : friends }
|
|
@ -1 +0,0 @@
|
|||
./arangod --server.endpoint tcp://127.0.0.1:12345 --server.disable-authentication true /tmp/vocbase
|
|
@ -1 +0,0 @@
|
|||
http://127.0.0.1:12345/version
|
|
@ -1,4 +0,0 @@
|
|||
> ./arangod --server.endpoint tcp://127.0.0.1:12345 /tmp/vocbase
|
||||
2012-02-05T13:23:52Z [455] INFO ArangoDB (version 1.x.y) is ready for business
|
||||
2012-02-05T13:23:52Z [455] INFO HTTP client port: 12345
|
||||
2012-02-05T13:23:52Z [455] INFO Have Fun!
|
|
@ -1,2 +0,0 @@
|
|||
> ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
||||
2012-06-27T15:58:28Z [10133] INFO starting up in supervisor mode
|
|
@ -1,3 +0,0 @@
|
|||
> ps fax | grep arangod
|
||||
10137 ? Ssl 0:00 ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
||||
10142 ? Sl 0:00 \_ ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
|
@ -1,5 +0,0 @@
|
|||
> kill -SIGSEGV 10142
|
||||
|
||||
> ps fax | grep arangod
|
||||
10137 ? Ssl 0:00 ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
||||
10168 ? Sl 0:00 \_ ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
|
@ -0,0 +1,261 @@
|
|||
Compiling ArangoDB from scratch {#Compiling}
|
||||
============================================
|
||||
|
||||
@EMBEDTOC{CompilingTOC}
|
||||
|
||||
Compiling ArangoDB {#CompilingIntro}
|
||||
====================================
|
||||
|
||||
The following sections describe how to compile and build the ArangoDB from
|
||||
scratch. The ArangoDB will compile on most Linux and Mac OS X systems. It
|
||||
assumes that you use the GNU C++ compiler to compile the source. The ArangoDB
|
||||
has been tested with the GNU C++ compiler, but should compile with any Posix
|
||||
compliant compiler. Please let us know, whether you successfully compiled it
|
||||
with another C++ compiler.
|
||||
|
||||
There are possibilities:
|
||||
|
||||
- all-in-one: this version contains the source code of the ArangoDB, all
|
||||
generated files from the autotools, FLEX, and BISON as well
|
||||
as a version of V8, libev, and ICU.
|
||||
|
||||
- devel: this version contains the development version of the ArangoDB.
|
||||
Use this branch, if you want to make changes to ArangoDB
|
||||
source.
|
||||
|
||||
The devel version requires a complete development environment, while the
|
||||
all-in-one version allows you to compile the ArangoDB without installing all the
|
||||
prerequisites. The disadvantage is that it takes longer to compile and you
|
||||
cannot make changes to the flex or bison files.
|
||||
|
||||
@section CompilingAmazonMicroInstance Amazon Micro Instance
|
||||
|
||||
|
||||
@@sohgoh has reported that it is very easy to install ArangoDB on an
|
||||
Amazon Micro Instance:
|
||||
|
||||
amazon> sudo yum install readline-devel
|
||||
amazon> ./configure
|
||||
amazon> make
|
||||
amazon> make install
|
||||
|
||||
For detailed instructions the following section.
|
||||
|
||||
All-In-One Version {#CompilingAIO}
|
||||
==================================
|
||||
|
||||
Basic System Requirements {#CompilingAIOPrerequisites}
|
||||
------------------------------------------------------
|
||||
|
||||
Verify that your system contains:
|
||||
|
||||
- the GNU C++ compiler "g++" and standard C++ libraries
|
||||
- the GNU make
|
||||
|
||||
In addition you will need the following library:
|
||||
|
||||
- the GNU readline library
|
||||
- the OpenSSL library
|
||||
|
||||
Under Mac OS X you also need to install:
|
||||
|
||||
- Xcode
|
||||
- scons
|
||||
|
||||
Download the Source {#DownloadSourceAIO}
|
||||
----------------------------------------
|
||||
|
||||
Download the latest source using GIT:
|
||||
|
||||
git clone git://github.com/triAGENS/ArangoDB.git
|
||||
|
||||
Configure {#CompilingAIOConfigure}
|
||||
----------------------------------
|
||||
|
||||
Switch into the ArangoDB directory
|
||||
|
||||
cd ArangoDB
|
||||
|
||||
In order to configure the build environment execute
|
||||
|
||||
./configure --enable-all-in-one-v8 --enable-all-in-one-libev --enable-all-in-one-icu
|
||||
|
||||
to setup the makefiles. This will check the various system characteristics and
|
||||
installed libraries.
|
||||
|
||||
Compile {#CompilingAIOCompile}
|
||||
------------------------------
|
||||
|
||||
Compile the program by executing
|
||||
|
||||
make
|
||||
|
||||
This will compile the ArangoDB and create a binary of the server in
|
||||
|
||||
./bin/arangod
|
||||
|
||||
Test {#CompilingAIOTest}
|
||||
------------------------
|
||||
|
||||
Check the binary by starting it using the command line.
|
||||
|
||||
unix> ./arangod --server.endpoint tcp://127.0.0.1:12345 --server.disable-authentication true /tmp/vocbase
|
||||
|
||||
This will start up the ArangoDB and listen for HTTP requests on port 12345 bound
|
||||
to IP address 127.0.0.1. You should see the startup messages
|
||||
|
||||
unix> ./arangod --server.endpoint tcp://127.0.0.1:12345 /tmp/vocbase
|
||||
2012-02-05T13:23:52Z [455] INFO ArangoDB (version 1.x.y) is ready for business
|
||||
2012-02-05T13:23:52Z [455] INFO HTTP client port: 12345
|
||||
2012-02-05T13:23:52Z [455] INFO Have Fun!
|
||||
|
||||
If it fails with a message about the database directory, please make sure the
|
||||
database directory you specified (/tmp/vocbase in the above example) exists and
|
||||
can be written into.
|
||||
|
||||
Use your favorite browser to access the URL
|
||||
|
||||
http://127.0.0.1:12345/version
|
||||
|
||||
This should produce a JSON object like
|
||||
|
||||
{"server" : "arango", "version" : "1.x.y"}
|
||||
|
||||
as result.
|
||||
|
||||
Note that starting ArangoDB in this way will result in error messages being
|
||||
displayed, because the paths are not yet set up. This will be corrected in the
|
||||
next step.
|
||||
|
||||
Install {#CompilingAIOInstall}
|
||||
------------------------------
|
||||
|
||||
Install everything by executing
|
||||
|
||||
make install
|
||||
|
||||
You must be root to do this or at least have write permission to the
|
||||
corresponding directories.
|
||||
|
||||
The server will by default be installed in
|
||||
|
||||
/usr/sbin/arangod
|
||||
|
||||
The configuration file will be installed in
|
||||
|
||||
/etc/arangodb/arangod.conf
|
||||
|
||||
The database will be installed in
|
||||
|
||||
/var/arangodb
|
||||
|
||||
The arango shell will be installed in
|
||||
|
||||
/usr/bin/arangosh
|
||||
|
||||
Devel Version {#CompilingDevel}
|
||||
===============================
|
||||
|
||||
Basic System Requirements {#CompilingDevelPrerequisites}
|
||||
--------------------------------------------------------
|
||||
|
||||
Verify that your system contains
|
||||
|
||||
- the GNU C++ compiler "g++" and standard C++ libraries
|
||||
- the GNU autotools (autoconf, automake)
|
||||
- the GNU make
|
||||
- the GNU scanner generator FLEX, at least version 2.3.35
|
||||
- the GNU parser generator BISON, at least version 2.4
|
||||
- Python, version 2 or 3
|
||||
|
||||
In addition you will need the following libraries
|
||||
|
||||
- libev in version 3 or 4
|
||||
- Google's V8 engine
|
||||
- the GNU readline library
|
||||
- the OpenSSL library
|
||||
- the Boost test framework library (boost_unit_test_framework)
|
||||
|
||||
To compile Google V8 yourself, you will also need Python 2 and SCons.
|
||||
|
||||
Some distributions, for example Centos 5, provide only very out-dated versions
|
||||
of FLEX, BISON, and the V8 engine. In that case you need to compile newer
|
||||
versions of the programs and/or libraries.
|
||||
|
||||
Install or download the prerequisites
|
||||
|
||||
- Google's V8 engine (see http://code.google.com/p/v8)
|
||||
- SCons for compiling V8 (see http://www.scons.org)
|
||||
- libev (see http://software.schmorp.de/pkg/libev.html)
|
||||
- OpenSSL (http://openssl.org/)
|
||||
|
||||
if neccessary. Most linux systems already supply RPM or DEP for these
|
||||
packages. Please note that you have to install the development packages.
|
||||
|
||||
Download the Source {#DownloadSourceDevel}
|
||||
------------------------------------------
|
||||
|
||||
Download the latest source using GIT:
|
||||
|
||||
git clone git://github.com/triAGENS/ArangoDB.git
|
||||
|
||||
Setup {#CompilingDevelSetup}
|
||||
----------------------------
|
||||
|
||||
Switch into the ArangoDB directory
|
||||
|
||||
cd ArangoDB
|
||||
|
||||
The source tarball contains a pre-generated "configure" script. You can
|
||||
regenerate this script by using the GNU auto tools. In order to do so, execute
|
||||
|
||||
make setup
|
||||
|
||||
This will call aclocal, autoheader, automake, and autoconf in the correct order.
|
||||
|
||||
Configure {#CompilingDevelConfigure}
|
||||
------------------------------------
|
||||
|
||||
In order to configure the build environment execute
|
||||
|
||||
unix> ./configure --disable-all-in-one-v8 --disable-all-in-one-libev --disable-all-in-one-icu --enable-maintainer-mode
|
||||
|
||||
to setup the makefiles. This will check for the various system characteristics
|
||||
and installed libraries.
|
||||
|
||||
Now continue with @ref CompilingAIOCompile.
|
||||
|
||||
The following configuration options exists:
|
||||
|
||||
`\-\-enable-all-in-one-libev` tells the build system to use the bundled version
|
||||
of LIBEV instead of using the system version.
|
||||
|
||||
`\-\-disable-all-in-one-libev` tells the build system to use the installed
|
||||
system version of LIBEV instead of compiling the supplied version from the
|
||||
3rdParty directory in the make run.
|
||||
|
||||
`\-\-enable-all-in-one-v8` tells the build system to use the bundled version of
|
||||
V8 instead of using the system version.
|
||||
|
||||
`\-\-disable-all-in-one-v8` tells the build system to use the installed system
|
||||
version of V8 instead of compiling the supplied version from the 3rdParty
|
||||
directory in the make run.
|
||||
|
||||
`\-\-enable-all-in-one-icu` tells the build system to use the bundled version of
|
||||
ICU instead of using the system version.
|
||||
|
||||
`\-\-disable-all-in-one-icu` tells the build system to use the installed system
|
||||
version of ICU instead of compiling the supplied version from the 3rdParty
|
||||
directory in the make run.
|
||||
|
||||
`\-\-enable-maintainer-mode` tells the build system to use BISON and FLEX to
|
||||
regenerate the parser and scanner files. If disabled, the supplied files will be
|
||||
used so you cannot make changes to the parser and scanner files. You need at
|
||||
least BISON 2.4.1 and FLEX 2.5.35. This option also allows you to make changes
|
||||
to the error messages file, which is converted to js and C header files using
|
||||
Python. You will need Python 2 or 3 for this. Furthermore, this option enables
|
||||
additional test cases to be executed in a `make unittests` run. You also need to
|
||||
install the Boost test framework for this.
|
||||
|
||||
`\-\-enable-arangob` tells the build system to also build the arangob benchmark
|
||||
tool. The binary will be built in the bin subdirectory.
|
|
@ -0,0 +1,18 @@
|
|||
TOC {#CompilingTOC}
|
||||
===================
|
||||
|
||||
- @ref Compiling
|
||||
- @ref CompilingIntro
|
||||
- @ref CompilingAmazonMicroInstance
|
||||
- @ref CompilingAIO
|
||||
- @ref CompilingAIOPrerequisites
|
||||
- @ref DownloadSourceAIO
|
||||
- @ref CompilingAIOConfigure
|
||||
- @ref CompilingAIOCompile
|
||||
- @ref CompilingAIOTest
|
||||
- @ref CompilingAIOInstall
|
||||
- @ref CompilingDevel
|
||||
- @ref CompilingDevelPrerequisites
|
||||
- @ref DownloadSourceDevel
|
||||
- @ref CompilingDevelSetup
|
||||
- @ref CompilingDevelConfigure
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,185 @@
|
|||
ArangoDB Query Language (AQL) Examples {#AqlExamples}
|
||||
=====================================================
|
||||
|
||||
Simple queries {#AqlExamplesSimple}
|
||||
===================================
|
||||
|
||||
This page contains some examples for how to write queries in AQL. For better
|
||||
understandability, the query results are also included.
|
||||
|
||||
A query that returns a string value. the result string is contained in a list
|
||||
because the result of every valid query is a list:
|
||||
|
||||
RETURN "this will be returned"
|
||||
|
||||
["this will be returned"]
|
||||
|
||||
|
||||
A query that creates the cross products of two lists, and runs a projection on it:
|
||||
|
||||
FOR year in [ 2011, 2012, 2013 ]
|
||||
FOR quarter IN [ 1, 2, 3, 4 ]
|
||||
RETURN { "y" : "year", "q" : quarter, "nice" : CONCAT(TO_STRING(quarter), "/", TO_STRING(year)) }
|
||||
|
||||
[ { "y" : "year", "q" : 1, "nice" : "1/2011" },
|
||||
{ "y" : "year", "q" : 2, "nice" : "2/2011" },
|
||||
{ "y" : "year", "q" : 3, "nice" : "3/2011" },
|
||||
{ "y" : "year", "q" : 4, "nice" : "4/2011" },
|
||||
{ "y" : "year", "q" : 1, "nice" : "1/2012" },
|
||||
{ "y" : "year", "q" : 2, "nice" : "2/2012" },
|
||||
{ "y" : "year", "q" : 3, "nice" : "3/2012" },
|
||||
{ "y" : "year", "q" : 4, "nice" : "4/2012" },
|
||||
{ "y" : "year", "q" : 1, "nice" : "1/2013" },
|
||||
{ "y" : "year", "q" : 2, "nice" : "2/2013" },
|
||||
{ "y" : "year", "q" : 3, "nice" : "3/2013" },
|
||||
{ "y" : "year", "q" : 4, "nice" : "4/2013" } ]
|
||||
|
||||
Collection-based queries {#AqlExamplesCollection}
|
||||
=================================================
|
||||
|
||||
Return 5 documents from a users collection, unaltered:
|
||||
|
||||
FOR u IN users
|
||||
LIMIT 0, 5
|
||||
RETURN u
|
||||
|
||||
[ { "_id" : "9259836/10505020", "_rev" : "10505020", "active" : true, "id" : 100, "age" : 37, "name" : "John", "gender" : "m" },
|
||||
{ "_id" : "9259836/11553596", "_rev" : "11553596", "active" : true, "id" : 107, "age" : 30, "gender" : "m", "name" : "Anthony" },
|
||||
{ "_id" : "9259836/11094844", "_rev" : "11094844", "active" : true, "id" : 101, "age" : 36, "name" : "Fred", "gender" : "m" },
|
||||
{ "_id" : "9259836/11619132", "_rev" : "11619132", "active" : true, "id" : 108, "age" : 29, "name" : "Jim", "gender" : "m" },
|
||||
{ "_id" : "9259836/11160380", "_rev" : "11160380", "active" : false, "id" : 102, "age" : 35, "name" : "Jacob", "gender" : "m" } ]
|
||||
|
||||
Return a projection from a users collection:
|
||||
|
||||
FOR u IN users
|
||||
LIMIT 0, 5
|
||||
RETURN { "user" : { "isActive": u.active ? "yes" : "no", "name" : u.name } }
|
||||
|
||||
[ { "user" : { "isActive" : "yes", "name" : "John" } },
|
||||
{ "user" : { "isActive" : "yes", "name" : "Anthony" } },
|
||||
{ "user" : { "isActive" : "yes", "name" : "Fred" } },
|
||||
{ "user" : { "isActive" : "yes", "name" : "Jim" } },
|
||||
{ "user" : { "isActive" : "no", "name" : "Jacob" } } ]
|
||||
|
||||
Return a filtered projection from a users collection:
|
||||
|
||||
FOR u IN users
|
||||
FILTER u.active == true && u.age >= 30
|
||||
SORT u.age DESC
|
||||
RETURN { "age" : u.age, "name" : u.name }
|
||||
|
||||
[ { "age" : 37, "name" : "John" },
|
||||
{ "age" : 37, "name" : "Sophia" },
|
||||
{ "age" : 36, "name" : "Fred" },
|
||||
{ "age" : 36, "name" : "Emma" },
|
||||
{ "age" : 34, "name" : "Madison" },
|
||||
{ "age" : 33, "name" : "Michael" },
|
||||
{ "age" : 33, "name" : "Chloe" },
|
||||
{ "age" : 32, "name" : "Alexander" },
|
||||
{ "age" : 31, "name" : "Daniel" },
|
||||
{ "age" : 31, "name" : "Abigail" },
|
||||
{ "age" : 30, "name" : "Anthony" },
|
||||
{ "age" : 30, "name" : "Isabella" } ]
|
||||
|
||||
Joins {#AqlExamplesJoins}
|
||||
=========================
|
||||
|
||||
Getting the names of friends (also users) for users. this is achieved by "joining" a relations table:
|
||||
|
||||
FOR u IN users
|
||||
FILTER u.active == true
|
||||
LET friends = (FOR f IN userRelations
|
||||
FILTER f.from == u.id
|
||||
FOR u2 IN users
|
||||
FILTER f.to == u2.id
|
||||
RETURN u2.name
|
||||
)
|
||||
RETURN { "user" : u.name, "friends" : friends }
|
||||
|
||||
[ { "user" : "John", "friends" : ["Diego", "Mary", "Abigail"] },
|
||||
{ "user" : "Anthony", "friends" : ["Madison"] },
|
||||
{ "user" : "Fred", "friends" : ["Mariah"] },
|
||||
{ "user" : "Jim", "friends" : ["Mariah"] },
|
||||
{ "user" : "Diego", "friends" : ["Mary"] },
|
||||
{ "user" : "Sophia", "friends" : ["Madison", "John"] },
|
||||
{ "user" : "Michael", "friends" : ["John", "Jim"] },
|
||||
{ "user" : "Emma", "friends" : ["Jacob", "Madison"] },
|
||||
{ "user" : "Alexander", "friends" : ["Michael", "John"] },
|
||||
{ "user" : "Daniel", "friends" : ["Eva"] },
|
||||
{ "user" : "Madison", "friends" : ["Anthony", "Daniel"] },
|
||||
{ "user" : "Chloe", "friends" : ["Alexander"] },
|
||||
{ "user" : "Abigail", "friends" : ["Daniel", "John", "Jacob", "Jim"] },
|
||||
{ "user" : "Isabella", "friends" : ["Madison", "Diego"] },
|
||||
{ "user" : "Mary", "friends" : ["Isabella", "Diego", "Michael"] },
|
||||
{ "user" : "Mariah", "friends" : ["Madison", "Ethan", "Eva"] } ]
|
||||
|
||||
Getting users favorite song names from a joined "songs" collection:
|
||||
|
||||
FOR u IN users
|
||||
LET likes = (
|
||||
FOR s IN songs
|
||||
FILTER s._id IN u.likes
|
||||
RETURN CONCAT(s.artist, " - ", s.song)
|
||||
)
|
||||
SORT RAND()
|
||||
LIMIT 0, 8
|
||||
RETURN { "user" : u.name, "likes" : likes }
|
||||
|
||||
[ { "user" : "Eva", "likes" : ["Chocolate - Ritmo De La Noche", "4 The Cause - Stand By Me", "Tony Carey - Room with a view"] },
|
||||
{ "user" : "Mary", "likes" : ["Hall and Oates - Maneater", "Elton John - Candle In The Wind", "A-Ha - Crying In The Rain", "Laid Back - Sunshine Reggae", "Cock Robin - The promise you made"] },
|
||||
{ "user" : "Alexander", "likes" : ["Moby - Feel so real", "Rednex - Old pop in an oak", "2 Unlimited - No Limit"] },
|
||||
{ "user" : "Michael", "likes" : ["The Kelly Family - David's Song"] },
|
||||
{ "user" : "Ethan", "likes" : ["Technotronic - Megamix", "Gipsy Kings - Baila me", "Goombay Dance Band - Seven Tears", "Sandra - Hiroshima"] }, { "user" : "Isabella", "likes" : ["Milli Vanilli - Girl, I'm Gonna Miss You", "Technotronic - Get Up", "Right Said Fred - Don't Talk Just Kiss", "Peter Schilling - Major Tom (Völlig losgelöst)"] },
|
||||
{ "user" : "Abigail", "likes" : ["Tina Turner - Typical male", "Liquido - Narcotic"] },
|
||||
{ "user" : "Jim", "likes" : ["Berlin - Take my breath away", "Ashford & Simpson - Solid", "Fine Young Cannibals - She drives me cracy", "Cut'N'Move - Give it up", "Cyndi Lauper - Time after time"] },
|
||||
{ "user" : "Jacob", "likes" : ["Kylie Minogue - The Loco-motion", "Eruption - Runaway"] } ]
|
||||
|
||||
Grouping {#AqlExamplesGrouping}
|
||||
===============================
|
||||
|
||||
Group users by age:
|
||||
|
||||
FOR u IN users
|
||||
FILTER u.active == true
|
||||
COLLECT age = u.age INTO group
|
||||
SORT age DESC
|
||||
RETURN { "age" : age, "users" : group }
|
||||
|
||||
[ { "age" : 37, "users" : ["Sophia", "John"] },
|
||||
{ "age" : 36, "users" : ["Emma", "Fred"] },
|
||||
{ "age" : 34, "users" : ["Madison"] },
|
||||
{ "age" : 33, "users" : ["Chloe", "Michael"] },
|
||||
{ "age" : 32, "users" : ["Alexander"] },
|
||||
{ "age" : 31, "users" : ["Abigail", "Daniel"] },
|
||||
{ "age" : 30, "users" : ["Isabella", "Anthony"] },
|
||||
{ "age" : 29, "users" : ["Mary", "Jim"] },
|
||||
{ "age" : 28, "users" : ["Mariah", "Diego"] } ]
|
||||
|
||||
Group users by agegroup and gender:
|
||||
|
||||
FOR u IN users
|
||||
FILTER u.active == true
|
||||
COLLECT ageGroup = FLOOR(u.age/5) * 5, gender = u.gender INTO group
|
||||
SORT ageGroup DESC
|
||||
RETURN { "ageGroup" : ageGroup, "gender" : gender, "numUsers" : LENGTH(group) }
|
||||
|
||||
[ { "ageGroup" : 35, "gender" : "f", "numUsers" : 2 },
|
||||
{ "ageGroup" : 35, "gender" : "m", "numUsers" : 2 },
|
||||
{ "ageGroup" : 30, "gender" : "f", "numUsers" : 4 },
|
||||
{ "ageGroup" : 30, "gender" : "m", "numUsers" : 4 },
|
||||
{ "ageGroup" : 25, "gender" : "f", "numUsers" : 2 },
|
||||
{ "ageGroup" : 25, "gender" : "m", "numUsers" : 2 } ]
|
||||
|
||||
Get the 3 agegroups with most users:
|
||||
|
||||
FOR u IN users
|
||||
FILTER u.active == true
|
||||
COLLECT ageGroup = FLOOR(u.age/5) * 5 INTO group
|
||||
FILTER LENGTH(group) > 2 /* group must contain at least 3 users */
|
||||
SORT LENGTH(group) DESC
|
||||
LIMIT 0, 3
|
||||
RETURN { "ageGroup" : ageGroup, "numUsers" : LENGTH(group), "users" : group[*].u.name }
|
||||
|
||||
[ { "ageGroup" : 30, "numUsers" : 8, "users" : ["Alexander", "Isabella", "Michael", "Abigail", "Anthony", "Daniel", "Madison", "Chloe"] },
|
||||
{ "ageGroup" : 25, "numUsers" : 4, "users" : ["Mariah", "Mary", "Jim", "Diego"] },
|
||||
{ "ageGroup" : 35, "numUsers" : 4, "users" : ["Emma", "Sophia", "Fred", "John"] } ]
|
|
@ -0,0 +1,4 @@
|
|||
TOC {#AqlExamples}
|
||||
==================
|
||||
|
||||
- @ref AqlExamples
|
|
@ -0,0 +1,29 @@
|
|||
TOC {#AqlTOC}
|
||||
=============
|
||||
|
||||
- @ref Aql
|
||||
- @ref AqlPurpose
|
||||
- @ref AqlHowToUse
|
||||
- @ref AqlQueryResults
|
||||
- @ref AqlBasics
|
||||
- @ref AqlWhitespace
|
||||
- @ref AqlComments
|
||||
- @ref AqlKeywords
|
||||
- @ref AqlNames
|
||||
- @ref AqlTypes
|
||||
- @ref AqlParameter
|
||||
- @ref AqlTypeOrder
|
||||
- @ref AqlData
|
||||
- @ref AqlOperators
|
||||
- @ref AqlFunctions
|
||||
- @ref AqlOperations
|
||||
- @ref AqlOperationFor
|
||||
- @ref AqlOperationReturn
|
||||
- @ref AqlOperationFilter
|
||||
- @ref AqlOperationSort
|
||||
- @ref AqlOperationLimit
|
||||
- @ref AqlOperationLet
|
||||
- @ref AqlOperationCollect
|
||||
- @ref AqlAdvanced
|
||||
- @ref AqlSubqueries
|
||||
- @ref AqlExpansion
|
|
@ -0,0 +1,248 @@
|
|||
Command-Line Options {#CommandLine}
|
||||
===================================
|
||||
|
||||
@NAVIGATE_CommandLine
|
||||
@EMBEDTOC{CommandLineTOC}
|
||||
|
||||
General Options {#CommandLineGeneralOptions}
|
||||
============================================
|
||||
|
||||
@anchor CommandLineHelp
|
||||
@copydetails triagens::rest::ApplicationServer::_options
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineVersion
|
||||
@copydetails triagens::rest::ApplicationServer::_version
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineUpgrade
|
||||
@copydetails triagens::arango::ApplicationV8::_performUpgrade
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineConfiguration
|
||||
@copydetails triagens::rest::ApplicationServer::_configFile
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineDaemon
|
||||
@CMDOPT{\--daemon}
|
||||
|
||||
Runs the server as a daemon (as a background process). This parameter can only
|
||||
be set if the pid (process id) file is specified. That is, unless a value to the
|
||||
parameter pid-file is given, then the server will report an error and exit.
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineDefaultLanguage
|
||||
@copydetails triagens::arango::ArangoServer::_defaultLanguage
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineSupervisor
|
||||
@CMDOPT{\--supervisor}
|
||||
|
||||
Executes the server in supervisor mode. In the event that the server
|
||||
unexpectedly terminates due to an internal error, the supervisor will
|
||||
automatically restart the server. Setting this flag automatically implies that
|
||||
the server will run as a daemon. Note that, as with the daemon flag, this flag
|
||||
requires that the pid-file parameter will set.
|
||||
|
||||
unix> ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
||||
2012-06-27T15:58:28Z [10133] INFO starting up in supervisor mode
|
||||
|
||||
As can be seen (e.g. by executing the ps command), this will start a supervisor
|
||||
process and the actual database process:
|
||||
|
||||
unix> ps fax | grep arangod
|
||||
10137 ? Ssl 0:00 ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
||||
10142 ? Sl 0:00 \_ ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
||||
|
||||
When the database process terminates unexpectedly, the supervisor process will
|
||||
start up a new database process:
|
||||
|
||||
> kill -SIGSEGV 10142
|
||||
|
||||
> ps fax | grep arangod
|
||||
10137 ? Ssl 0:00 ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
||||
10168 ? Sl 0:00 \_ ./arangod --supervisor --pid-file /var/run/arangodb.pid /tmp/vocbase/
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineUid
|
||||
@copydetails triagens::rest::ApplicationServer::_uid
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineGid
|
||||
@copydetails triagens::rest::ApplicationServer::_gid
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLinePidFile
|
||||
@copydetails triagens::rest::AnyServer::_pidFile
|
||||
|
||||
Command-Line Options for the ArangoDB {#CommandLineArango}
|
||||
==========================================================
|
||||
|
||||
@anchor CommandLineArangoEndpoint
|
||||
@copydetails triagens::rest::ApplicationEndpointServer::_endpoints
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoDisableAuthentication
|
||||
@copydetails triagens::rest::ApplicationEndpointServer::_disableAuthentication
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoKeepAliveTimeout
|
||||
@copydetails triagens::rest::ApplicationEndpointServer::_keepAliveTimeout
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoKeyFile
|
||||
@copydetails triagens::rest::ApplicationEndpointServer::_httpsKeyfile
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoCaFile
|
||||
@copydetails triagens::rest::ApplicationEndpointServer::_cafile
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoSslProtocol
|
||||
@copydetails triagens::rest::ApplicationEndpointServer::_sslProtocol
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoSslCacheMode
|
||||
@copydetails triagens::rest::ApplicationEndpointServer::_sslCache
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoSslOptions
|
||||
@copydetails triagens::rest::ApplicationEndpointServer::_sslOptions
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoSslCipherList
|
||||
@copydetails triagens::rest::ApplicationEndpointServer::_sslCipherList
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoDisableAdminInterface
|
||||
@CMDOPT{\--disable-admin-interface @CA{value}}
|
||||
|
||||
If this option is specified and @CA{value} is `true`, then the HTML
|
||||
administration interface at URL `http://server:port/` will be disabled and
|
||||
cannot used by any user at all.
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoDirectory
|
||||
@copydetails triagens::arango::ArangoServer::_databasePath
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoMaximalJournalSize
|
||||
@copydetails triagens::arango::ArangoServer::_defaultMaximalSize
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoWaitForSync
|
||||
@copydetails triagens::arango::ArangoServer::_defaultWaitForSync
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoForceSyncShapes
|
||||
@copydetails triagens::arango::ArangoServer::_forceSyncShapes
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoRemoveOnDrop
|
||||
@copydetails triagens::arango::ArangoServer::_removeOnDrop
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoJsGcFrequency
|
||||
@copydetails triagens::arango::ApplicationV8::_gcFrequency
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoJsGcInterval
|
||||
@copydetails triagens::arango::ApplicationV8::_gcInterval
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineArangoJsV8Options
|
||||
@copydetails triagens::arango::ApplicationV8::_v8Options;
|
||||
|
||||
@CLEARPAGE
|
||||
Command-Line Options for Communication {#CommandLineScheduler}
|
||||
==============================================================
|
||||
|
||||
@anchor CommandLineSchedulerThreads
|
||||
@copydetails triagens::rest::ApplicationScheduler::_nrSchedulerThreads
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineSchedulerBackend
|
||||
@copydetails triagens::rest::ApplicationScheduler::_backend
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineSchedulerShowIoBackends
|
||||
@CMDOPT{\--show-io-backends}
|
||||
|
||||
If this option is specified, then the server will list available backends and
|
||||
exit. This option is useful only when used in conjunction with the option
|
||||
scheduler.backend. An integer is returned (which is platform dependent) which
|
||||
indicates available backends on your platform. See libev for further details and
|
||||
for the meaning of the integer returned. This describes the allowed integers for
|
||||
`scheduler.backend`, see @ref CommandLineScheduler "here" for details.
|
||||
|
||||
@CLEARPAGE
|
||||
Command-Line Options for Logging {#CommandLineLogging}
|
||||
======================================================
|
||||
|
||||
There are two different kinds of logs. Human-readable logs and machine-readable
|
||||
logs. The human-readable logs are used to provide an administration with
|
||||
information about the server. The machine-readable logs are used to provide
|
||||
statistics about executed requests and timings about computation steps.
|
||||
|
||||
General Logging Options {#CommandLineLoggingGeneral}
|
||||
----------------------------------------------------
|
||||
|
||||
@anchor CommandLineLoggingLogFile
|
||||
@copydetails triagens::rest::ApplicationServer::_logFile
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineLoggingLogSeverity
|
||||
@copydetails triagens::rest::ApplicationServer::_logSeverity
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineLoggingLogSyslog
|
||||
@copydetails triagens::rest::ApplicationServer::_logSyslog
|
||||
|
||||
@CLEARPAGE
|
||||
Human Readable Logging {#CommandLineLoggingHuman}
|
||||
-------------------------------------------------
|
||||
|
||||
@anchor CommandLineLoggingLogLevel
|
||||
@copydetails triagens::rest::ApplicationServer::_logLevel
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineLoggingLogLineNumber
|
||||
@copydetails triagens::rest::ApplicationServer::_logLineNumber
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineLoggingLogPrefix
|
||||
@copydetails triagens::rest::ApplicationServer::_logPrefix
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineLoggingLogThread
|
||||
@copydetails triagens::rest::ApplicationServer::_logThreadId
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineLoggingLogFilter
|
||||
@copydetails triagens::rest::ApplicationServer::_logFilter
|
||||
|
||||
@CLEARPAGE
|
||||
Machine Readable Logging {#CommandLineLoggingMachine}
|
||||
-----------------------------------------------------
|
||||
|
||||
@anchor CommandLineLoggingLogApplication
|
||||
@copydetails triagens::rest::ApplicationServer::_logApplicationName
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineLoggingLogFacility
|
||||
@copydetails triagens::rest::ApplicationServer::_logFacility
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineLoggingLogFormat
|
||||
@copydetails triagens::rest::ApplicationServer::_logFormat
|
||||
|
||||
@CLEARPAGE
|
||||
@anchor CommandLineLoggingLogHostName
|
||||
@copydetails triagens::rest::ApplicationServer::_logHostName
|
||||
|
||||
@CLEARPAGE
|
||||
Command-Line Options for Random Numbers {#CommandLineRandom}
|
||||
============================================================
|
||||
|
||||
@anchor CommandLineRandomGenerator
|
||||
@copydetails triagens::rest::ApplicationServer::_randomGenerator
|
|
@ -0,0 +1,56 @@
|
|||
TOC {#CommandLineTOC}
|
||||
=====================
|
||||
|
||||
- @ref CommandLine
|
||||
- @ref CommandLineGeneralOptions
|
||||
- @ref CommandLineHelp "help"
|
||||
- @ref CommandLineVersion "version"
|
||||
- @ref CommandLineUpgrade "upgrade"
|
||||
- @ref CommandLineConfiguration "configuration"
|
||||
- @ref CommandLineDaemon "daemon"
|
||||
- @ref CommandLineDefaultLanguage "default-language"
|
||||
- @ref CommandLineSupervisor "supervisor"
|
||||
- @ref CommandLineUid "uid"
|
||||
- @ref CommandLineGid "gid"
|
||||
- @ref CommandLinePidFile "pid-file"
|
||||
- @ref CommandLineArango
|
||||
- @ref CommandLineArangoEndpoint "server.endpoint"
|
||||
- @ref CommandLineArangoDisableAuthentication "server.disable-authentication"
|
||||
- @ref CommandLineArangoKeepAliveTimeout "server.keep-alive-timeout"
|
||||
- @ref CommandLineArangoKeyFile "server.keyfile"
|
||||
- @ref CommandLineArangoCaFile "server.cafile"
|
||||
- @ref CommandLineArangoSslProtocol "server.ssl-protocol"
|
||||
- @ref CommandLineArangoSslCacheMode "server.ssl-cache"
|
||||
- @ref CommandLineArangoSslOptions "server.ssl-options"
|
||||
- @ref CommandLineArangoSslCipherList "server.ssl-cipher-list"
|
||||
- @ref CommandLineArangoDirectory "database.directory"
|
||||
- @ref CommandLineArangoMaximalJournalSize "database.maximal-journal-size"
|
||||
- @ref CommandLineArangoWaitForSync "database.wait-for-sync"
|
||||
- @ref CommandLineArangoForceSyncShapes "database.force-sync-shapes"
|
||||
- @ref CommandLineArangoRemoveOnDrop "database.remove-on-compacted"
|
||||
- @ref CommandLineArangoJsGcFrequency "javascript.gc-frequency"
|
||||
- @ref CommandLineArangoJsGcInterval "javascript.gc-interval"
|
||||
- @ref CommandLineArangoJsV8Options "javascript.v8-options"
|
||||
- @ref CommandLineLogging
|
||||
- @ref CommandLineLoggingGeneral
|
||||
- @ref CommandLineLoggingLogFile "log.file"
|
||||
- @ref CommandLineLoggingLogSeverity "log.severity"
|
||||
- @ref CommandLineLoggingLogSyslog "log.syslog"
|
||||
- @ref CommandLineLoggingHuman
|
||||
- @ref CommandLineLoggingLogLevel "log.level"
|
||||
- @ref CommandLineLoggingLogLineNumber "log.line-number"
|
||||
- @ref CommandLineLoggingLogPrefix "log.prefix"
|
||||
- @ref CommandLineLoggingLogThread "log.thread"
|
||||
- @ref CommandLineLoggingLogFilter "log.filter"
|
||||
- @ref CommandLineLoggingMachine
|
||||
- @ref CommandLineLoggingLogApplication "log.application"
|
||||
- @ref CommandLineLoggingLogFacility "log.facility"
|
||||
- @ref CommandLineLoggingLogFormat "log.format"
|
||||
- @ref CommandLineLoggingLogHostName "log.hostname"
|
||||
- @ref CommandLineScheduler
|
||||
- @ref CommandLineSchedulerThreads "scheduler.threads"
|
||||
- @ref CommandLineSchedulerBackend "scheduler.backend"
|
||||
- @ref CommandLineSchedulerShowIoBackends "show-io-backends"
|
||||
- @ref CommandLineRandom
|
||||
- @ref CommandLineRandomGenerator "random.generator"
|
||||
- @ref CommandLineRandomGenerator "random.no-seed"
|
|
@ -3,20 +3,6 @@ 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}
|
||||
|
@ -25,6 +11,7 @@ ArangoDB's User Manual (@VERSION) {#UserManual}
|
|||
@CHAPTER_REF{ShellEdge}
|
||||
@CHAPTER_REF{SimpleQueries}
|
||||
@CHAPTER_REF{Aql}
|
||||
@CHAPTER_REF{AqlExamples}
|
||||
@CHAPTER_REF{UserManualActions}
|
||||
@CHAPTER_REF{CommandLine}
|
||||
@endif
|
||||
@CHAPTER_REF{Glossary}
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief ArangoDB query language (AQL), examples
|
||||
///
|
||||
/// @file
|
||||
///
|
||||
/// DISCLAIMER
|
||||
///
|
||||
/// Copyright 2012 triagens GmbH, Cologne, Germany
|
||||
///
|
||||
/// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
/// you may not use this file except in compliance with the License.
|
||||
/// You may obtain a copy of the License at
|
||||
///
|
||||
/// http://www.apache.org/licenses/LICENSE-2.0
|
||||
///
|
||||
/// Unless required by applicable law or agreed to in writing, software
|
||||
/// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
/// See the License for the specific language governing permissions and
|
||||
/// limitations under the License.
|
||||
///
|
||||
/// Copyright holder is triAGENS GmbH, Cologne, Germany
|
||||
///
|
||||
/// @author Jan Steemann
|
||||
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @page AqlExamples ArangoDB Query Language (AQL) Examples
|
||||
///
|
||||
/// This page contains some examples for how to write queries in AQL. For better
|
||||
/// understandability, the query results are also included.
|
||||
///
|
||||
/// @section AqlExamplesSimple Simple queries
|
||||
///
|
||||
/// @verbinclude aqlexample-simple
|
||||
///
|
||||
/// @section AqlExamplesCollection Collection-based queries
|
||||
///
|
||||
/// @verbinclude aqlexample-collection
|
||||
///
|
||||
/// @section AqlExamplesJoins Joins
|
||||
///
|
||||
/// @verbinclude aqlexample-join
|
||||
///
|
||||
/// @section AqlExamplesGrouping Grouping
|
||||
///
|
||||
/// @verbinclude aqlexample-grouping
|
||||
///
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Local Variables:
|
||||
// mode: c++
|
||||
// mode: outline-minor
|
||||
// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)"
|
||||
// End:
|
File diff suppressed because it is too large
Load Diff
|
@ -1,324 +0,0 @@
|
|||
//////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief user guide guide
|
||||
///
|
||||
/// @file
|
||||
///
|
||||
/// DISCLAIMER
|
||||
///
|
||||
/// Copyright 2012 triagens GmbH, Cologne, Germany
|
||||
///
|
||||
/// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
/// you may not use this file except in compliance with the License.
|
||||
/// You may obtain a copy of the License at
|
||||
///
|
||||
/// http://www.apache.org/licenses/LICENSE-2.0
|
||||
///
|
||||
/// Unless required by applicable law or agreed to in writing, software
|
||||
/// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
/// See the License for the specific language governing permissions and
|
||||
/// limitations under the License.
|
||||
///
|
||||
/// Copyright holder is triAGENS GmbH, Cologne, Germany
|
||||
///
|
||||
/// @author Dr. Frank Celler
|
||||
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @page CommandLineTOC
|
||||
///
|
||||
/// <ul>
|
||||
/// <li>@ref CommandLine
|
||||
/// <ul>
|
||||
/// <li>@ref CommandLineGeneralOptions
|
||||
/// <ul>
|
||||
/// <li>@ref CommandLineHelp "help"</li>
|
||||
/// <li>@ref CommandLineVersion "version"</li>
|
||||
/// <li>@ref CommandLineUpgrade "upgrade"</li>
|
||||
/// <li>@ref CommandLineConfiguration "configuration"</li>
|
||||
/// <li>@ref CommandLineDaemon "daemon"</li>
|
||||
/// <li>@ref CommandLineDefaultLanguage "default-language"</li>
|
||||
/// <li>@ref CommandLineSupervisor "supervisor"</li>
|
||||
/// <li>@ref CommandLineUid "uid"</li>
|
||||
/// <li>@ref CommandLineGid "gid"</li>
|
||||
/// <li>@ref CommandLinePidFile "pid-file"</li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// <li>@ref CommandLineArango
|
||||
/// <ul>
|
||||
/// <li>@ref CommandLineArangoEndpoint "server.endpoint"</li>
|
||||
/// <li>@ref CommandLineArangoDisableAuthentication "server.disable-authentication"</li>
|
||||
/// <li>@ref CommandLineArangoKeepAliveTimeout "server.keep-alive-timeout"</li>
|
||||
/// <li>@ref CommandLineArangoKeyFile "server.keyfile"</li>
|
||||
/// <li>@ref CommandLineArangoCaFile "server.cafile"</li>
|
||||
/// <li>@ref CommandLineArangoSslProtocol "server.ssl-protocol"</li>
|
||||
/// <li>@ref CommandLineArangoSslCacheMode "server.ssl-cache"</li>
|
||||
/// <li>@ref CommandLineArangoSslOptions "server.ssl-options"</li>
|
||||
/// <li>@ref CommandLineArangoSslCipherList "server.ssl-cipher-list"</li>
|
||||
/// <li>@ref CommandLineArangoDirectory "database.directory"</li>
|
||||
/// <li>@ref CommandLineArangoMaximalJournalSize "database.maximal-journal-size"</li>
|
||||
/// <li>@ref CommandLineArangoWaitForSync "database.wait-for-sync"</li>
|
||||
/// <li>@ref CommandLineArangoForceSyncShapes "database.force-sync-shapes"</li>
|
||||
/// <li>@ref CommandLineArangoRemoveOnDrop "database.remove-on-compacted"</li>
|
||||
/// <li>@ref CommandLineArangoJsGcFrequency "javascript.gc-frequency"</li>
|
||||
/// <li>@ref CommandLineArangoJsGcInterval "javascript.gc-interval"</li>
|
||||
/// <li>@ref CommandLineArangoJsV8Options "javascript.v8-options"</li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// <li>@ref CommandLineLogging
|
||||
/// <ul>
|
||||
/// <li>@ref CommandLineLoggingGeneral
|
||||
/// <ul>
|
||||
/// <li>@ref CommandLineLoggingLogFile "log.file"</li>
|
||||
/// <li>@ref CommandLineLoggingLogSeverity "log.severity"</li>
|
||||
/// <li>@ref CommandLineLoggingLogSyslog "log.syslog"</li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// <li>@ref CommandLineLoggingHuman
|
||||
/// <ul>
|
||||
/// <li>@ref CommandLineLoggingLogLevel "log.level"</li>
|
||||
/// <li>@ref CommandLineLoggingLogLineNumber "log.line-number"</li>
|
||||
/// <li>@ref CommandLineLoggingLogPrefix "log.prefix"</li>
|
||||
/// <li>@ref CommandLineLoggingLogThread "log.thread"</li>
|
||||
/// <li>@ref CommandLineLoggingLogFilter "log.filter"</li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// <li>@ref CommandLineLoggingMachine
|
||||
/// <ul>
|
||||
/// <li>@ref CommandLineLoggingLogApplication "log.application"</li>
|
||||
/// <li>@ref CommandLineLoggingLogFacility "log.facility"</li>
|
||||
/// <li>@ref CommandLineLoggingLogFormat "log.format"</li>
|
||||
/// <li>@ref CommandLineLoggingLogHostName "log.hostname"</li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// <li>@ref CommandLineScheduler
|
||||
/// <ul>
|
||||
/// <li>@ref CommandLineSchedulerThreads "scheduler.threads"</li>
|
||||
/// <li>@ref CommandLineSchedulerBackend "scheduler.backend"</li>
|
||||
/// <li>@ref CommandLineSchedulerShowIoBackends "show-io-backends"</li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// <li>@ref CommandLineRandom
|
||||
/// <ul>
|
||||
/// <li>@ref CommandLineRandomGenerator "random.generator"</li>
|
||||
/// <li>@ref CommandLineRandomGenerator "random.no-seed"</li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// </ul>
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @page CommandLine Command-Line Options
|
||||
///
|
||||
/// @NAVIGATE_CommandLine
|
||||
/// @EMBEDTOC{CommandLineTOC}
|
||||
///
|
||||
/// @section CommandLineGeneralOptions General Options
|
||||
//////////////////////////////////////////////////////
|
||||
///
|
||||
/// @anchor CommandLineHelp
|
||||
/// @copydetails triagens::rest::ApplicationServer::_options
|
||||
///
|
||||
/// @anchor CommandLineVersion
|
||||
/// @copydetails triagens::rest::ApplicationServer::_version
|
||||
///
|
||||
/// @anchor CommandLineUpgrade
|
||||
/// @copydetails triagens::arango::ApplicationV8::_performUpgrade
|
||||
///
|
||||
/// @anchor CommandLineConfiguration
|
||||
/// @copydetails triagens::rest::ApplicationServer::_configFile
|
||||
///
|
||||
/// @anchor CommandLineDaemon
|
||||
/// @CMDOPT{\--daemon}
|
||||
///
|
||||
/// Runs the server as a daemon (as a background process). This parameter can
|
||||
/// only be set if the pid (process id) file is specified. That is, unless a
|
||||
/// value to the parameter pid-file is given, then the server will report an
|
||||
/// error and exit.
|
||||
///
|
||||
/// @anchor CommandLineDefaultLanguage
|
||||
/// @copydetails triagens::arango::ArangoServer::_defaultLanguage
|
||||
///
|
||||
/// @anchor CommandLineSupervisor
|
||||
/// @CMDOPT{\--supervisor}
|
||||
///
|
||||
/// Executes the server in supervisor mode. In the event that the server
|
||||
/// unexpectedly terminates due to an internal error, the supervisor will
|
||||
/// automatically restart the server. Setting this flag automatically implies
|
||||
/// that the server will run as a daemon. Note that, as with the daemon flag,
|
||||
/// this flag requires that the pid-file parameter will set.
|
||||
///
|
||||
/// @verbinclude supervisor
|
||||
///
|
||||
/// As can be seen (e.g. by executing the ps command), this will start a supervisor
|
||||
/// process and the actual database process:
|
||||
///
|
||||
/// @verbinclude supervisor-ps1
|
||||
///
|
||||
/// When the database process terminates unexpectedly, the supervisor process will
|
||||
/// start up a new database process:
|
||||
///
|
||||
/// @verbinclude supervisor-ps2
|
||||
///
|
||||
/// @anchor CommandLineUid
|
||||
/// @copydetails triagens::rest::ApplicationServer::_uid
|
||||
///
|
||||
/// @anchor CommandLineGid
|
||||
/// @copydetails triagens::rest::ApplicationServer::_gid
|
||||
///
|
||||
/// @anchor CommandLinePidFile
|
||||
/// @copydetails triagens::rest::AnyServer::_pidFile
|
||||
///
|
||||
/// @section CommandLineArango Command-Line Options for the ArangoDB
|
||||
////////////////////////////////////////////////////////////////////
|
||||
///
|
||||
/// @anchor CommandLineArangoEndpoint
|
||||
/// @copydetails triagens::rest::ApplicationEndpointServer::_endpoints
|
||||
///
|
||||
/// @anchor CommandLineArangoDisableAuthentication
|
||||
/// @copydetails triagens::rest::ApplicationEndpointServer::_disableAuthentication
|
||||
///
|
||||
/// @anchor CommandLineArangoKeepAliveTimeout
|
||||
/// @copydetails triagens::rest::ApplicationEndpointServer::_keepAliveTimeout
|
||||
///
|
||||
/// @anchor CommandLineArangoKeyFile
|
||||
/// @copydetails triagens::rest::ApplicationEndpointServer::_httpsKeyfile
|
||||
///
|
||||
/// @anchor CommandLineArangoCaFile
|
||||
/// @copydetails triagens::rest::ApplicationEndpointServer::_cafile
|
||||
///
|
||||
/// @anchor CommandLineArangoSslProtocol
|
||||
/// @copydetails triagens::rest::ApplicationEndpointServer::_sslProtocol
|
||||
///
|
||||
/// @anchor CommandLineArangoSslCacheMode
|
||||
/// @copydetails triagens::rest::ApplicationEndpointServer::_sslCache
|
||||
///
|
||||
/// @anchor CommandLineArangoSslOptions
|
||||
/// @copydetails triagens::rest::ApplicationEndpointServer::_sslOptions
|
||||
///
|
||||
/// @anchor CommandLineArangoSslCipherList
|
||||
/// @copydetails triagens::rest::ApplicationEndpointServer::_sslCipherList
|
||||
///
|
||||
/// @anchor CommandLineArangoDisableAdminInterface
|
||||
/// @CMDOPT{\--disable-admin-interface @CA{value}}
|
||||
///
|
||||
/// If this option is specified and @CA{value} is @LIT{true}, then the HTML
|
||||
/// administration interface at URL @LIT{http://server:port/} will be disabled
|
||||
/// and cannot used by any user at all.
|
||||
///
|
||||
/// @anchor CommandLineArangoDirectory
|
||||
/// @copydetails triagens::arango::ArangoServer::_databasePath
|
||||
///
|
||||
/// @anchor CommandLineArangoMaximalJournalSize
|
||||
/// @copydetails triagens::arango::ArangoServer::_defaultMaximalSize
|
||||
///
|
||||
/// @anchor CommandLineArangoWaitForSync
|
||||
/// @copydetails triagens::arango::ArangoServer::_defaultWaitForSync
|
||||
///
|
||||
/// @anchor CommandLineArangoForceSyncShapes
|
||||
/// @copydetails triagens::arango::ArangoServer::_forceSyncShapes
|
||||
///
|
||||
/// @anchor CommandLineArangoRemoveOnDrop
|
||||
/// @copydetails triagens::arango::ArangoServer::_removeOnDrop
|
||||
///
|
||||
/// @anchor CommandLineArangoJsGcFrequency
|
||||
/// @copydetails triagens::arango::ApplicationV8::_gcFrequency
|
||||
///
|
||||
/// @anchor CommandLineArangoJsGcInterval
|
||||
/// @copydetails triagens::arango::ApplicationV8::_gcInterval
|
||||
///
|
||||
/// @anchor CommandLineArangoJsV8Options
|
||||
/// @copydetails triagens::arango::ApplicationV8::_v8Options;
|
||||
///
|
||||
/// @section CommandLineScheduler Command-Line Options for Communication
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
///
|
||||
/// @anchor CommandLineSchedulerThreads
|
||||
/// @copydetails triagens::rest::ApplicationScheduler::_nrSchedulerThreads
|
||||
///
|
||||
/// @anchor CommandLineSchedulerBackend
|
||||
/// @copydetails triagens::rest::ApplicationScheduler::_backend
|
||||
///
|
||||
/// @anchor CommandLineSchedulerShowIoBackends
|
||||
/// @CMDOPT{\--show-io-backends}
|
||||
///
|
||||
/// If this option is specified, then the server will list available backends
|
||||
/// and exit. This option is useful only when used in conjunction with the
|
||||
/// option scheduler.backend. An integer is returned (which is platform
|
||||
/// dependent) which indicates available backends on your platform. See libev
|
||||
/// for further details and for the meaning of the integer returned. This
|
||||
/// describes the allowed integers for @LIT{scheduler.backend}, see
|
||||
/// @ref CommandLineScheduler "here" for details.
|
||||
///
|
||||
/// @section CommandLineLogging Command-Line Options for Logging
|
||||
////////////////////////////////////////////////////////////////
|
||||
///
|
||||
/// There are two different kinds of logs. Human-readable logs and
|
||||
/// machine-readable logs. The human-readable logs are used to provide an
|
||||
/// administration with information about the server. The machine-readable logs
|
||||
/// are used to provide statistics about executed requests and timings about
|
||||
/// computation steps.
|
||||
///
|
||||
/// @subsection CommandLineLoggingGeneral General Logging Options
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogFile
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logFile
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogSeverity
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logSeverity
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogSyslog
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logSyslog
|
||||
///
|
||||
/// @subsection CommandLineLoggingHuman Human Readable Logging
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogLevel
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logLevel
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogLineNumber
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logLineNumber
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogPrefix
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logPrefix
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogThread
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logThreadId
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogFilter
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logFilter
|
||||
///
|
||||
/// @subsection CommandLineLoggingMachine Machine Readable Logging
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogApplication
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logApplicationName
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogFacility
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logFacility
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogFormat
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logFormat
|
||||
///
|
||||
/// @anchor CommandLineLoggingLogHostName
|
||||
/// @copydetails triagens::rest::ApplicationServer::_logHostName
|
||||
///
|
||||
/// @section CommandLineRandom Command-Line Options for Random Numbers
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
///
|
||||
/// @anchor CommandLineRandomGenerator
|
||||
/// @copydetails triagens::rest::ApplicationServer::_randomGenerator
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- END-OF-FILE
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
// Local Variables:
|
||||
// mode: c++
|
||||
// mode: outline-minor
|
||||
// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)"
|
||||
// End:
|
|
@ -1,373 +0,0 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief installation guide
|
||||
//
|
||||
/// @file
|
||||
///
|
||||
/// DISCLAIMER
|
||||
///
|
||||
/// Copyright 2012 triagens GmbH, Cologne, Germany
|
||||
///
|
||||
/// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
/// you may not use this file except in compliance with the License.
|
||||
/// You may obtain a copy of the License at
|
||||
///
|
||||
/// http://www.apache.org/licenses/LICENSE-2.0
|
||||
///
|
||||
/// Unless required by applicable law or agreed to in writing, software
|
||||
/// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
/// See the License for the specific language governing permissions and
|
||||
/// limitations under the License.
|
||||
///
|
||||
/// Copyright holder is triAGENS GmbH, Cologne, Germany
|
||||
///
|
||||
/// @author Dr. Frank Celler
|
||||
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- COMPILING
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @page CompilingTOC
|
||||
///
|
||||
/// <ul>
|
||||
/// <li>@ref Compiling
|
||||
/// <ul>
|
||||
/// <li>@ref CompilingAmazonMicroInstance
|
||||
/// </li>
|
||||
/// <li>@ref CompilingAIO
|
||||
/// <ul>
|
||||
/// <li>@ref CompilingAIOPrerequisites
|
||||
/// </li>
|
||||
/// <li>@ref DownloadSourceAIO
|
||||
/// </li>
|
||||
/// <li>@ref CompilingAIOConfigure
|
||||
/// </li>
|
||||
/// <li>@ref CompilingAIOCompile
|
||||
/// </li>
|
||||
/// <li>@ref CompilingAIOTest
|
||||
/// </li>
|
||||
/// <li>@ref CompilingAIOInstall
|
||||
/// </li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// <li>@ref CompilingDevel
|
||||
/// <ul>
|
||||
/// <li>@ref CompilingDevelPrerequisites
|
||||
/// </li>
|
||||
/// <li>@ref DownloadSourceDevel
|
||||
/// </li>
|
||||
/// <li>@ref CompilingDevelSetup
|
||||
/// </li>
|
||||
/// <li>@ref CompilingDevelConfigure
|
||||
/// </li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// </ul>
|
||||
/// </li>
|
||||
/// </ul>
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @page Compiling Compiling ArangoDB from scratch
|
||||
///
|
||||
/// The following sections describe how to compile and build the ArangoDB from
|
||||
/// scratch. The ArangoDB will compile on most Linux and Mac OS X systems. It
|
||||
/// assumes that you use the GNU C++ compiler to compile the source. The
|
||||
/// ArangoDB has been tested with the GNU C++ compiler, but should compile with
|
||||
/// any Posix compliant compiler. Please let us know, whether you successfully
|
||||
/// compiled it with another C++ compiler.
|
||||
///
|
||||
/// There are possibilities:
|
||||
///
|
||||
/// - all-in-one: this version contains the source code of the ArangoDB, all
|
||||
/// generated files from the autotools, FLEX, and BISON as well
|
||||
/// as a version of V8, libev, and ICU.
|
||||
///
|
||||
/// - devel: this version contains the development version of the ArangoDB.
|
||||
/// Use this branch, if you want to make changes to ArangoDB
|
||||
/// source.
|
||||
///
|
||||
/// The devel version requires a complete development environment, while the
|
||||
/// all-in-one version allows you to compile the ArangoDB without installing
|
||||
/// all the prerequisites. The disadvantage is that it takes longer to compile
|
||||
/// and you cannot make changes to the flex or bison files.
|
||||
///
|
||||
/// @EMBEDTOC{CompilingTOC}
|
||||
///
|
||||
/// @section CompilingAmazonMicroInstance Amazon Micro Instance
|
||||
///////////////////////////////////////////////////////////////
|
||||
///
|
||||
/// @@sohgoh has reported that it is very easy to install ArangoDB on an
|
||||
/// Amazon Micro Instance:
|
||||
///
|
||||
/// @code
|
||||
/// > sudo yum install readline-devel
|
||||
/// > ./configure
|
||||
/// > make
|
||||
/// > make install
|
||||
/// @endcode
|
||||
///
|
||||
/// For detailed instructions the following section.
|
||||
///
|
||||
/// @section CompilingAIO All-In-One Version
|
||||
////////////////////////////////////////////
|
||||
///
|
||||
/// @subsection CompilingAIOPrerequisites Basic System Requirements
|
||||
///////////////////////////////////////////////////////////////////
|
||||
///
|
||||
/// Verify that your system contains:
|
||||
///
|
||||
/// - the GNU C++ compiler "g++" and standard C++ libraries
|
||||
/// - the GNU make
|
||||
///
|
||||
/// In addition you will need the following library:
|
||||
///
|
||||
/// - the GNU readline library
|
||||
/// - the OpenSSL library
|
||||
///
|
||||
/// Under Mac OS X you also need to install:
|
||||
///
|
||||
/// - Xcode
|
||||
/// - scons
|
||||
///
|
||||
/// @subsection DownloadSourceAIO Download the Source
|
||||
/////////////////////////////////////////////////////
|
||||
///
|
||||
/// Download the latest source using GIT:
|
||||
///
|
||||
/// @LIT{git clone git://github.com/triAGENS/ArangoDB.git}
|
||||
///
|
||||
/// @subsection CompilingAIOConfigure Configure
|
||||
///////////////////////////////////////////////
|
||||
///
|
||||
/// Switch into the ArangoDB directory
|
||||
///
|
||||
/// @code
|
||||
/// cd ArangoDB
|
||||
/// @endcode
|
||||
///
|
||||
/// In order to configure the build environment execute
|
||||
///
|
||||
/// @code
|
||||
/// ./configure --enable-all-in-one-v8 --enable-all-in-one-libev --enable-all-in-one-icu
|
||||
/// @endcode
|
||||
///
|
||||
/// to setup the makefiles. This will check the various system characteristics
|
||||
/// and installed libraries.
|
||||
///
|
||||
/// @subsection CompilingAIOCompile Compile
|
||||
///////////////////////////////////////////
|
||||
///
|
||||
/// Compile the program by executing
|
||||
///
|
||||
/// @code
|
||||
/// make
|
||||
/// @endcode
|
||||
///
|
||||
/// This will compile the ArangoDB and create a binary of the server in
|
||||
///
|
||||
/// @code
|
||||
/// ./bin/arangod
|
||||
/// @endcode
|
||||
///
|
||||
/// @subsection CompilingAIOTest Test
|
||||
/////////////////////////////////////
|
||||
///
|
||||
/// Check the binary by starting it using the command line.
|
||||
///
|
||||
/// @verbinclude arangod-startup
|
||||
///
|
||||
/// This will start up the ArangoDB and listen for HTTP requests on port 12345
|
||||
/// bound to IP address 127.0.0.1. You should see the startup messages
|
||||
///
|
||||
/// @TINYEXAMPLE{startup1,startup message}
|
||||
///
|
||||
/// If it fails with a message about the database directory, please make sure the database
|
||||
/// directory you specified (/tmp/vocbase in the above example) exists and can be written into.
|
||||
///
|
||||
/// Use your favorite browser to access the URL
|
||||
///
|
||||
/// @verbinclude arangod-version
|
||||
///
|
||||
/// This should produce a JSON object like
|
||||
///
|
||||
/// @code
|
||||
/// {"server" : "arango", "version" : "1.x.y"}
|
||||
/// @endcode
|
||||
///
|
||||
/// as result.
|
||||
///
|
||||
/// Note that starting ArangoDB in this way will result in error messages being
|
||||
/// displayed, because the paths are not yet set up. This will be corrected in
|
||||
/// the next step.
|
||||
///
|
||||
/// @subsection CompilingAIOInstall Install
|
||||
///////////////////////////////////////////
|
||||
///
|
||||
/// Install everything by executing
|
||||
///
|
||||
/// @code
|
||||
/// make install
|
||||
/// @endcode
|
||||
///
|
||||
/// You must be root to do this or at least have write permission to the
|
||||
/// corresponding directories.
|
||||
///
|
||||
/// The server will by default be installed in
|
||||
///
|
||||
/// @code
|
||||
/// /usr/sbin/arangod
|
||||
/// @endcode
|
||||
///
|
||||
/// The configuration file will be installed in
|
||||
///
|
||||
/// @code
|
||||
/// /etc/arangodb/arangod.conf
|
||||
/// @endcode
|
||||
///
|
||||
/// The database will be installed in
|
||||
///
|
||||
/// @code
|
||||
/// /var/arangodb
|
||||
/// @endcode
|
||||
///
|
||||
/// The arango shell will be installed in
|
||||
///
|
||||
/// @code
|
||||
/// /usr/bin/arangosh
|
||||
/// @endcode
|
||||
///
|
||||
/// @section CompilingDevel Devel Version
|
||||
/////////////////////////////////////////
|
||||
///
|
||||
/// @subsection CompilingDevelPrerequisites Basic System Requirements
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
///
|
||||
/// Verify that your system contains
|
||||
///
|
||||
/// - the GNU C++ compiler "g++" and standard C++ libraries
|
||||
/// - the GNU autotools (autoconf, automake)
|
||||
/// - the GNU make
|
||||
/// - the GNU scanner generator FLEX, at least version 2.3.35
|
||||
/// - the GNU parser generator BISON, at least version 2.4
|
||||
/// - Python, version 2 or 3
|
||||
///
|
||||
/// In addition you will need the following libraries
|
||||
///
|
||||
/// - libev in version 3 or 4
|
||||
/// - Google's V8 engine
|
||||
/// - the GNU readline library
|
||||
/// - the OpenSSL library
|
||||
/// - the Boost test framework library (boost_unit_test_framework)
|
||||
///
|
||||
/// To compile Google V8 yourself, you will also need Python 2 and SCons.
|
||||
///
|
||||
/// Some distributions, for example Centos 5, provide only very out-dated
|
||||
/// versions of FLEX, BISON, and the V8 engine. In that case you need to compile
|
||||
/// newer versions of the programs and/or libraries.
|
||||
///
|
||||
/// Install or download the prerequisites
|
||||
///
|
||||
/// - Google's V8 engine (see http://code.google.com/p/v8)
|
||||
/// - SCons for compiling V8 (see http://www.scons.org)
|
||||
/// - libev (see http://software.schmorp.de/pkg/libev.html)
|
||||
/// - OpenSSL (http://openssl.org/)
|
||||
///
|
||||
/// if neccessary. Most linux systems already supply RPM or DEP for
|
||||
/// these packages. Please note that you have to install the
|
||||
/// development packages.
|
||||
///
|
||||
/// @subsection DownloadSourceDevel Download the Source
|
||||
///////////////////////////////////////////////////////
|
||||
///
|
||||
/// Download the latest source using GIT:
|
||||
///
|
||||
/// @code
|
||||
/// git clone git://github.com/triAGENS/ArangoDB.git
|
||||
/// @endcode
|
||||
///
|
||||
/// @subsection CompilingDevelSetup Setup
|
||||
/////////////////////////////////////////
|
||||
///
|
||||
/// Switch into the ArangoDB directory
|
||||
///
|
||||
/// @code
|
||||
/// cd ArangoDB
|
||||
/// @endcode
|
||||
///
|
||||
/// The source tarball contains a pre-generated "configure" script. You can
|
||||
/// regenerate this script by using the GNU auto tools. In order to do so,
|
||||
/// execute
|
||||
///
|
||||
/// @code
|
||||
/// make setup
|
||||
/// @endcode
|
||||
///
|
||||
/// This will call aclocal, autoheader, automake, and autoconf in the correct
|
||||
/// order.
|
||||
///
|
||||
/// @subsection CompilingDevelConfigure Configure
|
||||
/////////////////////////////////////////////////
|
||||
///
|
||||
/// In order to configure the build environment execute
|
||||
///
|
||||
/// @code
|
||||
/// ./configure --disable-all-in-one-v8 --disable-all-in-one-libev --disable-all-in-one-icu --enable-maintainer-mode
|
||||
/// @endcode
|
||||
///
|
||||
/// to setup the makefiles. This will check for the various system
|
||||
/// characteristics and installed libraries.
|
||||
///
|
||||
/// Now continue with @ref CompilingAIOCompile.
|
||||
///
|
||||
/// The following configuration options exists:
|
||||
///
|
||||
/// @LIT{\-\-enable-all-in-one-libev} tells the build system to use the
|
||||
/// bundled version of LIBEV instead of using the system version.
|
||||
///
|
||||
/// @LIT{\-\-disable-all-in-one-libev} tells the build system to use the
|
||||
/// installed system version of LIBEV instead of compiling the
|
||||
/// supplied version from the 3rdParty directory in the make run.
|
||||
///
|
||||
/// @LIT{\-\-enable-all-in-one-v8} tells the build system to use the
|
||||
/// bundled version of V8 instead of using the system version.
|
||||
///
|
||||
/// @LIT{\-\-disable-all-in-one-v8} tells the build system to use the
|
||||
/// installed system version of V8 instead of compiling the
|
||||
/// supplied version from the 3rdParty directory in the make run.
|
||||
///
|
||||
/// @LIT{\-\-enable-all-in-one-icu} tells the build system to use the
|
||||
/// bundled version of ICU instead of using the system version.
|
||||
///
|
||||
/// @LIT{\-\-disable-all-in-one-icu} tells the build system to use the
|
||||
/// installed system version of ICU instead of compiling the
|
||||
/// supplied version from the 3rdParty directory in the make run.
|
||||
///
|
||||
/// @LIT{\-\-enable-maintainer-mode} tells the build system to use BISON and FLEX
|
||||
/// to regenerate the parser and scanner files. If disabled, the supplied files
|
||||
/// will be used so you cannot make changes to the parser and scanner files.
|
||||
/// You need at least BISON 2.4.1 and FLEX 2.5.35.
|
||||
/// This option also allows you to make changes to the error messages file,
|
||||
/// which is converted to js and C header files using Python. You will need Python
|
||||
/// 2 or 3 for this.
|
||||
/// Furthermore, this option enables additional test cases to be executed in a
|
||||
/// @LIT{make unittests} run. You also need to install the Boost test framework
|
||||
/// for this.
|
||||
///
|
||||
/// @LIT{\-\-enable-arangob} tells the build system to also build the arangob
|
||||
/// benchmark tool. The binary will be built in the bin subdirectory.
|
||||
///
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- END-OF-FILE
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
// Local Variables:
|
||||
// mode: c++
|
||||
// mode: outline-minor
|
||||
// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)"
|
||||
// End:
|
Loading…
Reference in New Issue