On Wed, Jun 11, 2008 at 09:55:59PM +0300, Vasil Dimov wrote:
[skip]
> Hi,
>
> What if the engine wants only INT fields to get FOO='bar', because
> FOO does not make sense for VARCHAR fields (for example)?
>
> What will happen if the engine specifies A1= and A2= as possible
> table options but the user only creates the table with A1='x'? Will A2
> be passed to the engine with the default value? If yes, then how would
> the engine understand whether the user has specied
> A2='the default value' or has not specied A2= at all?
If the parameter is legal then it does not matter was that default value
assigned by user or as default, but I with connection to your previous
question about parameters valid only to specific type (Also it can be
check of allowed combination of parameters) it has sense to
pass information to engine about:
1. Was that value assigned by user or just assigned as default
2. Source of data (Parser during altering/read from FRM during altering
or sent for replication/read from FRM for opening), or even better just
how to react on wrong parameters (Errors/Warnings/Ignore)
MySQL server can suppress all errors/warnings or convert errors to
warnings sent via its mechanisms if it is required, but IMHO engine
should be informed how much it can "protest" against wrong parameter.
--
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Oleksandr Byelkin <sanja@stripped>
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Full-Time Developer
/_/ /_/\_, /___/\___\_\___/ Lugansk, Ukraine
<___/ www.mysql.com