couchdb-couch-epi.git
7 years agoAdd couch_epi:is_configured 2/head
ILYA Khlopotov [Fri, 26 Jun 2015 18:47:38 +0000 (11:47 -0700)] 
Add couch_epi:is_configured

7 years agoRestore R14 compatibility 5/head
Robert Newson [Wed, 22 Jul 2015 07:36:32 +0000 (08:36 +0100)] 
Restore R14 compatibility

CouchDB 2.0 will be compatible with R14. Support for R14 to be dropped
after.

closes COUCHDB-2755

7 years agoThe race condition between providers is fixed 4/head
ILYA Khlopotov [Tue, 14 Jul 2015 15:27:37 +0000 (08:27 -0700)] 
The race condition between providers is fixed

In previous design there is a race condition between the time we read the
current definitions in the generated module and the time we compile new
version of it. This race led to overwriting of data of already
configured providers.

This commit fixes the issue by introducing couch_epi_module_keeper
process. This process is named by generated module name and it is
essentially a requests serializer.

7 years agoFix function_clause in childspec 3/head
Robert Newson [Mon, 13 Jul 2015 12:21:07 +0000 (13:21 +0100)] 
Fix function_clause in childspec

Make couch_epi_functions:childspec's result match expectations of
couch_epi_functions:start_link function.

7 years agoget version from git like other repos
Robert Newson [Thu, 25 Jun 2015 11:53:35 +0000 (12:53 +0100)] 
get version from git like other repos

7 years agoRewrite test suite to test new functionality 1/head
ILYA Khlopotov [Wed, 24 Jun 2015 21:14:37 +0000 (14:14 -0700)] 
Rewrite test suite to test new functionality

7 years agoUse code_change to trigger generation of a module
ILYA Khlopotov [Wed, 24 Jun 2015 21:09:16 +0000 (14:09 -0700)] 
Use code_change to trigger generation of a module

Previously we did periodic check of hashes for every provider module.
We switch to code_change use. Which would be called if specify modules
argument in child spec of the supervisor from where we register our
provider module.

We rely on this bit "Modules should be a list with one element [Module],
where Module is the name of the callback module, if the child process
is a supervisor, gen_server or gen_fsm. If the child process is a
gen_event, Modules should be dynamic." from
http://www.erlang.org/doc/design_principles/sup_princ.html

7 years agoUpdate documentation
ILYA Khlopotov [Wed, 24 Jun 2015 21:07:59 +0000 (14:07 -0700)] 
Update documentation

7 years agoAdd couch_epi_data
ILYA Khlopotov [Wed, 24 Jun 2015 20:52:59 +0000 (13:52 -0700)] 
Add couch_epi_data

7 years agoInitial version
ILYA Khlopotov [Wed, 10 Jun 2015 23:02:59 +0000 (16:02 -0700)] 
Initial version

Add `ignore_providers` option

Rename `hash(FilePath)` into `hashof_file(FilePath)`

Use monitor to unsubscribe when subscriber die

Rename couch_epi:all into couch_epi:dump

Remove modules from dispatch on termination

Add all/any convinence funs to couch_epi

Document `ignore_providers` option

Add childspec helper to _data_source and _functions

Add license to test suite

7 years agoAdd .gitignore
Robert Newson [Tue, 23 Jun 2015 10:24:40 +0000 (11:24 +0100)] 
Add .gitignore