1. @@boolean_var differs from SHOW VARIABLES
2. @@str_var ignored variable charset (which is wrong
for path variables that use filesystem charset)
3. @@signed_int_var in the string context was printed
as unsigned
replace flag SHOW_VALUE_IN_HELP (that's not really an
independendent flag, as it should only be used for
NO_CMD_LINE sysvars) with a special getopt.id type.
* ignore the OPTIMIZER_SWITCH_ENGINE_CONDITION_PUSHDOWN bit
* issue a deprecation warning on 'engine_condition_pushdown=on'
* remove unused remains of the old pre-5.5 engine_condition_pushdown variable
Normally, Prepared_statement object rewrites the query on execution
to replace ?-placeholders with values. The rewritten query may be written
to logs (including binlog) or stored in the query cache.
But for compound statements, the whole block is prepared and executed,
while contained statements are logged individually. So it doesn't make
sense to rewrite the original statement block. Instead, we need to rewrite
every contained statement. SP is already doing it to replace SP variables
with values. Let it rewrite PS parameters too in the same loop.
Fix query rewrites in PS code - it was memcpy-ing the same query tail
many times. Instead use the same logic as in SP code, copy query pieces
into the destination buffer.
Extract this logic into a separate class Rewritable_query_parameter
with Item_param and Item_splocal inheriting from it.
Create a helper class Copy_query_with_rewrite that incapsulates
the query rewriting logic, use it in SP and PS.
* split my_var class in three - base my_var and two descencants, move
properties into descendants, remove if(), create a virtual method instead
* factor out the common code in the select_var_ident parser rule
instead of having it 1K everywhere, make it 1K on 32-bit and 2K on 64-bit.
As the latter has larger pointers (and larger sizeof(SHOW_VAR),
it needs a larger buffer to store the same amount of SHOW_VARs
* fix debian patch
* update the copyright
* rename include guards to follow conventions
* restore incorectly deleted test file, add clarification in a comment
* capitalize the first letter of the status variable
Provide Protocol_discard::storeXXX functions for all kinds
of objects that could be stored. Failure to so would caused
crashes in embedded server which attempted to collect the
stored info.
This also reduces the amount of copy operations for non-embedded
case.