I would like to see some media(set) wizardry, yes. Also, I can't recall if you've done one on these, but there's the whole IncludedFields and ColumnStore index thing on table keys that I would love to see some more on.
There is far more reasons that we flush: The factors that disabled buffered inserts: • Record is a non-SQL based table. • Has Auto increment field • Has blob fields • Return value of function call is used. The actions that will trigger the insertion of buffered inserts (flushing): • Reaching the buffers limit. • Calling MODIFY/MODIFYALL/DELETE/DELETEALL on any record of same type. • Calling FIND/FINDSET/FINDLAST/FINDFIRST/GET/ISEMPTY/COUNT/CALCFIELDS on any record of the same type. • Calling above methods on other record or query that reference the original table from flowfields. • Committing the transaction. • Accessing a MediaSet value on a record of same type. • Copying a record of the same type. • Using TransferFields to move the fields on a record of same type. • Accessing the timestamp or system id fields. • Calling Modify or Delete on a company record. • Exiting the running of a Codeunit.Run.
Buffered Inserts are great, except when you are debugging a problem. I turn it off on my dev, "debug" on-prem boxes so if an error occurs in the bulk insert it stops when the error occurs rather than when something forces the bulk insert to be flushed.
Having more info on the Media datatype(s?) would be great, I rely on Blobs way too much and I know that I shouldn't but it feels necessary for some things like storing API requests/responses because the size of the packet could be massive. I expect that there is a better way, and maybe Media(set) could be the answer.
Sure, multiple users can insert at the same time. Deadlocks are mostly due to programming errors, one process locks A before B, and another locks B before A...
I would like to see some media(set) wizardry, yes. Also, I can't recall if you've done one on these, but there's the whole IncludedFields and ColumnStore index thing on table keys that I would love to see some more on.
10:16 Thanks for providing another argument against AUTOINCREMENT
There is far more reasons that we flush:
The factors that disabled buffered inserts:
• Record is a non-SQL based table.
• Has Auto increment field
• Has blob fields
• Return value of function call is used.
The actions that will trigger the insertion of buffered inserts (flushing):
• Reaching the buffers limit.
• Calling MODIFY/MODIFYALL/DELETE/DELETEALL on any record of same type.
• Calling FIND/FINDSET/FINDLAST/FINDFIRST/GET/ISEMPTY/COUNT/CALCFIELDS on any record of the same type.
• Calling above methods on other record or query that reference the original table from flowfields.
• Committing the transaction.
• Accessing a MediaSet value on a record of same type.
• Copying a record of the same type.
• Using TransferFields to move the fields on a record of same type.
• Accessing the timestamp or system id fields.
• Calling Modify or Delete on a company record.
• Exiting the running of a Codeunit.Run.
Thanks Mads, guess that's yet another doc page that could use a bit of TLC :)
Buffered Inserts are great, except when you are debugging a problem. I turn it off on my dev, "debug" on-prem boxes so if an error occurs in the bulk insert it stops when the error occurs rather than when something forces the bulk insert to be flushed.
Having more info on the Media datatype(s?) would be great, I rely on Blobs way too much and I know that I shouldn't but it feels necessary for some things like storing API requests/responses because the size of the packet could be massive. I expect that there is a better way, and maybe Media(set) could be the answer.
Give me media and mediaset video!!! And whats up with the missing bonus content? Do i have to buy acces to the premium Erik channel?
Hi Erik, Can you please prepare a video on how to use Google Drive to save XML files when you are on the Cloud version of BC.
Don't expect that :)
Thank you Erik for the video. Can Multiple users insert the data at the same time. How to handle deadlock in business central?
Sure, multiple users can insert at the same time. Deadlocks are mostly due to programming errors, one process locks A before B, and another locks B before A...
@@Hougaard Thank you🙂