Opening a cursor for bulk load can fail for a pair of similar reasons:
- The table isn't newly created
- The table is already open (i.e., we can't get exclusive access to the dhandle)
In the first case, WT fails with EINVAL and returns an error message — see __wt_btree_open():
In second case WT only returns EINVAL, except on LSM which provides a similar error message.
We should be consistent across all file formats. Since it would be better to provide an explanation to the application, we should change row stores, tiered tables, etc. to follow the example of LSM.
This will require updating test_bulk01.py to expect the error message.