Details
Description
Apache Ignite is trying to unite the two worlds SQL and KV together, making the user experience of both worlds as natural as possible. Because of this, the key is considered mandatory.
Nevertheless, the SQL standard allows tables without PK specified, and some customers potentially could have such tables in the production. Besides, there are external tests (like TCP-H for instance), which don't bother themselves by defining PK which they won't use anyway.
To make it easier to migrate from tables without a key, let's provide a workaround where we could define a PK whose value will be automatically generated by some function.
To make it easier to adopt external tests, we need to provide ability to inject the key without changing the source scripts.