Hi, Oleg! On Aug 18, Oleg Tsarev wrote: > > Hello, > > I don't understand how right work with decimal type. > As you talk, i change column types from CHAR(...) to DECIMAL in my patch: > http://www.percona.com/docs/wiki/patches:response_time_distribution > > Now i have trouble with decimal precision/scale. > > Here is my definition of system table INFORMATION_SCHEMA.QUERY_RESPONSE_TIME: > > ST_FIELD_INFO query_response_time_fields_info[] = > { > {"TIME", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, > MY_I_S_UNSIGNED, "time", SKIP_OPEN_TABLE }, > {"COUNT", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, 0, > MY_I_S_UNSIGNED, "count", SKIP_OPEN_TABLE }, > {"TOTAL", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, > MY_I_S_UNSIGNED, "total", SKIP_OPEN_TABLE }, > {0, 0, MYSQL_TYPE_STRING, 0, 0, 0, > SKIP_OPEN_TABLE } > }; > > So, i want use DECIMAL(20,6) for columns time and total, and > DECIMAL(14,0) for columns count. > > 1) Does above definiton correct, or should include some information > about precision/scale?
It is not correct. If you want to use DECIMAL you need to write MYSQL_TYPE_DECIMAL, not MYSQL_TYPE_LONG or MYSQL_TYPE_LONGLONG. See sql_show.cc or sql_profile.cc for other information_schema tables with DECIMAL columns. Regards, Sergei _______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : maria-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp