[PYCBC-129] Develop Content: deliver create the content behind the agreed upon TOC Created: 12/Jun/13  Updated: 18/Jun/13  Resolved: 18/Jun/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Task Priority: Major
Reporter: Matt Ingenthron Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File json-document.png    
Issue Links:
Relates to
relates to PYCBC-113 TOC for Python 1.0 Resolved

 Description   
Per major docs process, need to come up with all of the content behind our Python 1.0 documentation.

 Comments   
Comment by Mark Nunberg [ 13/Jun/13 ]
Getting Started section (Asciidoc).

Additionally attached is a screenshot used by a section in the 'Getting Started'
Comment by Mark Nunberg [ 14/Jun/13 ]
Still left to do: Tutorial, Logging/Debugging
Comment by Mark Nunberg [ 14/Jun/13 ]
sample HTML output
Comment by Mark Nunberg [ 14/Jun/13 ]
Added contributing and advanced sections
Comment by Mark Nunberg [ 14/Jun/13 ]
Sample HTML output
Comment by Mark Nunberg [ 14/Jun/13 ]
Tutorial
Comment by Mark Nunberg [ 17/Jun/13 ]
Note that I'm working on some newer revisions; deleting existing stuff (as I've heavily modified it locally) -- will post on monday.
Comment by Mark Nunberg [ 17/Jun/13 ]
I've submitted a pull request here:

https://github.com/couchbase/docs/pull/224
Comment by Karen Zeller [ 18/Jun/13 ]
Merged and validated.
Comment by Mark Nunberg [ 18/Jun/13 ]
There will be another PR coming up soon fixing some minor API changes which have taken place during the review process..
Comment by Mark Nunberg [ 18/Jun/13 ]
I think this can be resolved? We might have some other issues in the docs, but I think the bulk of it is done.
Comment by Karen Zeller [ 18/Jun/13 ]
Yes!




[PYCBC-71] Supporting _all_docs in the SDK Created: 15/Nov/12  Updated: 18/Jun/13  Resolved: 18/Jun/13

Status: Closed
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.8.0
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Improvement Priority: Major
Reporter: Volker Mische Assignee: Mark Nunberg
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The Python SDK currently doesn't seem to support _all_docs at the moment.

I remember that it was possible in the past with something like `.view("_all_docs")`, but I think this is the wrong way to do it. _all_docs should really have its own method. The reasons are:

 - _all_docs and Views are a different thing, this should not be hidden to the user
 - _all_docs uses raw collation and not Unicode collation as Views do
 - I'm not sure about this one, but it could be the case, that _all_docs also contains not yet persisted items (as opposed to views).


 Comments   
Comment by Mark Nunberg [ 18/Jun/13 ]
_all_docs is an internal function - it shouldn't be exposed to the user. It's simple enough to use an HTTP client -- plus we have a node list




[PYCBC-57] Provide Error Handling Consistent with Other SDKs Created: 24/Aug/12  Updated: 18/Jun/13  Resolved: 18/Jun/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 0.11.1
Security Level: Public

Type: Improvement Priority: Major
Reporter: Karen Zeller Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Need to provides consistent error messages and error handling. Needs to be more consistent with other SDKS, and underlying memcached protocol




[PYCBC-36] Implement observe command Created: 12/Jul/12  Updated: 18/Jun/13  Resolved: 18/Jun/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Add the basic low level observe command





[PYCBC-126] Provide better handling at fork Created: 04/Jun/13  Updated: 18/Jun/13  Resolved: 18/Jun/13

Status: Closed
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Mark Nunberg [ 18/Jun/13 ]
No sane way to handle this.




[PYCBC-43] Update the getting started to match the Beer sample DB Created: 12/Jul/12  Updated: 18/Jun/13  Resolved: 18/Jun/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: docs
Affects Version/s: None
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Once the sample DB has been integrated into the server, update the getting started (both on the web page and in the documentation) to use the sample database.


 Comments   
Comment by Mark Nunberg [ 18/Jun/13 ]
Fixed in the docs.




[PYCBC-82] Error handling documentation Created: 05/Feb/13  Updated: 18/Jun/13

Status: In Progress
Project: Couchbase Python Client Library
Component/s: docs
Affects Version/s: 0.8.0
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Improvement Priority: Major
Reporter: Perry Krug Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Please create some documentation specifying possible error/failures to operations, what they "look" like in the logs/exceptions/stack traces and what our recommendation is on how to handle them.

i.e. tmp_oom, timeouts (connection/operation/java-internal/etc), "get miss" (it's technically a failure, let's make it overly obvious what it means), CAS failure, add() failure, replace() failure,

Some of this should be covered in the API reference, but this bug is specifically for a single page where this information is aggregated that a customer/user could read about how to handle errors.




[PYCBC-131] Return more informative error on empty string to get Created: 13/Jun/13  Updated: 17/Jun/13

Status: In Progress
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.11.1
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
couchbase.exceptions.CouchbaseError: <RC=0x7[Invalid arguments], Operational Error, Results=1, C Source=(src/multiresult.c,147)>

Should display the key or object.




[PYCBC-132] Lock without TTL fails with 'encoding error' Created: 13/Jun/13  Updated: 17/Jun/13

Status: In Progress
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.11.1
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
This should fail with an ArgumentError instead. It also seems the value does end up being sent to the server.




[PYCBC-135] Allow transcoder to be either an instance or a class Created: 14/Jun/13  Updated: 17/Jun/13

Status: In Progress
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: None
Fix Version/s: 1.0.0
Security Level: Public

Type: Improvement Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
There's been some confusion about folks passing a class object instead of an instance. It should be simple enough to check this during construction.




[PYCBC-139] unlock_multi does not complain about missing cas Created: 17/Jun/13  Updated: 17/Jun/13

Status: In Progress
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.11.1
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[PYCBC-134] Client will crash if _multi methods are passed lists with duplicate keys Created: 14/Jun/13  Updated: 17/Jun/13

Status: In Progress
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.10.0, 0.11.1
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
c.get_multi(["foo", "foo"])




[PYCBC-130] Segmentation fault when specifying hos:port as host params Created: 13/Jun/13  Updated: 17/Jun/13  Resolved: 17/Jun/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: 0.9.0
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Bug Priority: Major
Reporter: Pavel Paulau Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Ubuntu 13.04 64-bit, CentOS 6.3 64-bit


 Description   
(gdb) bt
#0 0x00007f5f90bcb57f in lcb_destroy () from /usr/lib/libcouchbase.so.2
#1 0x00007f5f90de8f0e in __pyx_pf_9couchbase_12libcouchbase_10Connection_4__dealloc__ (__pyx_v_self=<optimized out>) at couchbase/libcouchbase.c:4657
#2 __pyx_pw_9couchbase_12libcouchbase_10Connection_5__dealloc__ (__pyx_v_self=0x7f5f9230c978) at couchbase/libcouchbase.c:4623
#3 __pyx_tp_dealloc_9couchbase_12libcouchbase_Connection (o=0x7f5f9230c978) at couchbase/libcouchbase.c:10903
#4 0x00000000004b1a53 in ?? ()
#5 0x000000000047c19d in PyEval_EvalFrameEx ()
#6 0x00000000004e09aa in PyEval_EvalCodeEx ()
#7 0x000000000047c034 in PyEval_EvalFrameEx ()
#8 0x00000000004e09aa in PyEval_EvalCodeEx ()
#9 0x0000000000540412 in PyEval_EvalCode ()
#10 0x000000000054088b in ?? ()
#11 0x00000000004f6454 in PyRun_StringFlags ()
#12 0x000000000042a472 in PyRun_SimpleStringFlags ()
#13 0x0000000000466885 in Py_Main ()
#14 0x00007f5f912faea5 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#15 0x00000000004e1635 in _start ()

Using host="127.0.0.1:8091" instead of host="127.0.0.1", port=8091 causes fault. Not sure if it affects the most recent code base.

 Comments   
Comment by Mark Nunberg [ 13/Jun/13 ]
Actually it does, and there is a fix in progress -- see PYCBC-128




[PYCBC-128] Client crashes if invalid hostname is passed Created: 07/Jun/13  Updated: 17/Jun/13  Resolved: 17/Jun/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: 0.11.1
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Task Priority: Blocker
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
    def test_invalid_hostname(self):
        self.assertRaises(InvalidError,
                          Connection,
                          bucket='default', host='12345:qwer###')

Will crash because the lcb_t object is not cleared when lcb_create fails.

 Comments   
Comment by Mark Nunberg [ 07/Jun/13 ]
http://review.couchbase.org/#/c/26830/




[PYCBC-125] Add lock option for Connection object Created: 04/Jun/13  Updated: 17/Jun/13  Resolved: 17/Jun/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.10.0, 0.11.0, 0.11.1
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Task Priority: Critical
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Add an explicit option to the constructor to lock the object - to prevent simulatenous access from multiple threads.

 Comments   
Comment by Mark Nunberg [ 04/Jun/13 ]
While we ask users to do this manually, it turns out it's a bit of a chore to debug when something goes wrong. Having this option built-in makes it easier to figure out what's wrong :)




[PYCBC-138] _multi arith functions not setting amount properly Created: 17/Jun/13  Updated: 17/Jun/13

Status: In Progress
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.11.1
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Task Priority: Critical
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Fix in progress. This is because we don't have a nice python-level wrapper for these functions, so the delta is never set.

 Comments   
Comment by Mark Nunberg [ 17/Jun/13 ]
http://review.couchbase.org/26986




[PYCBC-136] quiet parameter not being passed from Couchbase.connect Created: 16/Jun/13  Updated: 17/Jun/13

Status: In Progress
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.11.1
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Task Priority: Critical
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Mark Nunberg [ 17/Jun/13 ]
http://review.couchbase.org/26984




[PYCBC-137] Fix up connection.py module to conform to 'pep8' Created: 17/Jun/13  Updated: 17/Jun/13

Status: In Progress
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 1.0 Beta
Fix Version/s: 1.0.0
Security Level: Public

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Mark Nunberg [ 17/Jun/13 ]
13:31 <+pavelpaulau> $ pep8 couchbase/ | wc -l
13:31 <+pavelpaulau> 207
13:31 <+pavelpaulau> something to fix as well
13:31 <+pavelpaulau> and it's getting worse
Comment by Mark Nunberg [ 17/Jun/13 ]
http://review.couchbase.org/26983




[PYCBC-113] TOC for Python 1.0 Created: 15/May/13  Updated: 14/Jun/13  Resolved: 12/Jun/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: docs
Affects Version/s: None
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Bug Priority: Major
Reporter: Matt Ingenthron Assignee: Matt Ingenthron
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relates to
relates to PYCBC-129 Develop Content: deliver create the c... Resolved

 Description   
For the upcoming 1.0 Python client, we'll need to come up with a TOC. Likely something like MB-7714.

 Comments   
Comment by Karen Zeller [ 15/May/13 ]
Not sure who is the subject matter expert on Python but we need input on the topics. Here is the TOC for Java-next-gen:


1. Getting Started
1.1 Preparations
1.2 Hello Couchbase
1.3 Next Steps

2. Tutorial
2.1 Preparations
2.2 Quickstart
2.3 Connection Management
2.4 The Welcome Page
2.5 Managing Beers
2.6 Wrapping Up

3. Using the APIs
3.1 Connection Management
3.2 Retreiving Data
3.3 Mutating Data
3.4 Working with Views
3.5 Applying Persistence Constraints
3.6 Error Handling
3.7 JSON & Object Serialization
3.8 Design Document Management

4. Advanced Usage
4.1 Bulk Loading
4.2 Working with Documents
4.3 Advanced Topics
4.4 Logging & Debugging

5. API Reference
5.1 Method Summary
5.2 Connecting & Disconnecting
5.3 Retreiving Data
5.4 Mutating Data
5.5 Management Operations
5.6 Other Useful Operations

A. Release Notes
B. Contributing
B.1 General Information
B.2 Source Code Styleguide
Comment by Matt Ingenthron [ 15/May/13 ]
Mark ist he SME.

Mark: Using this as a base (unless you have feedback to the contrary), can you edit up a TOC for the Python 1.0 release in this ticket?
Comment by Mark Nunberg [ 15/May/13 ]
I'd probably want to nix (for now):

2.3 Connection Management (it's a simple object, there's no global pooling yet)
3.4 Views (we don't have a stable view API yet)
3.8 ""
3.5 ""
4.4 We don't have any significant logging infrastructure in the SDK

We might want to split 'Preparations' into 'Installing the SDK' and 'Installing the cluster'

Thus:
--------------------------------------------------------------------------------------------------------------------------
1. Getting Started
1.1 Setting up the cluster
1.2 Installing the SDK
1.3 Hello Couchbase
1.4 Next Steps

2. Tutorial
2.1 Preparations
2.2 Quickstart
2.3 Connection Management
2.4 The Welcome Page
2.5 Managing Beers
2.6 Wrapping Up

3. Using the APIs
3.1 Connecting
3.2 Retreiving Data
3.3 Mutating Data
3.4 Working with Views [ NYI (Not Yet implemented) ]
3.5 Applying Persistence Constraints [ NYI ]
3.6 Error Handling
3.7 JSON & Object Serialization
3.8 Design Document Management [ NYI ]

4. Advanced Usage
4.1 Bulk Loading
4.2 Notes for using with (and without) threads (maybe this belogns in advanced)?
4.3 Working with Documents
4.4 Advanced Topics
4.5 Logging & Debugging

5. API Reference
5.1 Method Summary
5.2 Initialization
5.3 Retreiving Data
5.4 Mutating Data
5.5 Management Operations
5.6 Other Useful Operations

A. Release Notes
B. Contributing
B.1 General Information
B.2 Source Code Styleguide
Comment by Mark Nunberg [ 15/May/13 ]
Assigning back to you for review
Comment by Matt Ingenthron [ 29/May/13 ]
In response to your comments...

> 2.3 Connection Management (it's a simple object, there's no global pooling yet)

True, but there is a discussion here about to create and manage connection objects. I think that's critical to mention, if only a few paragraphs.

> 3.4 Views (we don't have a stable view API yet)

True, but we will have by 1.0.

> 3.8 ""

Yeah, if this isn't in 1.0, that's fine to leave it out.

> 3.5 ""

This will be needed for 1.0, so it should be in.

> 4.4 We don't have any significant logging infrastructure in the SDK

Okay to leave it out for now then, sure. Should there be a mention about logging in this section though?
Comment by Mark Nunberg [ 29/May/13 ]
Most of the relevant logging would be inside libcouchbase -- which doesn't really support logging yet. I guess with the packet queue fixes this should be doable, though; but that's fairly ahead.
Comment by Karen Zeller [ 30/May/13 ]
TOC Review Feedback:

"3.5 Applying Persistence Constraints [ NYI ] “

I suppose you will be talking about the “PersistTo and ReplicateTo” parameters.

What is the correct “word” for this, I see persistence constraints, persistence requirement, or even durability:
http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-durability.html
http://www.couchbase.com/docs/couchbase-sdk-net-1.2/couchbase-sdk-net-store-set.html

Just to be sure with use the same all the time

[CHANGED TO "Durability Requirements"]
Comment by Matt Ingenthron [ 30/May/13 ]
To Mark's comments:
That's fair, but look at it from a user perspective. Maybe we just need to state there is no logging in the python client and logging of most cases with Python is typically handled by the platform it's running on, flask, etc. Then the developer should just know to/how to log return values that don't make sense.

It's worth a discussion just so a user wondering about logging knows what they need to do.
Comment by Matt Ingenthron [ 12/Jun/13 ]
Reviewed with Mark, and we've settled on this. We'll open the ticket on delivering the pieces for the next step.

----
1. Getting Started
1.1 Setting up the cluster
1.2 Installing the SDK
1.3 Hello Couchbase
1.4 Next Steps

2. Tutorial
2.1 Preparations
2.2 Quickstart
2.3 Connection Management
2.4 The Welcome Page
2.5 Managing Beers
2.6 Wrapping Up

3. Using the APIs
3.1 Connecting
3.2 Retreiving Data
3.3 Mutating Data
3.4 Working with Views [ in review ]
3.5 Error Handling
3.6 JSON & Object Serialization
3.7 Design Document Management

4. Advanced Usage
4.1 Bulk Loading
4.2 Notes for using with (and without) threads (maybe this belogns in advanced)?
4.3 Working with Documents
4.4 Advanced Topics
4.5 Logging & Debugging

5. API Reference (this will not be in the docbook docs, but we'll check that all of these are covered in the python generated docs)
5.1 Method Summary
5.2 Initialization
5.3 Retreiving Data
5.4 Mutating Data
5.5 Management Operations
5.6 Other Useful Operations

A. Release Notes
B. Contributing
B.1 General Information
B.2 Source Code Styleguide




[PYCBC-133] Provide class-level methods by which to not print out long values Created: 13/Jun/13  Updated: 13/Jun/13

Status: Open
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.11.1
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Mark Nunberg [ 13/Jun/13 ]
If a value is several long KBs and it has an exception, the screen will not be happy :)




[PYCBC-12] client should provide some way of asynchronously running multiple ops in parallel Created: 22/Aug/11  Updated: 12/Jun/13  Resolved: 12/Jun/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: None
Fix Version/s: 0.11.1
Security Level: Public

Type: Improvement Priority: Minor
Reporter: Matt Ingenthron Assignee: Mark Nunberg
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Currently, if one has to get multiple items to do something, they must all be done in serial.


get A
get B
get C

print "A + B + C is " A + B + C

it'd be better if A, B and C could all be fetched without blocking, and only when going to access them, would the request be blocked.

 Comments   
Comment by Matt Ingenthron [ 12/Jun/13 ]
This is supported with current multiget.




[PYCBC-102] New Python 1.0 Guide Created: 08/May/13  Updated: 12/Jun/13

Status: Open
Project: Couchbase Python Client Library
Component/s: docs
Affects Version/s: None
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Task Priority: Major
Reporter: Karen Zeller Assignee: Matt Ingenthron
Resolution: Unresolved Votes: 0
Labels: info-request
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
MarkN the component lead.

Matt: will have schedule next week.




[PYCBC-9] an interface to paginate across large view results is needed Created: 22/Aug/11  Updated: 12/Jun/13

Status: In Progress
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: None
Fix Version/s: 1.0 Beta
Security Level: Public

Type: New Feature Priority: Major
Reporter: Matt Ingenthron Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
There can be some situations where querying a view returns results that way too large for the client to handle. In these cases, either the client library API or implementation of some Python specific API can allow for one to iterate over Views which have very large results.

The Ruby client does this with streaming. The Java client does this with traditional pagination:
http://guide.couchdb.org/draft/recipes.html#pagination




Generated at Wed Jun 19 06:02:50 CDT 2013 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.