mediachain / concat

Mediachain daemons
MIT License
42 stars 13 forks source link

Compound Statement publishing #69

Closed vyzo closed 7 years ago

vyzo commented 7 years ago

Extends the /publish/ns endpoint with a /publish/ns/N, which publishes compound statements in groups of N [#62]

Also fixes a missing error check in mergeDataImpl.

Demo:

$ wc -l /tmp/batch100 
100 /tmp/batch100

$ head -5 /tmp/batch100
{"object": "QmSiRz7p3y7Y3fYcvxdHRv2gAmKaQ21tjrKMu3Cgq215uj", "refs": ["abc"], "tags": ["test"]}
{"object": "QmTJqrdXaxkrR3rW4VMMzPVkzHZrnHoDgY1WnhVxhQa3Sa", "refs": ["abc"], "tags": ["test"]}
{"object": "QmZw5rJokTsayoKi1rDehFS1WfefsoXyFXVzuMJwt8baJj", "refs": ["abc"], "tags": ["test"]}
{"object": "QmSiRz7p3y7Y3fYcvxdHRv2gAmKaQ21tjrKMu3Cgq215uj", "refs": ["abc"], "tags": ["test"]}
{"object": "QmTJqrdXaxkrR3rW4VMMzPVkzHZrnHoDgY1WnhVxhQa3Sa", "refs": ["abc"], "tags": ["test"]}

$ curl -s -H "Content-Type: application/json" -d "@/tmp/batch100" http://127.0.0.1:9002/publish/a.b.c/10
4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk:1477651493:0
4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk:1477651493:1
4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk:1477651493:2
4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk:1477651493:3
4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk:1477651493:4
4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk:1477651493:5
4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk:1477651493:6
4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk:1477651493:7
4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk:1477651493:8
4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk:1477651493:9

$ mcclient query "SELECT * FROM * LIMIT 1"
{ id: '4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk:1477651493:0',
  publisher: '4XTTMGReLUMFwj68shYTzHBo3BDd3SRnY12jRoBwBiwd3aoVk',
  namespace: 'a.b.c',
  body: 
   { Body: 
      { Compound: 
         { body: 
            [ { object: 'QmSiRz7p3y7Y3fYcvxdHRv2gAmKaQ21tjrKMu3Cgq215uj',
                refs: [ 'abc' ],
                tags: [ 'test' ] },
              { object: 'QmTJqrdXaxkrR3rW4VMMzPVkzHZrnHoDgY1WnhVxhQa3Sa',
                refs: [ 'abc' ],
                tags: [ 'test' ] },
              { object: 'QmZw5rJokTsayoKi1rDehFS1WfefsoXyFXVzuMJwt8baJj',
                refs: [ 'abc' ],
                tags: [ 'test' ] },
              { object: 'QmSiRz7p3y7Y3fYcvxdHRv2gAmKaQ21tjrKMu3Cgq215uj',
                refs: [ 'abc' ],
                tags: [ 'test' ] },
              { object: 'QmTJqrdXaxkrR3rW4VMMzPVkzHZrnHoDgY1WnhVxhQa3Sa',
                refs: [ 'abc' ],
                tags: [ 'test' ] },
              { object: 'QmZw5rJokTsayoKi1rDehFS1WfefsoXyFXVzuMJwt8baJj',
                refs: [ 'abc' ],
                tags: [ 'test' ] },
              { object: 'QmSiRz7p3y7Y3fYcvxdHRv2gAmKaQ21tjrKMu3Cgq215uj',
                refs: [ 'abc' ],
                tags: [ 'test' ] },
              { object: 'QmTJqrdXaxkrR3rW4VMMzPVkzHZrnHoDgY1WnhVxhQa3Sa',
                refs: [ 'abc' ],
                tags: [ 'test' ] },
              { object: 'QmZw5rJokTsayoKi1rDehFS1WfefsoXyFXVzuMJwt8baJj',
                refs: [ 'abc' ],
                tags: [ 'test' ] },
              { object: 'QmSiRz7p3y7Y3fYcvxdHRv2gAmKaQ21tjrKMu3Cgq215uj',
                refs: [ 'abc' ],
                tags: [ 'test' ] } ] } } },
  timestamp: 1477651493,
  signature: 'fB+oCJH4I4wRm0iteiRtVHft+lPNRdcDptedzVRzn3LUISfsVm4rLlTxbGZlMz2TTTddH08inq5ce2qs0FCEDQ==' }