JNIEXPORT void JNICALL Java_io_realm_internal_TableView_nativePivot( JNIEnv *env, jobject, jlong dataTablePtr, jlong stringCol, jlong intCol, jint operation, jlong resultTablePtr) { try { TV(dataTablePtr)->sync_if_needed(); TableView* dataTable = TV(dataTablePtr); Table* resultTable = TBL(resultTablePtr); Table::AggrType pivotOp; switch (operation) { case 0: pivotOp = Table::aggr_count; break; case 1: pivotOp = Table::aggr_sum; break; case 2: pivotOp = Table::aggr_avg; break; case 3: pivotOp = Table::aggr_min; break; case 4: pivotOp = Table::aggr_max; break; default: ThrowException(env, UnsupportedOperation, "No pivot operation specified."); return; } dataTable->aggregate(S(stringCol), S(intCol), pivotOp, *resultTable); } CATCH_STD() }