Deadlock
A deadlock can occur when reading and writing to dat.data_cells by different users at the same time. Bizview will take care of this and try to do execute the query again. This is done in the procedure app.p_execsql_deadlock, which takes one parameter:
app.p_execsql_deadlock(@sqlnvarchar(max))
The procedure can be freely used when creating a custom procedure, all you have to do is put the query in a variable and send it to the procedure and the procedure will take care of deadlocks that could possibly occur.
The procedure will execute the query and, if a deadlock occurs, it will wait between one and four seconds and try again. The behavior will be repeated eight times and if it still fails, a message it raise an error message.
Log Table
If a deadlock occurs, a record is written in the dat.deadlock_errors table. Here, you can see on which try the query succeeded, the query that was executed, and when it was executed. If you are near try #8, you may consider changing the procedure above and continue to try. Please inform NCG Group in this case at support@ncg-group.com.