This repository was archived by the owner on Mar 8, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 720
Short branch #1277
Merged
EdProsser
merged 105 commits into
hyperledger-archives:master
from
EdProsser:short-branch
Jun 15, 2017
Merged
Short branch #1277
Changes from all commits
Commits
Show all changes
105 commits
Select commit
Hold shift + click to select a range
aadf9d6
Updates for work
EdProsser 32c25e5
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser 67461d2
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser b8aa84c
Adding Installing Index to ToC
EdProsser 02c32b8
Removing Fabric Composer name
EdProsser b368825
Removing Fabric composer name
EdProsser c7c1139
Moving images for REST API doc
EdProsser c47dcc5
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser 9e93011
Fabric Composer Name removal
EdProsser d5571f6
Fabric Composer name removal
EdProsser f451c3e
Other name changes (Stack Overflow, GitHub, Rocket.Chat, JavaScript)
EdProsser 95ebad2
wording updates and bug splats
EdProsser 6c9c6bf
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser dac8b5e
ToC Updates
EdProsser c6dd3bd
Merge branch 'master' into master
EdProsser 3646022
Merge branch 'master' into master
EdProsser ca7d8bc
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser e1cbf5d
HLv1 docs updates, couple more bug splats.
EdProsser 9a24290
Last edit for HLv1
EdProsser a6b3c83
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser dca7b3f
Whoops, bug splat
EdProsser cf23ac0
Another bug splat...
EdProsser 8d9022e
Merge branch 'master' into master
EdProsser 587ad3c
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser ce13300
Merge branch 'master' of https://github.com/EdProsser/fabric-composer
EdProsser b8ce008
Quick fixes prereqs navbar
EdProsser 8326d50
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser fbcd5a2
intro diagram fix and bug fixes
EdProsser 6231a5c
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser 3cbd7ad
Fixes and updates
EdProsser 2a7579b
Rollback optional script for v1.0
EdProsser a98cfeb
QoL changes and rollback changes - Quickstart
EdProsser 788abd0
Link fixes
EdProsser 62eb96d
Atom links fix, formatting fix
EdProsser b9ad27b
Odd formatting fix.
EdProsser 55ad081
Name change and codeblock fix
EdProsser 89c3327
More odd formatting fixes
EdProsser a629025
Merge branch 'master' into master
50a862f
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser 8b2d43a
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser 2b73ee0
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser 183c442
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser 8482482
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser 26ca287
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser 3927222
Ubuntu root user doc fix + draft of bnd doc changes
EdProsser bcb050f
update for CLI define + deploy BNA
EdProsser 1abb831
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser a2f3bfc
last bnd update
EdProsser 75fb2a0
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser 60c4a60
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser b895950
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser c706604
Merge remote-tracking branch 'refs/remotes/hyperledger/master'
EdProsser ea8a49a
Events and bug fixes
EdProsser 92b742e
Last event thing
EdProsser 5872a55
Merge remote-tracking branch 'hyperledger/master'
7708e51
Updates for #803 and #822
7d08dea
removing unnecessary stuff
bb171ef
Undeploy support #673
3faa784
Clarifications on undeploy
343e72b
Merge remote-tracking branch 'hyperledger/master'
57aed2a
Merge remote-tracking branch 'hyperledger/master'
217ccc8
Merge remote-tracking branch 'hyperledger/master'
c15a8b1
Merge branch 'master' into master
EdProsser b413344
Merge remote-tracking branch 'hyperledger/master'
1860b49
Merge remote-tracking branch 'hyperledger/master'
fdf8670
Merge remote-tracking branch 'hyperledger/master'
9094568
Commit?
21f0fc9
Revert "Commit?"
4b06ac8
Quick Fixes
2470c57
Quick fix for connection profile keyvalstore
f10f070
Updates to show events docs in ToC
e00f929
Quick fixes
59b7173
Merge remote-tracking branch 'hyperledger/master'
5b558ac
Merge remote-tracking branch 'hyperledger/master'
bcc2455
Merge branch 'master' into master
cazfletch 2acd47f
Merge remote-tracking branch 'hyperledger/master'
e4f2663
Merge remote-tracking branch 'hyperledger/master'
7dc7b33
Merge remote-tracking branch 'hyperledger/master'
f7e7db1
Merge remote-tracking branch 'hyperledger/master'
7b1c789
Merge remote-tracking branch 'hyperledger/master'
464f24d
Last minute docs updates.
9d12315
Merge remote-tracking branch 'hyperledger/master'
f74da77
changes from issue #912
3fcf133
Version 1 auto-generating landing pages
679ed52
Merge remote-tracking branch 'hyperledger/master'
d9599d0
Docs Updates week 2
88a800a
1 more set of updates
b128c27
Merge remote-tracking branch 'hyperledger/master' into new-user-docs-wk2
f7aa534
last changes
3ef7d9e
Merge remote-tracking branch 'hyperledger/master' into new-user-docs-wk2
e894de8
Merge remote-tracking branch 'hyperledger/master' into new-user-docs-wk2
b3a4a92
Merge remote-tracking branch 'hyperledger/master' into new-user-docs-wk2
1ea6001
Merge remote-tracking branch 'hyperledger/master' into new-user-docs-wk2
5aadcd3
Merge remote-tracking branch 'hyperledger/master' into new-user-docs-wk2
7660991
HLFV1 Beta and Query (#1247) (#1255)
cazfletch e764b4b
Move HLF v0.6 to use Duktape instead of Otto (#1257)
8e67249
Connection profile, identity import, logic.js
EdProsser 6384af7
Merge remote-tracking branch 'hyperledger/master' into short-branch
EdProsser 0db8076
Query v0.1
EdProsser bbfd8cb
Merge remote-tracking branch 'hyperledger/master' into short-branch
EdProsser a139679
Connection profile, Query, Security, Dev Guide
EdProsser 34f096f
Merge remote-tracking branch 'hyperledger/master' into short-branch
EdProsser d631a32
Security updates for local playground
EdProsser 5b58b7d
Last minute updates
EdProsser 0869e15
Merge branch 'master' into short-branch
EdProsser File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
70 changes: 70 additions & 0 deletions
70
packages/composer-website/jekylldocs/business-network/query.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| --- | ||
| layout: default | ||
| title: Querying Business Network Data | ||
| category: tasks | ||
| section: business-network | ||
| sidebar: sidebars/businessnetworks.md | ||
| excerpt: Using {{site.data.conrefs.hlf_full}} and CouchDB, you can query assets in the stored world-state and return listed assets by using a transaction processor function. | ||
| --- | ||
|
|
||
| # Querying business network data | ||
|
|
||
| >Warning | ||
| The status of this feature is experimental. You **must** use Hyperledger Composer v0.8+ with the the HLFv1 runtime to use queries. We welcome feedback and comments while we continue to iterate upon query functionality. The API may change based on the feedback received. In future releases we plan to extend this feature with a Composer specific query language, and data-binding to assets, participants and transactions. | ||
|
|
||
| {{site.data.conrefs.hlf_full}} v1.0 can be configured to store the world-state in a CouchDB database. CouchDB is a JSON document store, so all data in the world-state is persisted as JSON documents, including Composer assets, participants and transactions. | ||
|
|
||
| When {{site.data.conrefs.hlf_full}} is used in CouchDB mode chaincode can execute complex (content-based) queries against the world-state data. The queries are written in the Mango query language, the native CouchDB query language. | ||
|
|
||
| An example Mango _selector_ query: | ||
| var q = { | ||
| selector: { | ||
| size: 'SMALL' | ||
| } | ||
| }; | ||
|
|
||
| This query will select all JSON documents in the document store that contain the property `size` that has the value `SMALL`. Please refer to the CouchDB documentation for the [query syntax for Mango queries](http://docs.couchdb.org/en/2.0.0/api/database/find.html). Note that CouchDB ships with a powerful web interface called [Fauxton](http://couchdb.apache.org/fauxton-visual-guide/). You can use Fauxton to inspect the documents in the document store, run queries, view results etc. | ||
|
|
||
| ### Running Native CouchDB Mango Queries from Transaction Processor Functions | ||
|
|
||
| The Composer runtime API includes the `queryNative(queryString)` method, allowing transaction processor functions to submit native Mango queries to CouchDB. Composer will execute the query against CouchDB, returning a promise to a JS Object that captures the results of running the query. | ||
|
|
||
| The JS Object returned is composed of an array of objects, each with a `Key` and `Record` property. `Key` is a string that represents the key of the document in the document store. `Record` is a JS Object that captures the data for the document itself. | ||
|
|
||
| ### Example | ||
|
|
||
| The example below runs a content-based query to select all `SMALL` marbles, verifies the number of marbles returned, and that they are indeed all `SMALL`. | ||
| ``` | ||
| /** | ||
| * Executes a CouchDB query and checks the results. | ||
| * @param {org.fabric_composer.marbles.QueryMarbleByOwner} transaction | ||
| * @transaction | ||
| * @return {Promise} a promise to the results of transaction processing | ||
| */ | ||
| function onQueryMarbleByOwner(transaction) { | ||
| var factory = getFactory(); | ||
| // create the query | ||
| var q = { | ||
| selector: { | ||
| size: 'SMALL' | ||
| } | ||
| }; | ||
| return queryNative(JSON.stringify(q)) | ||
| .then(function (resultArray) { | ||
| print('TP function received query result: ', JSON.stringify(resultArray)); | ||
| if (resultArray.length !== 5) { | ||
| throw new Error('The incorrect number of marbles found: ', resultArray.length); | ||
| } | ||
| for (var x = 0; x < resultArray.length; x++) { | ||
| var currentResult = resultArray[x]; | ||
| if (currentResult.Record.size !== 'SMALL') { | ||
| throw new Error('Query returned a marble that is not SMALL!', currentResult.Record); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| ``` | ||
|
|
||
| Using a selector it is possible to query all assets of a given type, with a given set of properties, and then to convert them back into Composer resources using `getSerializer().fromJSON(jsObject)`. Once the JS object returned by a query have been converted back into a Composer object it can be updated and persisted back into an asset registry. | ||
|
|
||
| >Note that in the future Composer will define a query language expressed in terms of assets, participants and transactions and automatically marshall the JS objects returned by CouchDB to the corresponding Composer modelled types. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The simplified version defines the "ca" as a single line. This will only work if the ca has no name defined. If it does then you will have to use the more complex definition of a ca
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed