tony said:
Hello,
Thanks for the first, I think that we should not allow a row with id = empty string.
Decision of what is allowed in application data should not be made at a library level, it should be made in application level, based on application logic and data, which is unknown for the library. Most application will not produce non-english characters as a key, thats fine, but for those that do, they need to decide themselves, based on application logic, what is allowed. Library should handle any keys, with the only valid restriction for the library level – demand that the keys are unique in a table.
For example for my application empty string is a valid key in some tables, and whether such row exists – depends on the data, received from external sources. It is not a user input.