• Home
  • Raw
  • Download

Lines Matching full:work

413 static void *jn_work_alloc_data(size_t siz, JNWORK work, iwrc *rcp) {  in jn_work_alloc_data()  argument
415 work->data = iwpool_calloc(siz, work->pool); in jn_work_alloc_data()
416 if (!work->data) { in jn_work_alloc_data()
419 return work->data; in jn_work_alloc_data()
574 bool jn_resolve_pending_errors(napi_env env, napi_status ns, JNWORK work) { in jn_resolve_pending_errors() argument
575 assert(work); in jn_resolve_pending_errors()
576 if (!work->deferred) { in jn_resolve_pending_errors()
580 if (!(work->rc || ns || pending)) { in jn_resolve_pending_errors()
584 if (pending && (!work->rc || (work->rc == JN_ERROR_NAPI))) { in jn_resolve_pending_errors()
587 napi_reject_deferred(env, work->deferred, ex); in jn_resolve_pending_errors()
598 verr = jn_create_error(env, work->rc, work->async_resource, info ? info->error_message : 0); in jn_resolve_pending_errors()
600 napi_reject_deferred(env, work->deferred, verr); in jn_resolve_pending_errors()
603 work->deferred = 0; in jn_resolve_pending_errors()
613 JNWORK work) { in jn_launch_promise() argument
619 work->async_resource = async_resource_name; in jn_launch_promise()
621 JNGO(ns, env, napi_unwrap(env, this, &work->unwrapped), finish); in jn_launch_promise()
622 JNGO(ns, env, napi_create_promise(env, &work->deferred, &promise), finish); in jn_launch_promise()
624 …JNGO(ns, env, napi_create_async_work(env, 0, awork, execute, complete, work, &work->async_work), f… in jn_launch_promise()
625 JNGO(ns, env, napi_queue_async_work(env, work->async_work), finish); in jn_launch_promise()
629 if (work) { in jn_launch_promise()
630 jn_resolve_pending_errors(env, ns, work); in jn_launch_promise()
631 jn_work_destroy(env, &work); in jn_launch_promise()
640 JNWORK work = data; in jn_open_execute() local
641 JBN jbn = work->unwrapped; in jn_open_execute()
645 work->rc = ejdb_open(&jbn->opts, &jbn->db); in jn_open_execute()
649 JNWORK work = data; in jn_open_complete() local
650 if (jn_resolve_pending_errors(env, ns, work)) { in jn_open_complete()
653 JNGO(ns, env, napi_resolve_deferred(env, work->deferred, jn_undefined(env)), finish); in jn_open_complete()
654 work->deferred = 0; in jn_open_complete()
657 jn_work_destroy(env, &work); in jn_open_complete()
662 JNWORK work = jn_work_create(&rc); in jn_open() local
667 napi_value ret = jn_launch_promise(env, info, "open", jn_open_execute, jn_open_complete, work); in jn_open()
674 JNWORK work = data; in jn_close_execute() local
675 JBN jbn = work->unwrapped; in jn_close_execute()
679 work->rc = ejdb_close(&jbn->db); in jn_close_execute()
683 JNWORK work = data; in jn_close_complete() local
684 JBN jbn = work->unwrapped; in jn_close_complete()
685 if (jn_resolve_pending_errors(env, ns, work)) { in jn_close_complete()
688 JNGO(ns, env, napi_resolve_deferred(env, work->deferred, jn_undefined(env)), finish); in jn_close_complete()
689 work->deferred = 0; in jn_close_complete()
696 jn_work_destroy(env, &work); in jn_close_complete()
701 JNWORK work = jn_work_create(&rc); in jn_close() local
706 napi_value ret = jn_launch_promise(env, info, "close", jn_close_execute, jn_close_complete, work); in jn_close()
721 JNWORK work = data; in jn_put_execute() local
722 JBN jbn = work->unwrapped; in jn_put_execute()
724 work->rc = JN_ERROR_INVALID_STATE; in jn_put_execute()
727 struct JNPUT_DATA *wdata = work->data; in jn_put_execute()
729 work->rc = jbl_from_json(&jbl, wdata->json); in jn_put_execute()
730 RCGO(work->rc, finish); in jn_put_execute()
734 work->rc = ejdb_patch(jbn->db, wdata->coll, wdata->json, wdata->id); in jn_put_execute()
736 work->rc = ejdb_put(jbn->db, wdata->coll, jbl, wdata->id); in jn_put_execute()
739 work->rc = ejdb_put_new(jbn->db, wdata->coll, jbl, &wdata->id); in jn_put_execute()
749 JNWORK work = data; in jn_put_complete() local
750 if (jn_resolve_pending_errors(env, ns, work)) { in jn_put_complete()
753 struct JNPUT_DATA *wdata = work->data; in jn_put_complete()
756 jn_resolve_pending_errors(env, ns, work); in jn_put_complete()
759 JNGO(ns, env, napi_resolve_deferred(env, work->deferred, rv), finish); in jn_put_complete()
760 work->deferred = 0; in jn_put_complete()
763 jn_work_destroy(env, &work); in jn_put_complete()
774 JNWORK work = jn_work_create(&rc); in jn_put_patch() local
783 struct JNPUT_DATA *wdata = jn_work_alloc_data(sizeof(*wdata), work, &rc); in jn_put_patch()
786 wdata->coll = jn_string(env, argv[0], work->pool, false, true, &rc); in jn_put_patch()
788 wdata->json = jn_string(env, argv[1], work->pool, false, false, &rc); in jn_put_patch()
797 …n_launch_promise(env, info, wdata->patch ? "patch" : "put", jn_put_execute, jn_put_complete, work); in jn_put_patch()
802 if (work) { in jn_put_patch()
803 jn_work_destroy(env, &work); in jn_put_patch()
837 JNWORK work = data; in jn_get_execute() local
838 JBN jbn = work->unwrapped; in jn_get_execute()
840 work->rc = JN_ERROR_INVALID_STATE; in jn_get_execute()
843 struct JNGET_DATA *wdata = work->data; in jn_get_execute()
844 work->rc = ejdb_get(jbn->db, wdata->coll, wdata->id, &wdata->jbl); in jn_get_execute()
849 JNWORK work = data; in jn_get_complete() local
850 if (jn_resolve_pending_errors(env, ns, work)) { in jn_get_complete()
853 struct JNGET_DATA *wdata = work->data; in jn_get_complete()
856 work->rc = iwrc_set_errno(IW_ERROR_ALLOC, errno); in jn_get_complete()
859 work->rc = jbl_as_json(wdata->jbl, jbl_xstr_json_printer, xstr, 0); in jn_get_complete()
860 RCGO(work->rc, finish0); in jn_get_complete()
862 JNGO(ns, env, napi_resolve_deferred(env, work->deferred, rv), finish0); in jn_get_complete()
863 work->deferred = 0; in jn_get_complete()
869 if (work->rc || ns) { in jn_get_complete()
870 jn_resolve_pending_errors(env, ns, work); in jn_get_complete()
873 jn_work_destroy(env, &work); in jn_get_complete()
884 JNWORK work = jn_work_create(&rc); in jn_get() local
893 struct JNGET_DATA *wdata = jn_work_alloc_data(sizeof(*wdata), work, &rc); in jn_get()
895 work->release_data = jn_get_data_destroy; in jn_get()
896 wdata->coll = jn_string(env, argv[0], work->pool, false, false, &rc); in jn_get()
901 ret = jn_launch_promise(env, info, "get", jn_get_execute, jn_get_complete, work); in jn_get()
906 if (work) { in jn_get()
907 jn_work_destroy(env, &work); in jn_get()
916 JNWORK work = data; in jn_del_execute() local
917 JBN jbn = work->unwrapped; in jn_del_execute()
919 work->rc = JN_ERROR_INVALID_STATE; in jn_del_execute()
922 struct JNGET_DATA *wdata = work->data; in jn_del_execute()
923 work->rc = ejdb_del(jbn->db, wdata->coll, wdata->id); in jn_del_execute()
927 JNWORK work = data; in jn_del_complete() local
928 if (jn_resolve_pending_errors(env, ns, work)) { in jn_del_complete()
931 JNGO(ns, env, napi_resolve_deferred(env, work->deferred, jn_undefined(env)), finish); in jn_del_complete()
932 work->deferred = 0; in jn_del_complete()
935 jn_work_destroy(env, &work); in jn_del_complete()
946 JNWORK work = jn_work_create(&rc); in jn_del() local
955 struct JNGET_DATA *wdata = jn_work_alloc_data(sizeof(*wdata), work, &rc); in jn_del()
957 wdata->coll = jn_string(env, argv[0], work->pool, false, false, &rc); in jn_del()
962 ret = jn_launch_promise(env, info, "del", jn_del_execute, jn_del_complete, work); in jn_del()
967 if (work) { in jn_del()
968 jn_work_destroy(env, &work); in jn_del()
982 JNWORK work = data; in jn_rename_collection_execute() local
983 JBN jbn = work->unwrapped; in jn_rename_collection_execute()
985 work->rc = JN_ERROR_INVALID_STATE; in jn_rename_collection_execute()
988 struct JNRENAME_DATA *wdata = work->data; in jn_rename_collection_execute()
989 work->rc = ejdb_rename_collection(jbn->db, wdata->old_name, wdata->new_name); in jn_rename_collection_execute()
993 JNWORK work = data; in jn_rename_collection_complete() local
994 if (jn_resolve_pending_errors(env, ns, work)) { in jn_rename_collection_complete()
997 JNGO(ns, env, napi_resolve_deferred(env, work->deferred, jn_undefined(env)), finish); in jn_rename_collection_complete()
998 work->deferred = 0; in jn_rename_collection_complete()
1001 jn_work_destroy(env, &work); in jn_rename_collection_complete()
1012 JNWORK work = jn_work_create(&rc); in jn_rename_collection() local
1021 struct JNRENAME_DATA *wdata = jn_work_alloc_data(sizeof(*wdata), work, &rc); in jn_rename_collection()
1024 wdata->old_name = jn_string(env, argv[0], work->pool, false, false, &rc); in jn_rename_collection()
1027 wdata->new_name = jn_string(env, argv[1], work->pool, false, false, &rc); in jn_rename_collection()
1032 work); in jn_rename_collection()
1036 if (work) { in jn_rename_collection()
1037 jn_work_destroy(env, &work); in jn_rename_collection()
1046 JNWORK work = data; in jn_info_execute() local
1047 JBN jbn = work->unwrapped; in jn_info_execute()
1049 work->rc = JN_ERROR_INVALID_STATE; in jn_info_execute()
1052 struct JNGET_DATA *wdata = work->data; in jn_info_execute()
1053 work->rc = ejdb_get_meta(jbn->db, &wdata->jbl); in jn_info_execute()
1058 JNWORK work = data; in jn_info_complete() local
1059 if (jn_resolve_pending_errors(env, ns, work)) { in jn_info_complete()
1062 struct JNGET_DATA *wdata = work->data; in jn_info_complete()
1065 work->rc = iwrc_set_errno(IW_ERROR_ALLOC, errno); in jn_info_complete()
1068 work->rc = jbl_as_json(wdata->jbl, jbl_xstr_json_printer, xstr, 0); in jn_info_complete()
1069 RCGO(work->rc, finish0); in jn_info_complete()
1072 JNGO(ns, env, napi_resolve_deferred(env, work->deferred, rv), finish0); in jn_info_complete()
1073 work->deferred = 0; in jn_info_complete()
1079 if (work->rc || ns) { in jn_info_complete()
1080 jn_resolve_pending_errors(env, ns, work); in jn_info_complete()
1083 jn_work_destroy(env, &work); in jn_info_complete()
1093 JNWORK work = jn_work_create(&rc); in jn_info() local
1097 jn_work_alloc_data(sizeof(struct JNGET_DATA), work, &rc); in jn_info()
1099 work->release_data = jn_get_data_destroy; in jn_info()
1100 ret = jn_launch_promise(env, info, "info", jn_info_execute, jn_info_complete, work); in jn_info()
1105 if (work) { in jn_info()
1106 jn_work_destroy(env, &work); in jn_info()
1122 JNWORK work = data; in jn_index_execute() local
1123 JBN jbn = work->unwrapped; in jn_index_execute()
1125 work->rc = JN_ERROR_INVALID_STATE; in jn_index_execute()
1128 struct JNIDX_DATA *wdata = work->data; in jn_index_execute()
1130 work->rc = ejdb_remove_index(jbn->db, wdata->coll, wdata->path, wdata->mode); in jn_index_execute()
1132 work->rc = ejdb_ensure_index(jbn->db, wdata->coll, wdata->path, wdata->mode); in jn_index_execute()
1137 JNWORK work = data; in jn_index_complete() local
1138 if (jn_resolve_pending_errors(env, ns, work)) { in jn_index_complete()
1141 JNGO(ns, env, napi_resolve_deferred(env, work->deferred, jn_undefined(env)), finish); in jn_index_complete()
1142 work->deferred = 0; in jn_index_complete()
1145 jn_work_destroy(env, &work); in jn_index_complete()
1156 JNWORK work = jn_work_create(&rc); in jn_index() local
1165 struct JNIDX_DATA *wdata = jn_work_alloc_data(sizeof(*wdata), work, &rc); in jn_index()
1167 wdata->coll = jn_string(env, argv[0], work->pool, false, false, &rc); in jn_index()
1169 wdata->path = jn_string(env, argv[1], work->pool, false, false, &rc); in jn_index()
1176 ret = jn_launch_promise(env, info, "index", jn_index_execute, jn_index_complete, work); in jn_index()
1181 if (work) { in jn_index()
1182 jn_work_destroy(env, &work); in jn_index()
1195 JNWORK work = data; in jn_rmcoll_execute() local
1196 JBN jbn = work->unwrapped; in jn_rmcoll_execute()
1198 work->rc = JN_ERROR_INVALID_STATE; in jn_rmcoll_execute()
1201 struct JNRMC_DATA *wdata = work->data; in jn_rmcoll_execute()
1202 work->rc = ejdb_remove_collection(jbn->db, wdata->coll); in jn_rmcoll_execute()
1206 JNWORK work = data; in jn_rmcoll_complete() local
1207 if (jn_resolve_pending_errors(env, ns, work)) { in jn_rmcoll_complete()
1210 JNGO(ns, env, napi_resolve_deferred(env, work->deferred, jn_undefined(env)), finish); in jn_rmcoll_complete()
1211 work->deferred = 0; in jn_rmcoll_complete()
1214 jn_work_destroy(env, &work); in jn_rmcoll_complete()
1225 JNWORK work = jn_work_create(&rc); in jn_rmcoll() local
1234 struct JNRMC_DATA *wdata = jn_work_alloc_data(sizeof(*wdata), work, &rc); in jn_rmcoll()
1236 wdata->coll = jn_string(env, argv, work->pool, false, false, &rc); in jn_rmcoll()
1239 ret = jn_launch_promise(env, info, "rmcoll", jn_rmcoll_execute, jn_rmcoll_complete, work); in jn_rmcoll()
1244 if (work) { in jn_rmcoll()
1245 jn_work_destroy(env, &work); in jn_rmcoll()
1259 JNWORK work = data; in jn_online_backup_execute() local
1260 JBN jbn = work->unwrapped; in jn_online_backup_execute()
1262 work->rc = JN_ERROR_INVALID_STATE; in jn_online_backup_execute()
1265 struct JNBK_DATA *wdata = work->data; in jn_online_backup_execute()
1266 work->rc = ejdb_online_backup(jbn->db, &wdata->ts, wdata->file_name); in jn_online_backup_execute()
1271 JNWORK work = data; in jn_online_backup_complete() local
1272 if (jn_resolve_pending_errors(env, ns, work)) { in jn_online_backup_complete()
1275 struct JNBK_DATA *wdata = work->data; in jn_online_backup_complete()
1278 jn_resolve_pending_errors(env, ns, work); in jn_online_backup_complete()
1281 JNGO(ns, env, napi_resolve_deferred(env, work->deferred, rv), finish); in jn_online_backup_complete()
1282 work->deferred = 0; in jn_online_backup_complete()
1285 jn_work_destroy(env, &work); in jn_online_backup_complete()
1295 JNWORK work = jn_work_create(&rc); in jn_online_backup() local
1304 struct JNBK_DATA *wdata = jn_work_alloc_data(sizeof(*wdata), work, &rc); in jn_online_backup()
1306 wdata->file_name = jn_string(env, argv[0], work->pool, false, true, &rc); in jn_online_backup()
1307 …nch_promise(env, info, "online_backup", jn_online_backup_execute, jn_online_backup_complete, work); in jn_online_backup()
1312 if (work) { in jn_online_backup()
1313 jn_work_destroy(env, &work); in jn_online_backup()
1413 struct JNWORK work; member
1560 JNWORK work = &qs->work; in jn_jql_stream_visitor() local
1566 work->rc = jn_stream_pause_guard(qs); in jn_jql_stream_visitor()
1567 RCRET(work->rc); in jn_jql_stream_visitor()
1571 work->rc = iwrc_set_errno(IW_ERROR_ALLOC, errno); in jn_jql_stream_visitor()
1572 return work->rc; in jn_jql_stream_visitor()
1575 work->rc = jbn_as_json(doc->node, jbl_xstr_json_printer, xstr, 0); in jn_jql_stream_visitor()
1577 work->rc = jbl_as_json(doc->raw, jbl_xstr_json_printer, xstr, 0); in jn_jql_stream_visitor()
1579 RCGO(work->rc, finish); in jn_jql_stream_visitor()
1583 work->rc = iwrc_set_errno(IW_ERROR_ALLOC, errno); in jn_jql_stream_visitor()
1595 work->rc = JN_ERROR_NAPI; in jn_jql_stream_visitor()
1596 work->ns = ns; in jn_jql_stream_visitor()
1602 if (work->rc) { in jn_jql_stream_visitor()
1609 return work->rc; in jn_jql_stream_visitor()
1615 JNWORK work = data; in jn_jql_stream_execute() local
1616 JNQS qs = work->data; in jn_jql_stream_execute()
1626 work->rc = jn_stream_pause_guard(qs); in jn_jql_stream_execute()
1627 RCGO(work->rc, finish); in jn_jql_stream_execute()
1633 work->rc = iwrc_set_errno(IW_ERROR_ALLOC, errno); in jn_jql_stream_execute()
1646 work->rc = ejdb_exec(&ux); in jn_jql_stream_execute()
1647 RCGO(work->rc, finish); in jn_jql_stream_execute()
1652 work->rc = iwrc_set_errno(IW_ERROR_ALLOC, errno); in jn_jql_stream_execute()
1665 work->rc = JN_ERROR_NAPI; in jn_jql_stream_execute()
1666 work->ns = ns; in jn_jql_stream_execute()
1679 if (work->rc) { in jn_jql_stream_execute()
1685 JNWORK work = data; in jn_jql_stream_complete() local
1686 JNQS qs = work->data; in jn_jql_stream_complete()
1688 ns = work->ns; in jn_jql_stream_complete()
1690 if (jn_resolve_pending_errors(env, ns, work)) { in jn_jql_stream_complete()
1693 JNGO(ns, env, napi_resolve_deferred(env, work->deferred, jn_undefined(env)), finish); in jn_jql_stream_complete()
1694 work->deferred = 0; in jn_jql_stream_complete()
1697 jn_work_destroy(env, &work); in jn_jql_stream_complete()
1832 // Launch async work in jn_jql_stream_attach()
1836 qs->work.data = qs; in jn_jql_stream_attach()
1837 … = jn_launch_promise(env, info, "query", jn_jql_stream_execute, jn_jql_stream_complete, &qs->work); in jn_jql_stream_attach()