I just ran into the following scenario with Phoenix 4.8.1 and HBase 1.2.3.
1. Create a transactional table: CREATE TABLE schemas(version varchar
not null primary key) TRANSACTIONAL=true
2. Confirm it exists/is created: SELECT * FROM schemas
3. Begin transaction.
4. Insert into schemas: UPSERT INTO schemas (version) VALUES
('some-release')
5. Also create a table: CREATE TABLE test_table (id integer not null
primary key)
6. Commit the transaction.
Once the transaction has been committed, I can see that test_table is
created. However, the schemas table is missing the 'some-release' entry.
Which statements do not support transactions? In MySQL, things like
CREATE TABLE, etc are non-transactional and would implicitly commit.
What is the case with Phoenix? It seems a bit odd that the table is
created, but the UPSERT has not effect, event after committing the
transaction.
Cheers,
Francis