Classes | Public Member Functions | List of all members
cudf::sort_merge_join Class Reference

Class that implements sort-merge algorithm for table joins. More...

#include <sort_merge_join.hpp>

Public Member Functions

 sort_merge_join (table_view const &right, sorted is_right_sorted, null_equality compare_nulls=null_equality::EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream())
 Construct a sort-merge join object that pre-processes the right table on creation, and can be used on subsequent join operations with multiple left tables. More...
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > inner_join (table_view const &left, sorted is_left_sorted, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 Returns the row indices that can be used to construct the result of performing an inner join between the right table passed while creating the sort_merge_join object, and the left table. More...
 

Detailed Description

Class that implements sort-merge algorithm for table joins.

Definition at line 44 of file sort_merge_join.hpp.

Constructor & Destructor Documentation

◆ sort_merge_join()

cudf::sort_merge_join::sort_merge_join ( table_view const &  right,
sorted  is_right_sorted,
null_equality  compare_nulls = null_equality::EQUAL,
rmm::cuda_stream_view  stream = cudf::get_default_stream() 
)

Construct a sort-merge join object that pre-processes the right table on creation, and can be used on subsequent join operations with multiple left tables.

Note
The sort_merge_join object must not outlive the table viewed by right, else behavior is undefined.
Parameters
rightThe right table
is_right_sortedEnum to indicate if right table is pre-sorted
compare_nullsControls whether null join-key values should match or not
streamCUDA stream used for device memory operations and kernel launches

Member Function Documentation

◆ inner_join()

std::pair<std::unique_ptr<rmm::device_uvector<size_type> >, std::unique_ptr<rmm::device_uvector<size_type> > > cudf::sort_merge_join::inner_join ( table_view const &  left,
sorted  is_left_sorted,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

Returns the row indices that can be used to construct the result of performing an inner join between the right table passed while creating the sort_merge_join object, and the left table.

See also
cudf::inner_join().
Parameters
leftThe left table
is_left_sortedEnum to indicate if left table is pre-sorted
streamCUDA stream used for device memory operations and kernel launches
mrDevice memory resource used to allocate the join indices' device memory.
Returns
A pair of device vectors [left_indices, right_indices] that can be used to construct the result of performing an inner join between two tables

The documentation for this class was generated from the following file: