NAV5SP1 - Consequences of Bulk Inserts?

pdj
Member Posts: 643
The announcement of NAV5SP1 mentions Bulk Inserts are introduced, but does anyone know what it means?
I guess it means that all inserts are buffered and inserted bulked in some way, but when? Right before the commit or right before any other transaction to any table or the exact table?
If it doesn't insert until the commit, how about reading of just inserted data in the same transaction. Will reads in the same transaction be able to find the records not yet fully inserted? (and count and modifyall and deleteall etc.)
If it doesn't insert until other transaction in the exact table, how about flowfields in other tables. If I insert a CustLedgEntry (buffered) and then do a calcfields of the balance of the customer. Will the result be different than today/native?
Is this change also covering updates and deletes, or is it only inserts?
I guess it means that all inserts are buffered and inserted bulked in some way, but when? Right before the commit or right before any other transaction to any table or the exact table?
If it doesn't insert until the commit, how about reading of just inserted data in the same transaction. Will reads in the same transaction be able to find the records not yet fully inserted? (and count and modifyall and deleteall etc.)
If it doesn't insert until other transaction in the exact table, how about flowfields in other tables. If I insert a CustLedgEntry (buffered) and then do a calcfields of the balance of the customer. Will the result be different than today/native?
Is this change also covering updates and deletes, or is it only inserts?
Regards
Peter
Peter
0
Comments
-
This is how native behaves right now. When you run a transaction it doesn't appear in the db until the data is committed. In your session you can reference any record that you've inserted. So your code will work the same way.0
-
ara3n wrote:So your code will work the same way.
Are you saying that it will buffer all inserts until the commit, but allow read/modify/delete/count of the not-yet-inserted records from the same session? Wouldn't that increase the hardware requirements for the clients quite a bit...Regards
Peter0 -
The Native client and SQL client have the same hardware requirements.
Sqlclient and native caches the records right now so no change in hardware.0 -
With Navision SQL the default transaction type UpdateNoLocks behaves the same as Browse until a transaction begins. Browse translates to the SQL isolation level of Read Uncommitted. This is why a user will see uncommitted data.
With Native it maps to Snapshot during read operations which does not read uncommitted dataThere are no bugs - only undocumented features.0 -
It will buffer the inserts until commit or:
the inserted data are read/modified...
it means, it will postpone the inserts until latest possible point. If the application find that you need the data, they will be inserted.0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions