Open ethho opened 3 weeks ago
This will be inside populate and will follow all the conventions of populate
.
Yes, it looks correct. If we want to be fancy, we can prohibit insert
calls in make_fetch
, insert
and fetch
calls from make_compute
, and fetch
operators from make_insert
.
@ethho, our blob serialization serializes most types of data into binary strings. You can use a hash on the serialized data for comparing input
to input2
I am following this. I see the #1171. Can this issue here be updated regularly when this is implemented / in a testable state? Thanks for taking care of this!
This is a high priority for multiple labs.
Bug Report
Description
A client locks table metadata for the entire duration of a
make
function call. When other clients attempt todrop
ordeclare
child tables, the call is blocked until the first client finishesmake
. This approach scales poorly with number of clients and number of child tables.Reproducibility
Include:
Proposed Solution
As an alternative to writing a
Computed.make
function, allow user to write three functions:make_fetch
for reading inputsmake_compute
, which is not run in a transaction, and is passed the return value ofmake_fetch
make_insert
, which inserts computed values using the same transaction semantics asmake
.In pseudocode, these three functions will be used in the following routine as such:
Additional Research and Context
Related Issues
cc: @dimitri-yatsenko @ttngu207 @CBroz1 @samuelbray32 @peabody124