static void BasicArray(){ ndbout << "Testing basic array operations" << endl; // Basic insert DBA_ArrayInsertRows(EmpB, EMP_TABLE_DATA, Rows-2, insertCallback); NdbSleep_SecSleep(1); DBA_ArrayReadRows(EmpB, EMP_TABLE_DATA_READ, Rows-2, readCallback); NdbSleep_SecSleep(1); CompareRows(EMP_TABLE_DATA, Rows-2, EMP_TABLE_DATA_READ); // Basic update AlterRows(EMP_TABLE_DATA, Rows-2); DBA_ArrayUpdateRows(EmpB, EMP_TABLE_DATA, Rows-2, updateCallback); NdbSleep_SecSleep(1); DBA_ArrayReadRows(EmpB, EMP_TABLE_DATA_READ, Rows-2, readCallback); NdbSleep_SecSleep(1); CompareRows(EMP_TABLE_DATA, Rows-2, EMP_TABLE_DATA_READ); // Basic write AlterRows(EMP_TABLE_DATA, Rows); DBA_ArrayWriteRows(EmpB, EMP_TABLE_DATA, Rows, writeCallback); NdbSleep_SecSleep(1); DBA_ArrayReadRows(EmpB, EMP_TABLE_DATA_READ, Rows, readCallback); NdbSleep_SecSleep(1); CompareRows(EMP_TABLE_DATA, Rows, EMP_TABLE_DATA_READ); // Basic delete DBA_ArrayDeleteRows(EmpB, EMP_TABLE_DATA, Rows, deleteCallback); NdbSleep_SecSleep(1); }
static void Multi(){ ndbout << "Testing multi operations" << endl; const int R2 = Rows + Rows; DBA_Binding_t * Bindings[R2]; void * DATA[R2]; void * DATA_READ[R2]; for(int i = 0; i<Rows; i++){ Bindings[2*i] = EmpB; Bindings[2*i+1] = AddB; DATA[2*i] = &EMP_TABLE_DATA[i]; DATA[2*i+1] = &ADD_TABLE_DATA[i]; DATA_READ[2*i] = &EMP_TABLE_DATA_READ[i]; DATA_READ[2*i+1] = &ADD_TABLE_DATA_READ[i]; } // Basic insert DBA_MultiInsertRow(Bindings, DATA, R2-4, insertCallback); NdbSleep_SecSleep(1); DBA_MultiReadRow (Bindings, DATA_READ, R2-4, readCallback); NdbSleep_SecSleep(1); CompareRows(EMP_TABLE_DATA, Rows-2, EMP_TABLE_DATA_READ); CompareRows(ADD_TABLE_DATA, Rows-2, ADD_TABLE_DATA_READ); // Basic update AlterRows(EMP_TABLE_DATA, Rows-2); AlterRows(ADD_TABLE_DATA, Rows-2); DBA_MultiUpdateRow(Bindings, DATA, R2-4, updateCallback); NdbSleep_SecSleep(1); DBA_MultiReadRow (Bindings, DATA_READ, R2-4, readCallback); NdbSleep_SecSleep(1); CompareRows(EMP_TABLE_DATA, Rows-2, EMP_TABLE_DATA_READ); CompareRows(ADD_TABLE_DATA, Rows-2, ADD_TABLE_DATA_READ); // Basic write AlterRows(EMP_TABLE_DATA, Rows); AlterRows(ADD_TABLE_DATA, Rows); DBA_MultiWriteRow(Bindings, DATA, R2, writeCallback); NdbSleep_SecSleep(1); DBA_MultiReadRow (Bindings, DATA_READ, R2, readCallback); NdbSleep_SecSleep(1); CompareRows(EMP_TABLE_DATA, Rows, EMP_TABLE_DATA_READ); CompareRows(ADD_TABLE_DATA, Rows, ADD_TABLE_DATA_READ); // Basic delete DBA_MultiDeleteRow(Bindings, DATA, R2, deleteCallback); NdbSleep_SecSleep(1); }
static void BasicPtr(){ ndbout << "Testing array of pointer operations" << endl; Employee_t * EmpData[Rows]; Employee_t * EmpDataRead[Rows]; for(int i = 0; i<Rows; i++){ EmpData[i] = &EMP_TABLE_DATA[i]; EmpDataRead[i] = &EMP_TABLE_DATA_READ[i]; } void * const * EMP_TABLE_DATA2 = (void * const *)EmpData; void * const * EMP_TABLE_DATA_READ2 = (void * const *)EmpDataRead; // Basic insert DBA_InsertRows(Bind, EMP_TABLE_DATA2, Rows-2, insertCallback); NdbSleep_SecSleep(1); DBA_ReadRows (Bind, EMP_TABLE_DATA_READ2, Rows-2, readCallback); NdbSleep_SecSleep(1); CompareRows(EMP_TABLE_DATA, Rows-2, EMP_TABLE_DATA_READ); CompareRows(ADD_TABLE_DATA, Rows-2, ADD_TABLE_DATA_READ); // Basic update AlterRows (ADD_TABLE_DATA, Rows-2); AlterRows (EMP_TABLE_DATA, Rows-2); DBA_UpdateRows(Bind, EMP_TABLE_DATA2, Rows-2, updateCallback); NdbSleep_SecSleep(1); DBA_ReadRows (Bind, EMP_TABLE_DATA_READ2, Rows-2, readCallback); NdbSleep_SecSleep(1); CompareRows(EMP_TABLE_DATA, Rows-2, EMP_TABLE_DATA_READ); CompareRows(ADD_TABLE_DATA, Rows-2, ADD_TABLE_DATA_READ); // Basic write AlterRows (ADD_TABLE_DATA, Rows); AlterRows (EMP_TABLE_DATA, Rows); DBA_WriteRows(Bind, EMP_TABLE_DATA2, Rows, writeCallback); NdbSleep_SecSleep(1); DBA_ReadRows (Bind, EMP_TABLE_DATA_READ2, Rows, readCallback); NdbSleep_SecSleep(1); CompareRows(EMP_TABLE_DATA, Rows, EMP_TABLE_DATA_READ); CompareRows(ADD_TABLE_DATA, Rows, ADD_TABLE_DATA_READ); // Basic delete DBA_DeleteRows(Bind, EMP_TABLE_DATA2, Rows, deleteCallback); NdbSleep_SecSleep(1); }