MCPcopy Create free account
hub / github.com/MariaDB/server / rollup_send_data

Method rollup_send_data

sql/sql_select.cc:30825–30846  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30823*/
30824
30825int JOIN::rollup_send_data(uint idx)
30826{
30827 uint i;
30828 for (i= send_group_parts ; i-- > idx ; )
30829 {
30830 int res= 0;
30831 /* Get reference pointers to sum functions in place */
30832 copy_ref_ptr_array(ref_ptrs, rollup.ref_pointer_arrays[i]);
30833 if ((!having || having->val_bool()))
30834 {
30835 if (send_records < unit->lim.get_select_limit() && do_send_rows &&
30836 (res= result->send_data_with_check(rollup.fields[i],
30837 unit, send_records)) > 0)
30838 return 1;
30839 if (!res)
30840 send_records++;
30841 }
30842 }
30843 /* Restore ref_pointer_array */
30844 set_items_ref_array(current_ref_ptrs);
30845 return 0;
30846}
30847
30848/**
30849 Write all rollup levels higher than the current one to a temp table.

Callers 1

end_send_groupFunction · 0.80

Calls 3

get_select_limitMethod · 0.80
send_data_with_checkMethod · 0.80
val_boolMethod · 0.45

Tested by

no test coverage detected