Thanks for the explanation. I understood why you implemented the checking 409. It's not bad idea.

But this post() method can be used for calling other API in the future. And it might be possible that we need to handle 409 in another way not just ignore it. So if we check HTTP_CONFLICT, we might as well move the checking to createDatabase() and createTable(). Or just remove the checking HTTP_CONFLICT...