summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* hacksuser-partitioned-dbs-wipRobert Newson2018-07-301-2/+2
|
* fixesRobert Newson2018-07-261-1/+2
|
* cleanupRobert Newson2018-07-231-1/+0
|
* hackish idempotencyRobert Newson2018-07-232-1/+6
|
* support _find (WIP)Robert Newson2018-07-236-50/+137
|
* system dbs are not partitionedRobert Newson2018-07-191-0/+3
|
* remove unused variableRobert Newson2018-07-191-1/+0
|
* support reduce results in partitioned dbsRobert Newson2018-07-181-0/+2
|
* prohibit custom reduces for partitioned viewsRobert Newson2018-07-181-1/+9
|
* A view defaults to the same partitioned-ness of the dbRobert Newson2018-07-183-3/+23
|
* full removal of default_propsRobert Newson2018-07-181-2/+1
|
* support descending=false for partitioned view queriesRobert Newson2018-07-171-3/+12
|
* Improve accuracy of error messageRobert Newson2018-07-171-2/+2
|
* Prohibit include_docs=true for partitioned viewsRobert Newson2018-07-171-3/+4
|
* tidierRobert Newson2018-07-172-6/+6
|
* move partition flag into view optionsRobert Newson2018-07-174-10/+12
|
* fix bug that forced all dbs to be partitionedRobert Newson2018-07-161-1/+1
|
* expose partitioned flag in GET /dbname infoRobert Newson2018-07-164-5/+7
|
* tidierRobert Newson2018-07-164-8/+8
|
* add persistent 'partitioned' flagRobert Newson2018-07-134-5/+55
|
* Revert "Add props field to couch_db_engine"Robert Newson2018-07-134-117/+2
| | | | This reverts commit 235f0b1ffeb993223b49c30fcf45fbe43a43928a.
* Revert "Add default props at db creation"Robert Newson2018-07-131-14/+5
| | | | This reverts commit 79834c20e8f07d9cf418de9fa2b6d949e6790d67.
* map documents to shards by their partitionRobert Newson2018-07-101-9/+14
|
* Only consult the shards holding the partition in questionRobert Newson2018-07-103-5/+15
|
* cleanupRobert Newson2018-07-101-7/+0
|
* unpartition key in view responsesRobert Newson2018-07-104-5/+16
|
* ?partition=fooRobert Newson2018-07-103-19/+19
|
* WIP plumbingRobert Newson2018-07-106-24/+53
|
* WIP support user-partitioned viewsRobert Newson2018-07-104-9/+78
|
* add ?partitioned=true parameter when creating a databaseRobert Newson2018-07-102-2/+15
|
* Extract side-effect free part of validate_argsRobert Newson2018-07-108-15/+26
| | | | | | validate_args/1 also modified the arguments. By separating the validation from the update we are able to add updates that are not idempotent.
* introduce mem3_util:docid_hash/1 and docid_hash/2Robert Newson2018-07-103-3/+18
| | | | | | | mem3_util:docid_hash/1 is identical to mem3_util:hash/1 mem3_util:docid_hash/2 allows the user to control the result with specially-formatted doc ids.
* Add default props at db creationuser-partitioned-dbsGarren Smith2018-07-041-5/+14
|
* Add props field to couch_db_engineGarren Smith2018-07-044-2/+117
| | | | Add the ability to store database properties to the couchdb engine.
* Don't set context for compaction files during db delete (#1419)Eric Avdey2018-06-292-3/+3
| | | | | | | | | When we delete files with context option set to `delete`, `couch_file` respects configuration flag "enable_database_recovery" and just renames the files in case it's set to true. This change removes context for compaction files deleted during database deletion to make sure we are actually erasing them and not just renaming and leaving behind.
* Merge pull request #1401 from Spotme/spotme/fix/couch-native-processiilyak2018-06-292-1/+49
|\ | | | | Fix for a function_clause crash in the couch_native_process for Erlang views
| * tests(couch_changes): add tests for changes feed filtering using an Erlang viewAlexanderKaraberov2018-06-291-1/+37
| |
| * fix(_view changes feed): fix function_clause crash in couch_native_process.AlexanderKaraberov2018-06-291-0/+12
|/ | | | Crash was caused by a missing implementation of ddoc function for <<"views">> FunPath, implementation is based on FilterFun but matches return values of the erlang:put() which is called in the native Emit function and also expects ok and false when docs were not emitted.
* Add regression runs on new dedicated FreeBSD VMJoan Touzet2018-06-271-1/+26
| | | | Thanks to Just Some Enterprises for donating the compute power!
* Update build dependency docs for FreeBSDJoan Touzet2018-06-271-2/+4
|
* Update snappy dep to CouchDB-1.0.1 with 21.0 supportNick Vatamaniuc2018-06-211-1/+1
| | | | Issue #1396
* Add constant index fields to sort based on the selector (#1376)garren smith2018-06-207-47/+392
| | | | | | | | This moves the sort check into the is_usable function for all indexes. For map/reduce indexes it can add any constant fields e.g {a: {"$eq": 4} to the prefix of the sort because it won't affect the actual sort but will increase the chance that an index is selected. This is a user experience fix to help a user if they don't add all the columns for an index to the sort fields.
* Prepare to fabric attachment receiver from a fun closure to a tupleNick Vatamaniuc2018-06-192-0/+170
| | | | | | | | | | | Passing closures around is fragile and prevents smooth upgrading. Instead pass a tuple with a data from the receiver closure explicitly and convert to back to a local fun locally on each node. This is a preparatory commit before the switch. To ensure attachment uploading requests are successful, would need to first install this change on all the nodes. Then in a separate upgrade step, switch fabric.erl to call fabric_doc_atts:receiver instead fabric_doc_attatchments:recevier.
* refactor process_request to not drop req (#1375)Tony Sun2018-06-191-5/+46
| | | | Previously, when we fail authorization but pass authentication, we use the old HttpReq which drops user_ctx. This change leaves user_ctx.
* Call `set_mqd_off_heap` for critical processesPaul J. Davis2018-06-195-0/+6
| | | | | | This uses the new `couch_util:set_mqd_off_heap/0` function to set message queues to off_heap for some of our critical processes that receive a significant amount of load in terms of message volume.
* Add set_mqd_off_heap utility functionPaul J. Davis2018-06-191-0/+10
| | | | | | | | | | | | In Erlang VMs starting with version 19.0 have a new process_flag to store messages off the process heap. This is extremely useful for processes that can have huge numbers of messages in their mailbox. For CouchDB this is most usually observed when couch_server backs up with a large message queue which wedges the entire node. This utility function will set a process's message_queue_data flag to off_heap in a way that doesn't break builds of CouchDB on older Erlang VMs while automatically enabling the flag on VMs that do support it.
* Fix couch_key_tree_tests.erlPaul J. Davis2018-06-161-5/+19
| | | | | | | | | | The `should_merge_tree_to_itself` and `should_merge_tree_of_odd_length` tests were both invalid as merging does not support merging of anything other than a linear path. This failure was covered up by the fact that the stem operation will detect and cover up any errors from a failed merge. Co-Authored-By: Nick Vatamaniuc <vatamane@apache.org>
* Optimize couch_key_tree:stem/2Paul J. Davis2018-06-163-22/+95
| | | | | | | | | | | | | | This is two related optimizations for stemming revisions. The first optimization re-writes the stemming algorithm to drop it from an O(N^2) to O(N) operation by using a depth first search through the tree and tracking which revisions are within `revs_limit` revs from a leaf dropping any revision that exceeds that limit. The second optimization is just that we avoid calling stemming more often than necessary by switching away from using `merge/3` to `merge/2` and then calling `stem/2` only when necessary. Co-Authored-By: Nick Vatamaniuc <vatamane@apache.org>
* Fix active size calculations for viewsPaul J. Davis2018-06-153-26/+90
| | | | | | | | | | | | | | | | | | | | It was brought to my attention that the active size looked a bit funny occasionally as it could be larger than the file size. Given that active size is defined to be the number of bytes used in a view file it must be strictly greater than or equal to zero as well as less than or equal to file size. Thus the great hunt had begun! While I'd love more than anything to regail you, Dear Reader, with the tales, the joys, the highs, and yes, even the lows of this search, it turns out that I cannot. I must not. For there were none! Turns out this was a trivial bug where we were re-using the ExternalSize calculation instead of applying `couch_btree:size/1` to all of the btrees in the `#mrview` records. Simple bug comes with a correspondingly simple fix. I also noticed that the info tests were broken and not being run so I spent a few minutes cleaning those up to make the various assumptions.
* Merge pull request #1387 from cloudant/make-bin_opt_info-optionalEric Avdey2018-06-152-5/+13
|\ | | | | Add compile's command line options, introduce `ERL_OPTS` and make `bin_opt_info` optional.