The code that set up data to be passed to user-defined functions was very
old and analyzed the "Type" of the data that was passed into the UDF, when
it really should analyze the "return_type", which is hard-coded for simple
Items and works correctly for complex ones like functions.
---
Added test at Sergei's behest.
mysql-test/r/udf.result:
Verify that various arguments work.
---
Added test at Sergei's behest.
mysql-test/t/udf.test:
Verify that various arguments work.
---
Added test at Sergei's behest.
sql/item_func.cc:
For function-Items, test whether it is constant and set the struct members
for the UDF parameter appropriately.
Replace tabs with spaces in affected code.
sql/udf_example.c:
Include a simple function that is useful in testing.
mysql-test/mysql-test-run.pl:
fixed path for udf_example.so when running testsuite on Windows
sql/CMakeLists.txt:
Added missing udf_example
sql/Makefile.am:
Added udf_example files for make dist
sql/udf_example.c:
fix for Windows: Windows doesn't have socket.h and friends
Added replacements for strmov,bzero and memcpy_fixed when compiling standalone.
sql/udf_example.def:
BitKeeper file /home/georg/work/mysql/prod/mysql-5.0-win/sql/udf_example.def
Converted "udf_example.cc" to C, avoids C++ runtime lib dependency (bug#21336)
sql/Makefile.am:
"udf_example.cc" converted to C, avoids C++ runtime lib dependency (bug#21336)
mysql-test/t/udf.test:
"udf_example.cc" converted to C, avoids C++ runtime lib dependency (bug#21336)
sql/udf_example.c:
Changes to be strict ansi, except long long