incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "first-leon@yandex.ru" <first-l...@yandex.ru>
Subject Re: Database information from validate_doc_update
Date Sat, 09 Nov 2013 09:02:40 GMT
It is very good!
But, i create validation function and see error:

Error: EXIT

{{badmatch,[]},
  [{couch_query_servers,new_process,3,
[{file,"couch_query_servers.erl"},{line,472}]},
   {couch_query_servers,lang_proc,3,
[{file,"couch_query_servers.erl"},{line,462}]},
   {couch_query_servers,handle_call,3,
[{file,"couch_query_servers.erl"},{line,322}]},
   {gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,585}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}

I am not understand Erlang code, and not see error details.
You have it working?

In /etc/couchdb/local.ini i added
[native_query_servers]
erlang = {couch_native_process, start_link, []}

> Currently, this is possible only via native Erlang query server:
>
> fun(NewDoc, OldDoc, {UserCtx}, SecObj) ->
>    DbName = couch_util:get_value(<<"db">>, UserCtx),
>    {ok, Db} = couch_db:open_int(DbName, [{user_ctx, UserCtx}]),
>    {ok, Info} = couch_db:get_db_info(Db),
>    DiskSize = couch_util:get_value(disk_size, Info),
>    case DiskSize < 100000 of  %% ~100KB
>      true ->
>        ok;
>      false ->
>        throw({[{<<"forbidden">>, <<"quota limit reached">>}]})
>    end,
>    1
> end.
>
>
>
> --
> ,,,^..^,,,
>
>
> On Sat, Nov 9, 2013 at 7:56 AM, first-leon@yandex.ru
> <first-leon@yandex.ru> wrote:
>> Hello.
>>
>> Can I get information about the database as a function of
>> validate_doc_update? For example, to find out the size of the database or
>> the number of documents.
>>
>> Example:
>> function(newDoc, oldDoc, userCtx) {
>>   if ( thisDb.disk_size > 1000 ) throw({forbidden : 'you have exceeded the
>> limit'});
>> }
>>
>> It is possible?
>>
>> Thanks.


Mime
View raw message