[
https://issues.apache.org/jira/browse/HIVE-8691?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Shelukhin updated HIVE-8691:
-----------------------------------
Description:
Lazy creation doesn't make sure all tables are present.
Writing defensive upgrade scripts will make them extremely ugly (we cannot just
not do changes if tables do not exist; we'd have to create the stupid table and
then do the changes)
I guess we can accept it for earlier versions... for upgrading from 14 (15?)
onwards, perhaps we can have a flag that would indicate the script has been run
(as opposed to autoCreate). If not, we'd run database creation script for the
original version. All these would need to be made idempotent in a sense that
they should pass when the database was already created. It looks like e.g.
mysql scripts already are (at least for create table statements) but mssql are
not.
was:
Lazy creation doesn't make sure all tables are present.
Writing defensive upgrade scripts will make them extremely ugly.
I guess we can accept it for earlier versions... for upgrading from 14 (15?)
onwards, perhaps we can have a flag that would indicate the script has been run
(as opposed to autoCreate). If not, we'd run database creation script for the
original version. All these would need to be made idempotent in a sense that
they should pass when the database was already created. It looks like e.g.
mysql scripts already are (at least for create table statements) but mssql are
not.
> Hive sometimes cannot be upgraded using SchemaTool if original database was
> autocreate-created
> ----------------------------------------------------------------------------------------------
>
> Key: HIVE-8691
> URL: https://issues.apache.org/jira/browse/HIVE-8691
> Project: Hive
> Issue Type: Bug
> Reporter: Sergey Shelukhin
>
> Lazy creation doesn't make sure all tables are present.
> Writing defensive upgrade scripts will make them extremely ugly (we cannot
> just not do changes if tables do not exist; we'd have to create the stupid
> table and then do the changes)
> I guess we can accept it for earlier versions... for upgrading from 14 (15?)
> onwards, perhaps we can have a flag that would indicate the script has been
> run (as opposed to autoCreate). If not, we'd run database creation script for
> the original version. All these would need to be made idempotent in a sense
> that they should pass when the database was already created. It looks like
> e.g. mysql scripts already are (at least for create table statements) but
> mssql are not.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)