I've been trying to fix the bug #3441722 http://sourceforge.net/tracker/?func=detail&aid=3441722&group_id=23067&atid=377411 and I have few questions. I've stored descriptions in /libraries/data_mysql.inc.php:
$cfg['ColumnTypesDescription'] = !empty($cfg['ColumnTypesDescription']) ? $cfg['ColumnTypesDescription'] : array( 'TINYINT' => 'A very small integer. The signed range is -128 to 127. The unsigned range is 0 to 255.', 'SMALLINT' => 'A small integer. The signed range is -32768 to 32767. The unsigned range is 0 to 65535.', 'MEDIUMINT' => 'A medium-sized integer. The signed range is -8388608 to 8388607. The unsigned range is 0 to 16777215.', 'INT' => 'A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295.', 'BIGINT' => 'A large integer. The signed range is -9223372036854775808 to 9223372036854775807. The unsigned range is 0 to 18446744073709551615.', 'DECIMAL' => 'A packed "exact" fixed-point number. M is the total number of digits (the precision) and D is the number of digits after the decimal point (the scale). The decimal point and (for negative numbers) the "-" sign are not counted in M. If D is 0, values have no decimal point or fractional part. The maximum number of digits (M) for DECIMAL is 65. The maximum number of supported decimals (D) is 30. If D is omitted, the default is 0. If M is omitted, the default is 10.', 'FLOAT' => 'A small (single-precision) floating-point number. Permissible values are -3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to 3.402823466E+38. These are the theoretical limits, based on the IEEE standard. The actual range might be slightly smaller depending on your hardware or operating system.', // ....
I don't think these description should be there, but I don't know the "right" place. Maybe we should create a database table or a file to store these information. I've implemented some code to fix this bug and it's working, maybe I should do a pull request.
I am pretty new to PhpMyAdmin's codebase.
Thank you very much and sorry about my english.
On 19/04/12 16:46, Willian Gustavo Veiga wrote:
I've been trying to fix the bug #3441722 http://sourceforge.net/tracker/?func=detail&aid=3441722&group_id=23067&atid=377411 and I have few questions. I've stored descriptions in /libraries/data_mysql.inc.php:
$cfg['ColumnTypesDescription'] = !empty($cfg['ColumnTypesDescription']) ? $cfg['ColumnTypesDescription'] : array( 'TINYINT' => 'A very small integer. The signed range is -128 to 127. The unsigned range is 0 to 255.', 'SMALLINT' => 'A small integer. The signed range is -32768 to 32767. The unsigned range is 0 to 65535.', 'MEDIUMINT' => 'A medium-sized integer. The signed range is -8388608 to 8388607. The unsigned range is 0 to 16777215.', 'INT' => 'A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295.', 'BIGINT' => 'A large integer. The signed range is -9223372036854775808 to 9223372036854775807. The unsigned range is 0 to 18446744073709551615.', 'DECIMAL' => 'A packed "exact" fixed-point number. M is the total number of digits (the precision) and D is the number of digits after the decimal point (the scale). The decimal point and (for negative numbers) the "-" sign are not counted in M. If D is 0, values have no decimal point or fractional part. The maximum number of digits (M) for DECIMAL is 65. The maximum number of supported decimals (D) is 30. If D is omitted, the default is 0. If M is omitted, the default is 10.', 'FLOAT' => 'A small (single-precision) floating-point number. Permissible values are -3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to 3.402823466E+38. These are the theoretical limits, based on the IEEE standard. The actual range might be slightly smaller depending on your hardware or operating system.', // ....
I don't think these description should be there, but I don't know the "right" place. Maybe we should create a database table or a file to store these information. I've implemented some code to fix this bug and it's working, maybe I should do a pull request.
I am pretty new to PhpMyAdmin's codebase.
Thank you very much and sorry about my english.
libraries/data_mysql.inc.php looks fine to me, although I'm not sure if the descriptions belong in the configuration array. Also, if you're preparing a pull request, you might want to add the type descriptions for Drizzle as well.
Bye, Rouslan