Note that the above feature(auto initialize time stamp columns) was introduced in MYSQL 5.6.5[1], so this kind of change to the scripts will not be compatible with older MySQL versions.
[1] http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html#idm139923373307456 On 9 June 2016 at 22:50, Uvindra Dias Jayasinha <uvin...@wso2.com> wrote: > Lets just try DEFAULT CURRENT_TIMESTAMP for all TIMESTAMP fields. > > Avoid using ON UPDATE CURRENT_TIMESTAMP, our code already explicitly > updates time stamp fields where required so we do not want MySQL to do this > for us. > > On 9 June 2016 at 22:43, Sewmini Jayaweera <sewm...@wso2.com> wrote: > >> [Adding Uvindra and Maduranga] >> >> Sewmini Jayaweera >> *Software Engineer - QA Team* >> Mobile: +94 (0) 773 381 250 >> sewm...@wso2.com >> >> On Thu, Jun 9, 2016 at 12:16 PM, Sewmini Jayaweera <sewm...@wso2.com> >> wrote: >> >>> Hi All, >>> >>> I get "ERROR 1067 (42000): Invalid default value for >>> 'REG_LAST_UPDATED_TIME' error when sourcing >>> '<wso2is-5.1.0>/dbscripts/mysql.sql, even after removing 'DEFAULT 0' >>> Please find further information below. >>> >>> *1. Issue description* >>> >>> CREATE TABLE IF NOT EXISTS REG_RESOURCE( >>> REG_PATH_ID INTEGER NOT NULL, >>> REG_NAME VARCHAR(256), >>> REG_VERSION INTEGER NOT NULL AUTO_INCREMENT, >>> REG_MEDIA_TYPE VARCHAR(500), >>> REG_CREATOR VARCHAR(31) NOT NULL, >>> REG_CREATED_TIME TIMESTAMP NOT NULL, >>> REG_LAST_UPDATOR VARCHAR(31), >>> REG_LAST_UPDATED_TIME TIMESTAMP NOT NULL, >>> REG_DESCRIPTION VARCHAR(1000), >>> REG_CONTENT_ID INTEGER, >>> REG_TENANT_ID INTEGER DEFAULT 0, >>> REG_UUID VARCHAR(100) NOT NULL, >>> CONSTRAINT PK_REG_RESOURCE PRIMARY KEY(REG_VERSION, >>> REG_TENANT_ID) >>> )ENGINE INNODB; >>> >>> When creating above table "ERROR 1067 (42000): Invalid default value for >>> 'REG_LAST_UPDATED_TIME' error occurred and table didn't get created. Please >>> note that this error shows *only when there are two timestamp columns* >>> (REG_CREATED_TIME >>> and REG_LAST_UPDATED_TIME) in the table. >>> >>> *2. What happens when there are two time stamp columns?* >>> >>> According to [1] when we have two timestamp columns not declared an >>> explicit 'DEFAULT' or 'ON UPDATE' clause, first column is automatically >>> assigned the DEFAULT CURRENT_TIMESTAMP and ON UPDATE CURRENT_TIMESTAMP >>> attributes, while the second one is assigned the '0000-00-00 00:00:00' (the >>> “zero” timestamp). >>> >>> *3. Why are we getting the Error explained In issue description?* >>> >>> When 'strict SQL mode' and ' NO_ZERO_DATE' mode is enabled in MySQL >>> server the “zero” timestamp is not allowed and it gives an error [2]. In >>> MySQL 5.7 by default 'NO_ZERO_DATE' mode is enabled. >>> >>> *4.Question* >>> >>> As a fix I found below >>> 1. Setting MySQL mode to 'ALLOW_INVALID_DATES' [3]. >>> EX: SET SQL_MODE='ALLOW_INVALID_DATES'; >>> >>> *Is it okay to use this or is there a much more appropriate way of doing >>> that? * >>> >>> [1]. >>> http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp >>> [2]. >>> http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date >>> [3]. >>> http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_allow_invalid_dates >>> >>> >>> Thank You, >>> Best Regards, >>> Sewmini. >>> >>> >>> >>> Sewmini Jayaweera >>> *Software Engineer - QA Team* >>> Mobile: +94 (0) 773 381 250 >>> sewm...@wso2.com >>> >>> On Wed, May 25, 2016 at 12:13 PM, Kishanthan Thangarajah < >>> kishant...@wso2.com> wrote: >>> >>>> We can verify and fix this for 4.4.6. >>>> >>>> On Tue, May 24, 2016 at 3:17 PM, Nuwan Dias <nuw...@wso2.com> wrote: >>>> >>>>> This issue is still open. >>>>> >>>>> If we don't fix this before kernel 4.4.6, none of our new products are >>>>> going to be compatible with MySQL 5.7. Which would be a major limitation >>>>> in >>>>> the platform. >>>>> >>>>> Thanks, >>>>> NuwanD. >>>>> >>>>> On Tue, May 10, 2016 at 4:15 PM, Chandana Napagoda <chand...@wso2.com> >>>>> wrote: >>>>> >>>>>> Hi Janaka, >>>>>> >>>>>> Please note that, this fix will be available in the next kernel >>>>>> release. >>>>>> >>>>>> Regards, >>>>>> Chandana >>>>>> On May 10, 2016 3:14 PM, "Thilini Cooray" <thili...@wso2.com> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> A public JIRA is raised in [1]. >>>>>>> >>>>>>> [1] https://wso2.org/jira/browse/REGISTRY-3610 >>>>>>> >>>>>>> Thanks. >>>>>>> >>>>>>> On Tue, May 10, 2016 at 12:11 PM, Janaka Ranabahu <jan...@wso2.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi Thushara >>>>>>>> >>>>>>>> On Tue, May 10, 2016 at 12:06 PM, Thushara Ranawaka < >>>>>>>> thusha...@wso2.com> wrote: >>>>>>>> >>>>>>>>> Hi Thilini, >>>>>>>>> >>>>>>>>> AFAIU you workaround need to be updated with the current >>>>>>>>> timestamp[1][2]. Setting default value to zero is not nice. You might >>>>>>>>> have >>>>>>>>> to figure out the correct syntax for other DB types and test against >>>>>>>>> them. >>>>>>>>> >>>>>>>> What Thilini is pointing is an issue in the Registry database >>>>>>>> creation script. Hence we will create a public JIRA and assign it to >>>>>>>> you >>>>>>>> guys. Please fix them. >>>>>>>> >>>>>>>> We can not modify the Registry database creation script since API >>>>>>>> Manager would not capture the complete scenarios of G-Reg. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Janaka >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> [1] - DEFAULT CURRENT_TIMESTAMP >>>>>>>>> [2] - >>>>>>>>> http://stackoverflow.com/questions/168736/how-do-you-set-a-default-value-for-a-mysql-datetime-column >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Thushara. >>>>>>>>> >>>>>>>>> On Tue, May 10, 2016 at 11:52 AM, Thilini Cooray < >>>>>>>>> thili...@wso2.com> wrote: >>>>>>>>> >>>>>>>>>> Hi GReg team, >>>>>>>>>> >>>>>>>>>> We encounter following issue [1] while testing API Manager with >>>>>>>>>> MySQL 5.7 >>>>>>>>>> MySQL 5.7 has enabled NO_ZERO_IN_DATE, NO_ZERO_DATE policies by >>>>>>>>>> default. Therefore it does not allow 0 as a valid default value for >>>>>>>>>> date/time. >>>>>>>>>> >>>>>>>>>> As a workaround we can set MySQL server to accept 0 changing the >>>>>>>>>> default server settings if the database owner agrees on it. >>>>>>>>>> [2] contains the related table creation script. >>>>>>>>>> >>>>>>>>>> Appreciate your feedback on a fix for this. >>>>>>>>>> >>>>>>>>>> [1] https://wso2.org/jira/browse/APIMANAGER-4645 >>>>>>>>>> >>>>>>>>>> [2] CREATE TABLE IF NOT EXISTS REG_RESOURCE ( >>>>>>>>>> REG_PATH_ID INTEGER NOT NULL, >>>>>>>>>> REG_NAME VARCHAR(256), >>>>>>>>>> REG_VERSION INTEGER NOT NULL AUTO_INCREMENT, >>>>>>>>>> REG_MEDIA_TYPE VARCHAR(500), >>>>>>>>>> REG_CREATOR VARCHAR(31) NOT NULL, >>>>>>>>>> REG_CREATED_TIME TIMESTAMP NOT NULL *DEFAULT 0*, >>>>>>>>>> REG_LAST_UPDATOR VARCHAR(31), >>>>>>>>>> REG_LAST_UPDATED_TIME TIMESTAMP NOT NULL *DEFAULT >>>>>>>>>> 0*, >>>>>>>>>> REG_DESCRIPTION VARCHAR(1000), >>>>>>>>>> REG_CONTENT_ID INTEGER, >>>>>>>>>> REG_TENANT_ID INTEGER DEFAULT 0, >>>>>>>>>> REG_UUID VARCHAR(100) NOT NULL, >>>>>>>>>> CONSTRAINT PK_REG_RESOURCE PRIMARY KEY(REG_VERSION, >>>>>>>>>> REG_TENANT_ID) >>>>>>>>>> )ENGINE INNODB; >>>>>>>>>> >>>>>>>>>> Thanks. >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Best Regards, >>>>>>>>>> >>>>>>>>>> *Thilini Cooray* >>>>>>>>>> Software Engineer >>>>>>>>>> Mobile : +94 (0) 774 570 112 <%2B94%20%280%29%20773%20451194> >>>>>>>>>> E-mail : thili...@wso2.com >>>>>>>>>> >>>>>>>>>> WSO2 Inc. www.wso2.com >>>>>>>>>> lean.enterprise.middleware >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Dev mailing list >>>>>>>>>> Dev@wso2.org >>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Thanks, >>>>>>>>> Thushara Kasun Ranawaka >>>>>>>>> Software Engineer >>>>>>>>> WSO2 Inc.; <http://www.wso2.com> >>>>>>>>> lean.enterprise.middleware >>>>>>>>> Mobile : *+94 (0) 773438949 <%2B94%20%280%29%20773438949>* >>>>>>>>> *thusha...@wso2.com <thusha...@wso2.com>* >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Janaka Ranabahu* >>>>>>>> Associate Technical Lead, WSO2 Inc. >>>>>>>> http://wso2.com >>>>>>>> >>>>>>>> >>>>>>>> *E-mail: jan...@wso2.com <http://wso2.com>**M: **+94 718370861 >>>>>>>> <%2B94%20718370861>* >>>>>>>> >>>>>>>> Lean . Enterprise . Middleware >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Best Regards, >>>>>>> >>>>>>> *Thilini Cooray* >>>>>>> Software Engineer >>>>>>> Mobile : +94 (0) 774 570 112 <%2B94%20%280%29%20773%20451194> >>>>>>> E-mail : thili...@wso2.com >>>>>>> >>>>>>> WSO2 Inc. www.wso2.com >>>>>>> lean.enterprise.middleware >>>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Nuwan Dias >>>>> >>>>> Technical Lead - WSO2, Inc. http://wso2.com >>>>> email : nuw...@wso2.com >>>>> Phone : +94 777 775 729 >>>>> >>>> >>>> >>>> >>>> -- >>>> *Kishanthan Thangarajah* >>>> Associate Technical Lead, >>>> Platform Technologies Team, >>>> WSO2, Inc. >>>> lean.enterprise.middleware >>>> >>>> Mobile - +94773426635 >>>> Blog - *http://kishanthan.wordpress.com >>>> <http://kishanthan.wordpress.com>* >>>> Twitter - *http://twitter.com/kishanthan >>>> <http://twitter.com/kishanthan>* >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> Dev@wso2.org >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >> > > > -- > Regards, > Uvindra > > Mobile: 777733962 > -- Regards, Uvindra Mobile: 777733962
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev