Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Mar 17, 2015
  1. @mnunberg

    Allow integration with Python's `logging` module

    mnunberg authored mnunberg committed
    This commit adds a 'couchbase.enable_logging()' method to integrate
    libcouchbase's logging with the logging from Python's standard library.
    
    Change-Id: I4532d1af1c96bd19d92526b13c93c738aee30ebf
    Reviewed-on: http://review.couchbase.org/48355
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
Commits on Mar 3, 2015
  1. @mnunberg

    Add get_row_doc function to extract doc from row

    mnunberg authored mnunberg committed
    This allows an opaque interface to access the embedded doc (fetched via
    lcb).
    
    Change-Id: I7b9169a525c4a428f7f1e4bd5f73e0e5277d6e84
    Reviewed-on: http://review.couchbase.org/47625
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
Commits on Mar 2, 2015
  1. @mnunberg

    N1QL Async API

    mnunberg authored mnunberg committed
    Change-Id: I88792706088e80d7614ac11abfd22fbccdd8ddf7
    Reviewed-on: http://review.couchbase.org/47403
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
Commits on Feb 26, 2015
  1. @mnunberg

    Make async view classes function as mixins

    mnunberg authored mnunberg committed
    This will allow better code reuse with N1QL
    
    Change-Id: I05cf01f96a7c8e3981673310f670e97cfcca1675
    Reviewed-on: http://review.couchbase.org/47402
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  2. @mnunberg

    More python3 fixes

    mnunberg authored mnunberg committed
    Python3's dict.keys() method returns a magic iterator which doesn't
    support indexed lookups. This commit provides an abstraction for this.
    
    Change-Id: I8e6e0b73adea1c80bec7cf26ca313b64052ac99a
    Reviewed-on: http://review.couchbase.org/47401
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  3. @mnunberg

    Add documentation for _cntlstr

    mnunberg authored mnunberg committed
    Change-Id: I53ce0032858500d1cb8821de18ac68058a2054b6
    Reviewed-on: http://review.couchbase.org/47346
    Reviewed-by: Dave Rigby <daver@couchbase.com>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
Commits on Feb 23, 2015
  1. @mnunberg

    n1ql: remove stray 'print'

    mnunberg authored mnunberg committed
    Change-Id: I3468f1dd8b32f1d9225f07572c35bdbbbb55aa92
    Reviewed-on: http://review.couchbase.org/47201
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  2. @mnunberg

    PYCBC-278: Spatial view support

    mnunberg authored mnunberg committed
    This adds support up the stack for geo spatial view queries.
    Specifically, this commit adds:
    
    * A new geo-aware `SpatialRow` class (and its associated `RowProcessor`)
    * A new SpatialQuery class (which allows the `start_range` and
      `end_range` parameters)
    * View management support for spatial views (PYBC-173)
    
    Change-Id: I51744d5798552430d23d002d1f4f182dbee9d4fe
    Reviewed-on: http://review.couchbase.org/46347
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
Commits on Feb 20, 2015
  1. @mnunberg

    Initial N1QL commit

    mnunberg authored mnunberg committed
    This provides the base implementation from libcouchbase. Don't merge
    this yet as this depends on yet-unmerged features of libcouchbase
    itself.
    
    Change-Id: I33fc05900c62ea8e19fd6b27222b27d32e757000
    Reviewed-on: http://review.couchbase.org/46105
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
    Reviewed-by: Mark Nunberg <mark.nunberg@couchbase.com>
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
Commits on Feb 11, 2015
  1. @mnunberg

    Simplify iops creation

    mnunberg authored mnunberg committed
    The new way of creating iops has been greatly simplified in libcouchbase
    2.4.5; since we have a hard dependency on >= 2.4.6, we no longer need
    compat code.
    
    Change-Id: I184a995b6cadf3ca7f7fe386679306b1b1cb5586
    Reviewed-on: http://review.couchbase.org/46350
    Reviewed-by: Dave Rigby <daver@couchbase.com>
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
  2. @mnunberg

    Declare hard dependency on libcouchbase >= 2.4.6

    mnunberg authored mnunberg committed
    Change-Id: Ia149f4f46231c68f0b7d15b8d3f62b69314f2584
    Reviewed-on: http://review.couchbase.org/46349
    Reviewed-by: Dave Rigby <daver@couchbase.com>
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
    Reviewed-by: Mark Nunberg <mark.nunberg@couchbase.com>
Commits on Feb 10, 2015
  1. @mnunberg

    gcouchbase/tests: fix typo

    mnunberg authored mnunberg committed
    Change-Id: Ie49861eb01610ff558218e99fbe776fa60324974
    Reviewed-on: http://review.couchbase.org/46348
    Reviewed-by: Dave Rigby <daver@couchbase.com>
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
  2. @mnunberg

    Use libcouchbase-based views implementation

    mnunberg authored mnunberg committed
    This uses the new view api from <libcouchbase/views.h>, which is mostly
    built atop the implementation which was previously in this library (i.e.
    jsonsl, etc.)
    
    The main consequence is that `include_docs` is now done inside
    libcouchbase rather than inside python. This allows for far greater
    performance and flexibility (twisted can now take advantage of
    include_docs; for example).
    
    Change-Id: I2fce881272cbd95f471944d39913c9f961eadf28
    Reviewed-on: http://review.couchbase.org/46346
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
    Reviewed-by: Dave Rigby <daver@couchbase.com>
  3. @mnunberg

    IOPS: Use Py_CLEAR rather than Py_XDECREF

    mnunberg authored mnunberg committed
    Reduce chance of accessing freed memory
    
    Change-Id: Iecbc67345a6831a0f6bd90bb6a44a80f1230091a
    Reviewed-on: http://review.couchbase.org/46345
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
    Reviewed-by: Dave Rigby <daver@couchbase.com>
  4. @mnunberg

    Make views code (even) more modular

    mnunberg authored mnunberg committed
    We need to support N1QL in the future (which has a similar interface),
    and will soon switch over to libcouchbase's built-in view functionality
    (so less code in the C extension. yay!)
    
    Change-Id: I684f0262f741557ff53da78e21fbaea57fc2a355
    Reviewed-on: http://review.couchbase.org/46344
    Tested-by: Mark Nunberg <mark.nunberg@couchbase.com>
    Reviewed-by: Dave Rigby <daver@couchbase.com>
Commits on Jan 15, 2015
  1. @mnunberg

    Asyncio fixes

    mnunberg authored
    - iops: There's actually a third event, PYCBC_EVACTION_CLEANUP, which
      means to completely erase the timer. Don't automatically reschedule
      the timer if the event is not PYCBC_EVACTION_UNWATCH
    - bucket: Fix typo in exception throwing clause
    - abench: Enhanced trollius compat and remove some dead options.
      Unfortunately it's kinda ugly right now, but there is no good way I
      could find of emulating Py3.4's yield from in Python 2
    - Require 'experimental' module to be used
    
    Change-Id: I247a394536e1b1b8b35df082a1d4b85d108c14c4
    Reviewed-on: http://review.couchbase.org/45400
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  2. @mnunberg

    Modify version generation to conform with PEP-440

    mnunberg authored
    Change-Id: Ie4f7cea13f6d96605ab1ef79dc349bae32a3d04f
    Reviewed-on: http://review.couchbase.org/45389
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  3. @mnunberg

    Fix up some README stuff

    mnunberg authored
    - Windows 'snapshots' are dead
    - Show how to install from git
    - Indicate the need for `PYTHONPATH` if not installing
    
    Change-Id: I5831299f57271d18225d513dfd31f9707c8e714e
    Reviewed-on: http://review.couchbase.org/45388
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
Commits on Jan 14, 2015
  1. @mnunberg

    Remove old PyPy compat support

    mnunberg authored
    Rather than building a barely functioning module on PyPy and confuse
    users, simply don't compile the C extension and require use of
    couchbase_ffi. This eliminates some dead code and makes the process a
    bit more straight-forward
    
    Change-Id: I02033af19f63918a65641fb6711a3af0ab20084e
    Reviewed-on: http://review.couchbase.org/45334
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  2. @mnunberg

    Add bucket flush operation

    mnunberg authored
    Change-Id: I458c0693a17c5bead5922ef1265eab6889201ae3
    Reviewed-on: http://review.couchbase.org/45333
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  3. @mnunberg

    restore MAX_URI_LENGTH in couchbase.views.iterator

    mnunberg authored
    While not used from that file directly, other modules import from there
    
    Change-Id: I0b62166588cc3b98d41c931b2828a2b7453676b5
    Reviewed-on: http://review.couchbase.org/45332
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  4. @mnunberg

    Minor fixes to twisted tests so that they'll play nicely with ffi

    mnunberg authored
    Unfortunately Python sucks at the proper destruction and memory
    management of its objects. Yes, you could write explicit destroy
    methods, but that would be a bit counter intuitive and non-idiomatic in
    python.
    
    Anyway, this makes the tests a bit more safe when it comes to checking
    that the reactor is clean. The test will check if the '_async_shutdown'
    method exists (it does in my current cffi impl) and call it. The
    '_async_shutdown' is basically a magic close.
    
    Change-Id: Ia3edfba7c12fc051100a6cc2f45b49af4893f55b
    Reviewed-on: http://review.couchbase.org/45331
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  5. @mnunberg

    don't skip twisted tests on pypy

    mnunberg authored
    They mostly work fine under cffi mode
    
    Change-Id: I21dba9b9f606f6baeb5f341325f7111f938c057e
    Reviewed-on: http://review.couchbase.org/45330
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  6. @mnunberg

    txbench: use multi ops with non-deferred mode (if requested)

    mnunberg authored
    Change-Id: Id5c72ac3f77a7df917e7c1cf167fd05eccb010e0
    Reviewed-on: http://review.couchbase.org/45329
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  7. @mnunberg

    tests: Use new mock

    mnunberg authored
    This allows us to use the new mock with views tests, so that we can
    always run the full suite of tests even if a real server is not
    available.
    
    Change-Id: Ifb60d1402c6483784b909bf03c5678db0d5a5665
    Reviewed-on: http://review.couchbase.org/45199
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  8. @mnunberg

    Upgrade to new mock

    mnunberg authored
    Change-Id: Ia0807e75e7d09b0828e7f4d32dc48f1c2376fb84
    Reviewed-on: http://review.couchbase.org/45328
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  9. @mnunberg

    txcouchbase: TxTimer should call super's __init__

    mnunberg authored
    Change-Id: I5c274a22cec6f16ab44b8dd9df08f059cd5cfc7a
    Reviewed-on: http://review.couchbase.org/45271
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  10. @mnunberg

    gcouchbase: re-enable include_docs test

    mnunberg authored
    With the view refactor, include_docs (client-side) now works again
    
    Change-Id: I1a7450f12cf0d6d31b4978ad6d12e78bad9490df
    Reviewed-on: http://review.couchbase.org/45270
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  11. @mnunberg

    gevent _implDtorHook

    mnunberg authored
    Change-Id: Ia05d94d4765d980fcfd354638ad2bd79499596ca
    Reviewed-on: http://review.couchbase.org/45202
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  12. @mnunberg

    test: Call custom destructor hook if defined

    mnunberg authored
    Change-Id: Iaa076b3e2f861b162a271f4e86aca4c9440ba9f9
    Reviewed-on: http://review.couchbase.org/45201
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  13. @mnunberg

    admin_t: Don't check for refcount if should_check_refcount is false

    mnunberg authored
    Previously we checked explicitly if we were pypy, but this isn't
    necessarily the case.
    
    Change-Id: If0e8e7f603a3c18d6726ae8d90242e21001e86ca
    Reviewed-on: http://review.couchbase.org/45200
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
Commits on Jan 13, 2015
  1. @mnunberg

    Refactor views into its own subsystem

    mnunberg authored
    This isolates views from the fact that it's an HTTP request (for the
    most part). In the future, the views system will use the upcoming C API
    provided by a version of libcouchbase.
    
    Change-Id: Iffe70160bdc3aa80e0d9429c99034334ae829088
    Reviewed-on: http://review.couchbase.org/45090
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  2. @mnunberg

    Add exception helper functions to their appropriate modules

    mnunberg authored
    We should be able to invoke this functionality from other subsystems as
    well, so don't keep them locked up in callbacks.c
    
    Change-Id: Ia456f6c8f63f50fed667ac49d05646871aa7db05
    Reviewed-on: http://review.couchbase.org/45030
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  3. @mnunberg

    Add function to dump constants to stdout

    mnunberg authored
    This may be helpful if we want to get the raw definitions in python
    without relying on C magic
    
    Change-Id: Ic6a9f822a1e9f2d864f7e3e0c7d0819e01511d28
    Reviewed-on: http://review.couchbase.org/44967
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
  4. @mnunberg

    iops: Clear flags when item has been unwatched.

    mnunberg authored
    This allows watchers to better check what has been enabled and not use
    an additional property.
    
    Change-Id: I7ca2cc5f55ec04ec3c0a4ea97a8d411df267e91e
    Reviewed-on: http://review.couchbase.org/44965
    Tested-by: Mark Nunberg <mnunberg@haskalah.org>
    Reviewed-by: Volker Mische <volker.mische@gmail.com>
Something went wrong with that request. Please try again.