Skip to content

Instantly share code, notes, and snippets.

@nrk
Created November 26, 2011 09:21
Show Gist options
  • Save nrk/1395358 to your computer and use it in GitHub Desktop.
Save nrk/1395358 to your computer and use it in GitHub Desktop.
Data for OrientDB issue #617

See this bug report for more details.

Judging from serverside_capture.txt (which contains a fragment of the HTTP traffic captured on the server side using a packet sniffer), when the bug is triggered it looks like OrientDB returns a correct value for the Content-Length header but writes the whole response buffer exactly twice and it's not the buffer left from a previous request since my test case alternates two different SELECT queries. Unsurprisingly this seems to break cURL because, when it's able to keep the underlying connection open, it reads spurious data from the previous response instead of the expected HTTP headers.

As far as I can tell, but I can't yet be sure of what I'm going to write, this bug might not even be actually related to the practice of reusing the underlying connection. When a new connection is used for each new request, cURL reads up to $CONTENT_LENGTH bytes from the response and then it closes the connection, intrinsically discarding the rest of the buffer if there's some spurious data. The bug might simply remaing unnoticed under these circumnstances.

Also one thing I noticed, especially when sending requests to an instance of OrientDB not running locally, is that cURL isn't able to keep an open connection to OrientDB when the size of the previous HTTP response is greater than a certain lenght even when reusing the same handle. This fact can be easily spotted even without sniffing the TCP traffic by checking the value of the OSESSIONID cookie: when it differs from previous responses it means that a new connection has been used. I'm not sure if this behaviour is actually caused by cURL or OrientDB.

* About to connect() to 192.168.1.1 port 2480 (#0)
* Trying 192.168.1.1... * connected
* Connected to 192.168.1.1 (192.168.1.1) port 2480 (#0)
* Server auth using Basic with user 'admin'
> GET /query/demo/sql/SELECT+FROM+Profile/40/?req=615 HTTP/1.1
Authorization: Basic YWRtaW46YWRtaW4=
Host: 192.168.1.1:2480
Accept: */*
< HTTP/1.1 200 OK
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Date: Sat Nov 26 09:58:37 CET 2011
< Content-Type: application/json; charset=utf-8
< Server: OrientDB Server v.1.0rc7-SNAPSHOT (build @BUILD@)
< Connection: Keep-Alive
< Set-Cookie: OSESSIONID=OS13222979171193439026258057655034; Path=/; HttpOnly
< Content-Length: 9817
<
* Excess found in a non pipelined read: excess = 4794, size = 9817, maxdownload = 9817, bytecount = 0
* Connection #0 to host 192.168.1.1 left intact
[REQ 615] => OSESSIONID=OS13222979171193439026258057655034; Path=/; HttpOnly [0.009959 secs]
------------------------------------------------------------------------------------------
* Re-using existing connection! (#0) with host 192.168.1.1
* Connected to 192.168.1.1 (192.168.1.1) port 2480 (#0)
* Server auth using Basic with user 'admin'
> GET /query/demo/sql/SELECT+FROM+Address/40/?req=616 HTTP/1.1
Authorization: Basic YWRtaW46YWRtaW4=
Host: 192.168.1.1:2480
Accept: */*
* Connection #0 to host 192.168.1.1 left intact
[REQ 616] => OSESSIONID=OS13222979171193439026258057655034; Path=/; HttpOnly [10.508232 secs]
********** GONE BOOM AT REQUEST 616 *********
* Closing connection #0
=== REQ 615 ===
HTTP/1.1 200 OK
=== REQ 615 ===
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
=== REQ 615 ===
Pragma: no-cache
=== REQ 615 ===
Date: Sat Nov 26 09:58:37 CET 2011
=== REQ 615 ===
Content-Type: application/json; charset=utf-8
=== REQ 615 ===
Server: OrientDB Server v.1.0rc7-SNAPSHOT (build @BUILD@)
=== REQ 615 ===
Connection: Keep-Alive
=== REQ 615 ===
Set-Cookie: OSESSIONID=OS13222979171193439026258057655034; Path=/; HttpOnly
=== REQ 615 ===
Content-Length: 9817
=== REQ 615 ===
=== REQ 615 ===
{ "schema": {
"name": "Profile",
"properties":{
"lastAccessOn":{
"name": "lastAccessOn",
"type": "DATETIME",
"mandatory": false,
"notNull": true,
"min": "2010-01-01 00:00:00",
"max": null
},
"registeredOn":{
"name": "registeredOn",
"type": "DATETIME",
"mandatory": false,
"notNull": true,
"min": "2010-01-01 00:00:00",
"max": null
},
"nick":{
"name": "nick",
"type": "STRING",
"mandatory": false,
"notNull": true,
"min": "3",
"max": "30"
},
"hash":{
"name": "hash",
"type": "LONG",
"mandatory": false,
"notNull": true,
"min": null,
"max": null
},
"name":{
"name": "name",
"type": "STRING",
"mandatory": false,
"notNull": true,
"min": "3",
"max": "30"
},
"surname":{
"name": "surname",
"type": "STRING",
"mandatory": false,
"notNull": true,
"min": "3",
"max": "30"
},
"photo":{
"name": "photo",
"type": "TRANSIENT",
"mandatory": false,
"notNull": true,
"min": null,
"max": null
}
}
},
"result": [{
"@type": "d", "@rid": "#10:0", "@version": 15, "@class": "Profile",
"nick": "Neo",
"followings": ["#10:1", "#10:2"],
"location": "#13:150",
"value": "test",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:1", "@version": 25, "@class": "Profile",
"nick": "Morpheus",
"followings": [],
"sex": "male",
"followers": {"Johnny": "#10:2"}
}, {
"@type": "d", "@rid": "#10:2", "@version": 13, "@class": "Profile",
"nick": "Trinity",
"followings": [],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:3", "@version": 13, "@class": "Profile",
"nick": "GGaribaldi",
"followings": [],
"name": "Giuseppe",
"surname": "Garibaldi",
"location": "#13:162",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:4", "@version": 13, "@class": "Profile",
"nick": "NBonaparte",
"followings": [],
"name": "Napoleone",
"surname": "Bonaparte",
"location": "#13:161",
"invitedBy": "#10:3",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:5", "@version": 14, "@class": "Profile",
"nick": "NChurcill",
"followings": [],
"name": "Nicholas ",
"surname": "Churcill",
"location": "#13:163",
"invitedBy": "#10:6",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:6", "@version": 13, "@class": "Profile",
"nick": "WChurcill",
"followings": [],
"name": "Winston",
"surname": "Churcill",
"location": "#13:163",
"invitedBy": "#10:5",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:10", "@version": 14, "@class": "Profile",
"nick": "Dexter",
"name": "Michael",
"surname": "Hall",
"tag_list": ["yeah", "test", "actor"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:11", "@version": 13, "@class": "Profile",
"nick": "LucaPhotoTest",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:12", "@version": 14, "@class": "Profile",
"nick": "JayM3",
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:13", "@version": 13, "@class": "Profile",
"nick": "Jacky",
"name": "Jack",
"surname": "Tramiel",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:14", "@version": 13, "@class": "Profile",
"nick": "MostFamousJack",
"name": "Kiefer",
"surname": "Sutherland",
"tag_list": ["actor", "myth"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:15", "@version": 14, "@class": "Profile",
"name": "Jack",
"surname": "Bauer",
"following": ["#10:17"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:16", "@version": 13, "@class": "Profile",
"name": "Teri",
"surname": "Bauer",
"following": ["#10:15"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:17", "@version": 13, "@class": "Profile",
"name": "Kim",
"surname": "Bauer",
"following": ["#10:16"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:18", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex0",
"followings": [],
"name": "NickIndex0",
"surname": "NolteIndex0",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:19", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex1",
"followings": [],
"name": "NickIndex1",
"surname": "NolteIndex1",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:20", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex2",
"followings": [],
"name": "NickIndex2",
"surname": "NolteIndex2",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:21", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex3",
"followings": [],
"name": "NickIndex3",
"surname": "NolteIndex3",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:22", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex4",
"followings": [],
"name": "NickIndex4",
"surname": "NolteIndex4",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:23", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex5",
"followings": [],
"name": "NickIndex5",
"surname": "NolteIndex5",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:24", "@version": 13, "@class": "Profile",
"nick": "000",
"followings": [],
"name": "NickIndex0",
"surname": "NolteIndex0",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:25", "@version": 13, "@class": "Profile",
"nick": "001",
"followings": [],
"name": "NickIndex1",
"surname": "NolteIndex1",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:26", "@version": 13, "@class": "Profile",
"nick": "002",
"followings": [],
"name": "NickIndex2",
"surname": "NolteIndex2",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:27", "@version": 13, "@class": "Profile",
"nick": "003",
"followings": [],
"name": "NickIndex3",
"surname": "NolteIndex3",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:28", "@version": 13, "@class": "Profile",
"nick": "004",
"followings": [],
"name": "NickIndex4",
"surname": "NolteIndex4",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:29", "@version": 13, "@class": "Profile",
"nick": "005",
"followings": [],
"name": "NickIndex5",
"surname": "NolteIndex5",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:30", "@version": 13, "@class": "Profile",
"nick": "Jay",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:31", "@version": 13, "@class": "Profile",
"nick": "Yay-0",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:32", "@version": 13, "@class": "Profile",
"nick": "Yay-1",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:33", "@version": 13, "@class": "Profile",
"nick": "Yay-2",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:34", "@version": 13, "@class": "Profile",
"nick": "Yay-3",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:35", "@version": 13, "@class": "Profile",
"nick": "Yay-4",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:36", "@version": 13, "@class": "Profile",
"nick": "Yay-5",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:37", "@version": 13, "@class": "Profile",
"nick": "Yay-6",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:38", "@version": 13, "@class": "Profile",
"nick": "Yay-7",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:39", "@version": 13, "@class": "Profile",
"nick": "Yay-8",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:40", "@version": 13, "@class": "Profile",
"nick": "Yay-9",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:41", "@version": 13, "@class": "Profile",
"nick": "Jay",
"followings": [],
"name": "Nick",
"surname": "Nolte",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:42", "@version": 13, "@class": "Profile",
"nick": "HashTest0",
"followings": [],
"hash": 100,
"sex": "male"
}
]
}
[REQ 615] => OSESSIONID=OS13222979171193439026258057655034; Path=/; HttpOnly [0.009959 secs]
------------------------------------------------------------------------------------------
=== REQ 616 ===
#10:19", "@version": 13, "@class": "Profile",
=== REQ 616 ===
"nick": "ZZZJayLongNickIndex1",
"followings": [],
"name": "NickIndex1",
"surname": "NolteIndex1",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:20", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex2",
"followings": [],
"name": "NickIndex2",
"surname": "NolteIndex2",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:21", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex3",
"followings": [],
"name": "NickIndex3",
"surname": "NolteIndex3",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:22", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex4",
"followings": [],
"name": "NickIndex4",
"surname": "NolteIndex4",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:23", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex5",
"followings": [],
"name": "NickIndex5",
"surname": "NolteIndex5",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:24", "@version": 13, "@class": "Profile",
"nick": "000",
"followings": [],
"name": "NickIndex0",
"surname": "NolteIndex0",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:25", "@version": 13, "@class": "Profile",
"nick": "001",
"followings": [],
"name": "NickIndex1",
"surname": "NolteIndex1",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:26", "@version": 13, "@class": "Profile",
"nick": "002",
"followings": [],
"name": "NickIndex2",
"surname": "NolteIndex2",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:27", "@version": 13, "@class": "Profile",
"nick": "003",
"followings": [],
"name": "NickIndex3",
"surname": "NolteIndex3",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:28", "@version": 13, "@class": "Profile",
"nick": "004",
"followings": [],
"name": "NickIndex4",
"surname": "NolteIndex4",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:29", "@version": 13, "@class": "Profile",
"nick": "005",
"followings": [],
"name": "NickIndex5",
"surname": "NolteIndex5",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:30", "@version": 13, "@class": "Profile",
"nick": "Jay",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:31", "@version": 13, "@class": "Profile",
"nick": "Yay-0",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:32", "@version": 13, "@class": "Profile",
"nick": "Yay-1",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:33", "@version": 13, "@class": "Profile",
"nick": "Yay-2",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:34", "@version": 13, "@class": "Profile",
"nick": "Yay-3",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:35", "@version": 13, "@class": "Profile",
"nick": "Yay-4",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:36", "@version": 13, "@class": "Profile",
"nick": "Yay-5",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:37", "@version": 13, "@class": "Profile",
"nick": "Yay-6",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:38", "@version": 13, "@class": "Profile",
"nick": "Yay-7",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:39", "@version": 13, "@class": "Profile",
"nick": "Yay-8",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:40", "@version": 13, "@class": "Profile",
"nick": "Yay-9",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:41", "@version": 13, "@class": "Profile",
"nick": "Jay",
"followings": [],
"name": "Nick",
"surname": "Nolte",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:42", "@version": 13, "@class": "Profile",
"nick": "HashTest0",
"followings": [],
"hash": 100,
"sex": "male"
}
]
}HTTP/1.1 200 OK
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Date: Sat Nov 26 09:58:37 CET 2011
Content-Type: application/json; charset=utf-8
Server: OrientDB Server v.1.0rc7-SNAPSHOT (build @BUILD@)
Connection: Keep-Alive
Set-Cookie: OSESSIONID=OS13222979171193439026258057655034; Path=/; HttpOnly
Content-Length: 7889
{ "schema": {
"name": "Address"
},
"result": [{
"@type": "d", "@rid": "#13:0", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:1", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:2", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:3", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:4", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:5", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:6", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:7", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:8", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:9", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:10", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:11", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:12", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:13", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:14", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:15", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:16", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:17", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:18", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:19", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:20", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:21", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:22", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:23", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:24", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:25", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:26", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:27", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:28", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:29", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:30", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:31", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:32", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:33", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:34", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:35", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:36", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:37", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:38", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:39", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}
]
}{ "schema": {
"name": "Address"
},
"result": [{
"@type": "d", "@rid": "#13:0", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:1", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:2", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:3", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:4", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:5", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:6", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:7", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:8", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:9", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:10", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:11", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:12", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:13", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:14", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
=== REQ 616 ===
}, {
"@type": "d", "@rid": "#13:15", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:16", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:17", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:18", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:19", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:20", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:21", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:22", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:23", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:24", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:25", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:26", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:27", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:28", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:29", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:30", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:31", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:32", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:33", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:34", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:35", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:36", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:37", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:38", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:39", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}
]
}
[REQ 616] => OSESSIONID=OS13222979171193439026258057655034; Path=/; HttpOnly [10.508232 secs]
********** GONE BOOM AT REQUEST 616 *********
<?php
$iterations = 1000;
$options = array(
'reuse_connection' => true,
'curl_verbose' => true,
);
$client = new Client('192.168.1.1:2480', 'admin:admin', 'demo', $options);
for ($i = 0; $i < $iterations; $i++) {
$what = $i % 2 == 0 ? 'Address' : 'Profile';
$before = microtime(true);
$response = $client->query("SELECT FROM $what", 40);
$passed = sprintf("%.6f", microtime(true) - $before);
$client->log("[REQ $i] => " . $response->getHeader('Set-Cookie') . " [$passed secs]\n", true);
$result = @json_decode($response->getBody())->result;
if ($result === null) {
$client->log("********** GONE BOOM AT REQUEST $i *********\n", true);
exit();
}
$client->log("-------------------------------------------------------------------------------\n", true);
}
/* ======================= CLASSES ======================= */
class Client
{
const LOGFILE = "clientside_responses.log";
private $server;
private $db;
private $curl;
private $request = -1;
private $buffer = null;
public function __construct($server, $auth, $db, $options = array())
{
if (file_exists(self::LOGFILE)) {
unlink(self::LOGFILE);
}
$this->server = $server;
$this->db = $db;
$this->curl = $this->createCurlHandle($auth, $options);
}
protected function createCurlHandle($auth, $options)
{
$reuse = isset($options['reuse_connection']) ? $options['reuse_connection'] : true;
$verbose = (bool)isset($options['curl_verbose']) ? $options['curl_verbose'] : false;
$this->buffer = '';
$curl = curl_init();
$options = array(
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => false,
CURLOPT_VERBOSE => $verbose,
CURLOPT_FORBID_REUSE => !$reuse,
CURLOPT_MAXCONNECTS => 1,
CURLOPT_RETURNTRANSFER => false,
CURLOPT_WRITEFUNCTION => array($this, 'fillBuffer'),
);
if ($auth) {
$options[CURLOPT_USERPWD] = $auth;
}
curl_setopt_array($curl, $options);
return $curl;
}
public function log($buffer, $echo = false)
{
file_put_contents(self::LOGFILE, $buffer, FILE_APPEND);
if ($echo) {
echo $buffer;
}
}
protected function fillBuffer($resource, $buffer)
{
$this->buffer .= $buffer;
$this->log("=== REQ {$this->request} ===\n$buffer\n");
return strlen($buffer);
}
public function query($query, $limit = 20)
{
return $this->execute('GET', "http://{$this->server}/query/{$this->db}/sql/".urlencode($query)."/$limit/");
}
public function execute($method, $location)
{
$this->request++;
curl_setopt($this->curl, CURLOPT_URL, "$location?req={$this->request}");
curl_exec($this->curl);
$response = $this->buffer;
$this->buffer = '';
if (!$response) {
throw new RuntimeException($location);
}
return new Response($response);
}
}
class Response
{
private $body;
private $headers;
public function __construct($response)
{
@list($raw_headers, $this->body) = explode("\r\n\r\n", $response, 2);
$this->buildHeaders($raw_headers);
}
public function getBody()
{
return $this->body;
}
public function getHeader($header)
{
return isset($this->headers[$header]) ? $this->headers[$header] : null;
}
protected function buildHeaders($headers)
{
$parts = explode("\r\n", $headers);
$status = array_shift($parts);
$statusParts = explode(" ", $status);
foreach ($parts as $header) {
list($header, $value) = explode(':', $header, 2);
$header = trim($header, ' ');
if (isset($this->headers[$header]))
{
$this->headers[$header] .= "," . $value;
}
else
{
$this->headers[$header] = trim($value, ' ');
}
}
}
}
GET /query/demo/sql/SELECT+FROM+Profile/40/?req=615 HTTP/1.1
Authorization: Basic YWRtaW46YWRtaW4=
Host: 192.168.1.1:2480
Accept: */*
HTTP/1.1 200 OK
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Date: Sat Nov 26 09:58:37 CET 2011
Content-Type: application/json; charset=utf-8
Server: OrientDB Server v.1.0rc7-SNAPSHOT (build @BUILD@)
Connection: Keep-Alive
Set-Cookie: OSESSIONID=OS13222979171193439026258057655034; Path=/; HttpOnly
Content-Length: 9817
{ "schema": {
"name": "Profile",
"properties":{
"lastAccessOn":{
"name": "lastAccessOn",
"type": "DATETIME",
"mandatory": false,
"notNull": true,
"min": "2010-01-01 00:00:00",
"max": null
},
"registeredOn":{
"name": "registeredOn",
"type": "DATETIME",
"mandatory": false,
"notNull": true,
"min": "2010-01-01 00:00:00",
"max": null
},
"nick":{
"name": "nick",
"type": "STRING",
"mandatory": false,
"notNull": true,
"min": "3",
"max": "30"
},
"hash":{
"name": "hash",
"type": "LONG",
"mandatory": false,
"notNull": true,
"min": null,
"max": null
},
"name":{
"name": "name",
"type": "STRING",
"mandatory": false,
"notNull": true,
"min": "3",
"max": "30"
},
"surname":{
"name": "surname",
"type": "STRING",
"mandatory": false,
"notNull": true,
"min": "3",
"max": "30"
},
"photo":{
"name": "photo",
"type": "TRANSIENT",
"mandatory": false,
"notNull": true,
"min": null,
"max": null
}
}
},
"result": [{
"@type": "d", "@rid": "#10:0", "@version": 15, "@class": "Profile",
"nick": "Neo",
"followings": ["#10:1", "#10:2"],
"location": "#13:150",
"value": "test",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:1", "@version": 25, "@class": "Profile",
"nick": "Morpheus",
"followings": [],
"sex": "male",
"followers": {"Johnny": "#10:2"}
}, {
"@type": "d", "@rid": "#10:2", "@version": 13, "@class": "Profile",
"nick": "Trinity",
"followings": [],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:3", "@version": 13, "@class": "Profile",
"nick": "GGaribaldi",
"followings": [],
"name": "Giuseppe",
"surname": "Garibaldi",
"location": "#13:162",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:4", "@version": 13, "@class": "Profile",
"nick": "NBonaparte",
"followings": [],
"name": "Napoleone",
"surname": "Bonaparte",
"location": "#13:161",
"invitedBy": "#10:3",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:5", "@version": 14, "@class": "Profile",
"nick": "NChurcill",
"followings": [],
"name": "Nicholas ",
"surname": "Churcill",
"location": "#13:163",
"invitedBy": "#10:6",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:6", "@version": 13, "@class": "Profile",
"nick": "WChurcill",
"followings": [],
"name": "Winston",
"surname": "Churcill",
"location": "#13:163",
"invitedBy": "#10:5",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:10", "@version": 14, "@class": "Profile",
"nick": "Dexter",
"name": "Michael",
"surname": "Hall",
"tag_list": ["yeah", "test", "actor"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:11", "@version": 13, "@class": "Profile",
"nick": "LucaPhotoTest",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:12", "@version": 14, "@class": "Profile",
"nick": "JayM3",
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:13", "@version": 13, "@class": "Profile",
"nick": "Jacky",
"name": "Jack",
"surname": "Tramiel",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:14", "@version": 13, "@class": "Profile",
"nick": "MostFamousJack",
"name": "Kiefer",
"surname": "Sutherland",
"tag_list": ["actor", "myth"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:15", "@version": 14, "@class": "Profile",
"name": "Jack",
"surname": "Bauer",
"following": ["#10:17"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:16", "@version": 13, "@class": "Profile",
"name": "Teri",
"surname": "Bauer",
"following": ["#10:15"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:17", "@version": 13, "@class": "Profile",
"name": "Kim",
"surname": "Bauer",
"following": ["#10:16"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:18", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex0",
"followings": [],
"name": "NickIndex0",
"surname": "NolteIndex0",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:19", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex1",
"followings": [],
"name": "NickIndex1",
"surname": "NolteIndex1",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:20", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex2",
"followings": [],
"name": "NickIndex2",
"surname": "NolteIndex2",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:21", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex3",
"followings": [],
"name": "NickIndex3",
"surname": "NolteIndex3",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:22", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex4",
"followings": [],
"name": "NickIndex4",
"surname": "NolteIndex4",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:23", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex5",
"followings": [],
"name": "NickIndex5",
"surname": "NolteIndex5",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:24", "@version": 13, "@class": "Profile",
"nick": "000",
"followings": [],
"name": "NickIndex0",
"surname": "NolteIndex0",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:25", "@version": 13, "@class": "Profile",
"nick": "001",
"followings": [],
"name": "NickIndex1",
"surname": "NolteIndex1",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:26", "@version": 13, "@class": "Profile",
"nick": "002",
"followings": [],
"name": "NickIndex2",
"surname": "NolteIndex2",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:27", "@version": 13, "@class": "Profile",
"nick": "003",
"followings": [],
"name": "NickIndex3",
"surname": "NolteIndex3",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:28", "@version": 13, "@class": "Profile",
"nick": "004",
"followings": [],
"name": "NickIndex4",
"surname": "NolteIndex4",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:29", "@version": 13, "@class": "Profile",
"nick": "005",
"followings": [],
"name": "NickIndex5",
"surname": "NolteIndex5",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:30", "@version": 13, "@class": "Profile",
"nick": "Jay",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:31", "@version": 13, "@class": "Profile",
"nick": "Yay-0",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:32", "@version": 13, "@class": "Profile",
"nick": "Yay-1",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:33", "@version": 13, "@class": "Profile",
"nick": "Yay-2",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:34", "@version": 13, "@class": "Profile",
"nick": "Yay-3",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:35", "@version": 13, "@class": "Profile",
"nick": "Yay-4",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:36", "@version": 13, "@class": "Profile",
"nick": "Yay-5",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:37", "@version": 13, "@class": "Profile",
"nick": "Yay-6",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:38", "@version": 13, "@class": "Profile",
"nick": "Yay-7",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:39", "@version": 13, "@class": "Profile",
"nick": "Yay-8",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:40", "@version": 13, "@class": "Profile",
"nick": "Yay-9",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:41", "@version": 13, "@class": "Profile",
"nick": "Jay",
"followings": [],
"name": "Nick",
"surname": "Nolte",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:42", "@version": 13, "@class": "Profile",
"nick": "HashTest0",
"followings": [],
"hash": 100,
"sex": "male"
}
]
}{ "schema": {
"name": "Profile",
"properties":{
"lastAccessOn":{
"name": "lastAccessOn",
"type": "DATETIME",
"mandatory": false,
"notNull": true,
"min": "2010-01-01 00:00:00",
"max": null
},
"registeredOn":{
"name": "registeredOn",
"type": "DATETIME",
"mandatory": false,
"notNull": true,
"min": "2010-01-01 00:00:00",
"max": null
},
"nick":{
"name": "nick",
"type": "STRING",
"mandatory": false,
"notNull": true,
"min": "3",
"max": "30"
},
"hash":{
"name": "hash",
"type": "LONG",
"mandatory": false,
"notNull": true,
"min": null,
"max": null
},
"name":{
"name": "name",
"type": "STRING",
"mandatory": false,
"notNull": true,
"min": "3",
"max": "30"
},
"surname":{
"name": "surname",
"type": "STRING",
"mandatory": false,
"notNull": true,
"min": "3",
"max": "30"
},
"photo":{
"name": "photo",
"type": "TRANSIENT",
"mandatory": false,
"notNull": true,
"min": null,
"max": null
}
}
},
"result": [{
"@type": "d", "@rid": "#10:0", "@version": 15, "@class": "Profile",
"nick": "Neo",
"followings": ["#10:1", "#10:2"],
"location": "#13:150",
"value": "test",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:1", "@version": 25, "@class": "Profile",
"nick": "Morpheus",
"followings": [],
"sex": "male",
"followers": {"Johnny": "#10:2"}
}, {
"@type": "d", "@rid": "#10:2", "@version": 13, "@class": "Profile",
"nick": "Trinity",
"followings": [],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:3", "@version": 13, "@class": "Profile",
"nick": "GGaribaldi",
"followings": [],
"name": "Giuseppe",
"surname": "Garibaldi",
"location": "#13:162",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:4", "@version": 13, "@class": "Profile",
"nick": "NBonaparte",
"followings": [],
"name": "Napoleone",
"surname": "Bonaparte",
"location": "#13:161",
"invitedBy": "#10:3",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:5", "@version": 14, "@class": "Profile",
"nick": "NChurcill",
"followings": [],
"name": "Nicholas ",
"surname": "Churcill",
"location": "#13:163",
"invitedBy": "#10:6",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:6", "@version": 13, "@class": "Profile",
"nick": "WChurcill",
"followings": [],
"name": "Winston",
"surname": "Churcill",
"location": "#13:163",
"invitedBy": "#10:5",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:10", "@version": 14, "@class": "Profile",
"nick": "Dexter",
"name": "Michael",
"surname": "Hall",
"tag_list": ["yeah", "test", "actor"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:11", "@version": 13, "@class": "Profile",
"nick": "LucaPhotoTest",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:12", "@version": 14, "@class": "Profile",
"nick": "JayM3",
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:13", "@version": 13, "@class": "Profile",
"nick": "Jacky",
"name": "Jack",
"surname": "Tramiel",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:14", "@version": 13, "@class": "Profile",
"nick": "MostFamousJack",
"name": "Kiefer",
"surname": "Sutherland",
"tag_list": ["actor", "myth"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:15", "@version": 14, "@class": "Profile",
"name": "Jack",
"surname": "Bauer",
"following": ["#10:17"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:16", "@version": 13, "@class": "Profile",
"name": "Teri",
"surname": "Bauer",
"following": ["#10:15"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:17", "@version": 13, "@class": "Profile",
"name": "Kim",
"surname": "Bauer",
"following": ["#10:16"],
"sex": "male"
}, {
"@type": "d", "@rid": "#10:18", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex0",
"followings": [],
"name": "NickIndex0",
"surname": "NolteIndex0",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:19", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex1",
"followings": [],
"name": "NickIndex1",
"surname": "NolteIndex1",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:20", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex2",
"followings": [],
"name": "NickIndex2",
"surname": "NolteIndex2",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:21", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex3",
"followings": [],
"name": "NickIndex3",
"surname": "NolteIndex3",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:22", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex4",
"followings": [],
"name": "NickIndex4",
"surname": "NolteIndex4",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:23", "@version": 13, "@class": "Profile",
"nick": "ZZZJayLongNickIndex5",
"followings": [],
"name": "NickIndex5",
"surname": "NolteIndex5",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:24", "@version": 13, "@class": "Profile",
"nick": "000",
"followings": [],
"name": "NickIndex0",
"surname": "NolteIndex0",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:25", "@version": 13, "@class": "Profile",
"nick": "001",
"followings": [],
"name": "NickIndex1",
"surname": "NolteIndex1",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:26", "@version": 13, "@class": "Profile",
"nick": "002",
"followings": [],
"name": "NickIndex2",
"surname": "NolteIndex2",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:27", "@version": 13, "@class": "Profile",
"nick": "003",
"followings": [],
"name": "NickIndex3",
"surname": "NolteIndex3",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:28", "@version": 13, "@class": "Profile",
"nick": "004",
"followings": [],
"name": "NickIndex4",
"surname": "NolteIndex4",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:29", "@version": 13, "@class": "Profile",
"nick": "005",
"followings": [],
"name": "NickIndex5",
"surname": "NolteIndex5",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:30", "@version": 13, "@class": "Profile",
"nick": "Jay",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:31", "@version": 13, "@class": "Profile",
"nick": "Yay-0",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:32", "@version": 13, "@class": "Profile",
"nick": "Yay-1",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:33", "@version": 13, "@class": "Profile",
"nick": "Yay-2",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:34", "@version": 13, "@class": "Profile",
"nick": "Yay-3",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:35", "@version": 13, "@class": "Profile",
"nick": "Yay-4",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:36", "@version": 13, "@class": "Profile",
"nick": "Yay-5",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:37", "@version": 13, "@class": "Profile",
"nick": "Yay-6",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:38", "@version": 13, "@class": "Profile",
"nick": "Yay-7",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:39", "@version": 13, "@class": "Profile",
"nick": "Yay-8",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:40", "@version": 13, "@class": "Profile",
"nick": "Yay-9",
"followings": [],
"name": "Jay",
"surname": "Miner",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:41", "@version": 13, "@class": "Profile",
"nick": "Jay",
"followings": [],
"name": "Nick",
"surname": "Nolte",
"sex": "male"
}, {
"@type": "d", "@rid": "#10:42", "@version": 13, "@class": "Profile",
"nick": "HashTest0",
"followings": [],
"hash": 100,
"sex": "male"
}
]
}GET /query/demo/sql/SELECT+FROM+Address/40/?req=616 HTTP/1.1
Authorization: Basic YWRtaW46YWRtaW4=
Host: 192.168.1.1:2480
Accept: */*
HTTP/1.1 200 OK
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Date: Sat Nov 26 09:58:37 CET 2011
Content-Type: application/json; charset=utf-8
Server: OrientDB Server v.1.0rc7-SNAPSHOT (build @BUILD@)
Connection: Keep-Alive
Set-Cookie: OSESSIONID=OS13222979171193439026258057655034; Path=/; HttpOnly
Content-Length: 7889
{ "schema": {
"name": "Address"
},
"result": [{
"@type": "d", "@rid": "#13:0", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:1", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:2", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:3", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:4", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:5", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:6", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:7", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:8", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:9", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:10", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:11", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:12", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:13", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:14", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:15", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:16", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:17", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:18", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:19", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:20", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:21", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:22", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:23", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:24", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:25", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:26", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:27", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:28", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:29", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:30", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:31", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:32", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:33", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:34", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:35", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:36", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:37", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:38", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:39", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}
]
}{ "schema": {
"name": "Address"
},
"result": [{
"@type": "d", "@rid": "#13:0", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:1", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:2", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:3", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:4", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:5", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:6", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:7", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:8", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:9", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:10", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:11", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:12", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:13", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:14", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:15", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:16", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:17", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:18", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:19", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:20", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:21", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:22", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:23", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:24", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:25", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:26", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:27", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:28", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:29", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:30", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:31", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:32", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:33", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:34", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:35", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:36", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:37", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:38", "@version": 24, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}, {
"@type": "d", "@rid": "#13:39", "@version": 25, "@class": "Address",
"type": "Residence",
"street": "Piazza Navona, 1",
"city": "#14:0",
"nick": "Luca2"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment