You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ja...@apache.org on 2019/07/19 12:18:47 UTC

[couchdb] 01/02: wip

This is an automated email from the ASF dual-hosted git repository.

jan pushed a commit to branch access
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit f1e765c6d236e653df6e4283367daa9128da51bf
Author: Jan Lehnardt <ja...@apache.org>
AuthorDate: Tue May 7 12:01:06 2019 +0200

    wip
---
 src/couch/src/couch_doc.erl | 12 +++---
 t.sh                        | 90 ++++++++++++++++++++++-----------------------
 2 files changed, 52 insertions(+), 50 deletions(-)

diff --git a/src/couch/src/couch_doc.erl b/src/couch/src/couch_doc.erl
index 802cc71..500a5c7 100644
--- a/src/couch/src/couch_doc.erl
+++ b/src/couch/src/couch_doc.erl
@@ -127,13 +127,15 @@ to_json_obj(Doc, Options) ->
 
 doc_to_json_obj(#doc{id=Id,deleted=Del,body=Body,revs={Start, RevIds},
             meta=Meta,access=Access}=Doc,Options)->
-    {[{<<"_id">>, Id}]
+    R={[{<<"_id">>, Id}]
         ++ to_json_rev(Start, RevIds)
         ++ to_json_body(Del, Body, Access)
         ++ to_json_revisions(Options, Start, RevIds)
         ++ to_json_meta(Meta)
         ++ to_json_attachments(Doc#doc.atts, Options)
-    }.
+    },
+    couch_log:info("~n~n loading this from disk: Doc: ~p ~n~n", [R]),
+    R.
 
 from_json_obj_validate(EJson) ->
     from_json_obj_validate(EJson, undefined).
@@ -141,6 +143,7 @@ from_json_obj_validate(EJson) ->
 from_json_obj_validate(EJson, DbName) ->
     MaxSize = config:get_integer("couchdb", "max_document_size", 4294967296),
     Doc = from_json_obj(EJson, DbName),
+    couch_log:info("~n~n writing this to disk: Doc: ~p ~n~n", [Doc]),
     case couch_ejson_size:encoded_size(Doc#doc.body) =< MaxSize of
         true ->
              validate_attachment_sizes(Doc#doc.atts),
@@ -260,10 +263,9 @@ transfer_fields([{<<"_id">>, Id} | Rest], Doc, DbName) ->
     validate_docid(Id, DbName),
     transfer_fields(Rest, Doc#doc{id=Id}, DbName);
 
-transfer_fields([{<<"_access">>, Access} = Field | Rest],
-    #doc{body=Fields} = Doc, DbName) ->
+transfer_fields([{<<"_access">>, Access} = Field | Rest], Doc, DbName) ->
     % TODO: validate access as array strings, and optional arrays of strings
-    transfer_fields(Rest, Doc#doc{body=[Field|Fields],access=Access}, DbName);
+    transfer_fields(Rest, Doc#doc{body=Rest,access=Access}, DbName);
 
 transfer_fields([{<<"_rev">>, Rev} | Rest], #doc{revs={0, []}}=Doc, DbName) ->
     {Pos, RevId} = parse_rev(Rev),
diff --git a/t.sh b/t.sh
index a9cd5a5..7b9b5e2 100755
--- a/t.sh
+++ b/t.sh
@@ -10,50 +10,50 @@ curl -sX PUT $DB/_users/org.couchdb.user:y -d @user2.json > /dev/null
 curl -sX DELETE $DB/db
 curl -sX PUT $DB/db?q=1'&access=true'
 
-curl -sX PUT $DB/db/a -d '{"a":1,"_access":["x"]}'
+# curl -sX PUT $DB/db/a -d '{"a":1,"_access":["x"]}'
 curl -sX PUT $DB/db/b -d '{"b":2,"_access":["x"]}'
-curl -sX PUT $DB/db/c -d '{"c":3,"_access":["y"]}'
-curl -sX PUT $XDB/db/c?rev="1-0865d643568aa9be6bcdc15d88b25912" -d '{"c":6,"_access":["y"]}'
-
-curl -sX PUT $DB/db/d -d '{"d":4,"_access":["y"]}'
-
-curl -sX DELETE $DB/db/a?rev="1-79b9365c8c21f839b206c730ec3d4fc3"
-
-curl -s $DB/db/_all_docs?include_docs=true
-curl -s $XDB/db/_all_docs?include_docs=true
-curl -s $YDB/db/_all_docs?include_docs=true
-
-curl -s $DB/db/_changes?include_docs=true
-curl -s $XDB/db/_changes?include_docs=true
-curl -s $YDB/db/_changes?include_docs=true
-
-curl -s $DB/db/a
+# curl -sX PUT $DB/db/c -d '{"c":3,"_access":["y"]}'
+# curl -sX PUT $XDB/db/c?rev="1-0865d643568aa9be6bcdc15d88b25912" -d '{"c":6,"_access":["y"]}'
+#
+# curl -sX PUT $DB/db/d -d '{"d":4,"_access":["y"]}'
+#
+# curl -sX DELETE $DB/db/a?rev="1-79b9365c8c21f839b206c730ec3d4fc3"
+#
+# curl -s $DB/db/_all_docs?include_docs=true
+# curl -s $XDB/db/_all_docs?include_docs=true
+# curl -s $YDB/db/_all_docs?include_docs=true
+#
+# curl -s $DB/db/_changes?include_docs=true
+# curl -s $XDB/db/_changes?include_docs=true
+# curl -s $YDB/db/_changes?include_docs=true
+#
+# curl -s $DB/db/a
 curl -s $DB/db/b
-curl -s $DB/db/c
-curl -s $DB/db/d
-
-curl -s $XDB/db/a
-curl -s $XDB/db/b
-curl -s $XDB/db/c
-curl -s $XDB/db/d
-
-curl -s $YDB/db/a
-curl -s $YDB/db/b
-curl -s $YDB/db/c
-curl -s $YDB/db/d
-
-curl -sX PUT $XDB/db/b?rev="1-809cfddb59a4f02dc1009785fad978b4" -d '{"b":5,"_access":["x"]}'
-curl -sX PUT $XDB/db/c?rev="1-0865d643568aa9be6bcdc15d88b25912" -d '{"c":6,"_access":["y"]}'
-curl -sX PUT $XDB/db/d?rev="1-87adddda059e643409c43bea87c37bfe" -d '{"d":7,"_access":["y"]}'
-
-curl -sX PUT $YDB/db/b?rev="1-809cfddb59a4f02dc1009785fad978b4" -d '{"b":5,"_access":["x"]}'
-curl -sX PUT $YDB/db/c?rev="1-0865d643568aa9be6bcdc15d88b25912" -d '{"c":6,"_access":["y"]}'
-curl -sX PUT $YDB/db/d?rev="1-87adddda059e643409c43bea87c37bfe" -d '{"d":7,"_access":["y"]}'
-
-curl -sX DELETE $XDB/db/b?rev="2-384262a5168d1187dff405530046666"
-curl -sX DELETE $XDB/db/c?rev="2-4cdae6f0a7539ea92dc79f3d3b0379b"
-curl -sX DELETE $XDB/db/d?rev="2-868c18641965cfae831be1114b49a66b"
-
-curl -sX DELETE $YDB/db/b?rev="2-384262a5168d1187dff405530046666"
-curl -sX DELETE $YDB/db/c?rev="2-4cdae6f0a7539ea92dc79f3d3b0379b"
-curl -sX DELETE $YDB/db/d?rev="2-868c18641965cfae831be1114b49a66b"
+# curl -s $DB/db/c
+# curl -s $DB/db/d
+#
+# curl -s $XDB/db/a
+# curl -s $XDB/db/b
+# curl -s $XDB/db/c
+# curl -s $XDB/db/d
+#
+# curl -s $YDB/db/a
+# curl -s $YDB/db/b
+# curl -s $YDB/db/c
+# curl -s $YDB/db/d
+#
+# curl -sX PUT $XDB/db/b?rev="1-809cfddb59a4f02dc1009785fad978b4" -d '{"b":5,"_access":["x"]}'
+# curl -sX PUT $XDB/db/c?rev="1-0865d643568aa9be6bcdc15d88b25912" -d '{"c":6,"_access":["y"]}'
+# curl -sX PUT $XDB/db/d?rev="1-87adddda059e643409c43bea87c37bfe" -d '{"d":7,"_access":["y"]}'
+#
+# curl -sX PUT $YDB/db/b?rev="1-809cfddb59a4f02dc1009785fad978b4" -d '{"b":5,"_access":["x"]}'
+# curl -sX PUT $YDB/db/c?rev="1-0865d643568aa9be6bcdc15d88b25912" -d '{"c":6,"_access":["y"]}'
+# curl -sX PUT $YDB/db/d?rev="1-87adddda059e643409c43bea87c37bfe" -d '{"d":7,"_access":["y"]}'
+#
+# curl -sX DELETE $XDB/db/b?rev="2-384262a5168d1187dff405530046666"
+# curl -sX DELETE $XDB/db/c?rev="2-4cdae6f0a7539ea92dc79f3d3b0379b"
+# curl -sX DELETE $XDB/db/d?rev="2-868c18641965cfae831be1114b49a66b"
+#
+# curl -sX DELETE $YDB/db/b?rev="2-384262a5168d1187dff405530046666"
+# curl -sX DELETE $YDB/db/c?rev="2-4cdae6f0a7539ea92dc79f3d3b0379b"
+# curl -sX DELETE $YDB/db/d?rev="2-868c18641965cfae831be1114b49a66b"