quickstep-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cramja <...@git.apache.org>
Subject [GitHub] incubator-quickstep pull request #129: Partial inserts
Date Thu, 17 Nov 2016 17:16:27 GMT
Github user cramja commented on a diff in the pull request:

    --- Diff: storage/StorageBlock.hpp ---
    @@ -307,13 +307,60 @@ class StorageBlock : public StorageBlockBase {
        *        iteration will be advanced to the first non-inserted tuple or, if
        *        all accessible tuples were inserted in this block, to the end
        *        position.
    +   * @param max_tuples_to_insert Insert at most these many tuples
        * @return The number of tuples inserted from accessor.
       tuple_id bulkInsertTuplesWithRemappedAttributes(
           const std::vector<attribute_id> &attribute_map,
           ValueAccessor *accessor);
    +   * @brief Insert up to max_num_tuples_to_insert tuples from a ValueAccessor
    +   *        as a single batch, using the attribute_map to project and reorder
    +   *        columns from the input ValueAccessor. Does not update header.
    +   *
    +   * @note Typical usage is where you want to bulk-insert columns from two
    +   *       or more value accessors. Instead of writing out the columns into
    +   *       one or more column vector value accessors, you can simply use this
    +   *       function with the appropriate attribute_map for each value
    +   *       accessor (InsertDestination::bulkInsertTuplesFromValueAccessors
    +   *       handles all the details) to insert tuples without an extra temp copy.
    +   * 
    +   * @warning Must call bulkInsertPartialTuplesFinalize() to update the header,
    +   *          until which point, the insertion is not visible to others.
    +   * @warning The inserted tuples may be placed in an "incorrect" or
    --- End diff --
    Is this warning still true? I thought it is safe to call any methods after `bulkInsertPartialTuplesFinalize`
is called. For instance, in the SplitRowStore, it is safe to scan for tuples as long as `finalize`
was called

If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.

View raw message