summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <jani@ibmlab.site>2006-03-15 14:08:59 +0200
committerunknown <jani@ibmlab.site>2006-03-15 14:08:59 +0200
commiteb5824d64b3bda94c7bbef25f0b56a4eba353767 (patch)
treecd5e0021c10fcf8e94407e9efb1af4e2878feb05
parentadf82864a9d5d433de6e21d8a86766106c2d37f2 (diff)
parentd38785aa6a77afd942aebbff64e234ffbcd7da25 (diff)
downloadmariadb-git-eb5824d64b3bda94c7bbef25f0b56a4eba353767.tar.gz
Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into ibmlab.site:/home/my/bk/mysql-5.1-new
-rw-r--r--mysql-test/r/xml.result4
-rw-r--r--mysql-test/t/xml.test9
-rw-r--r--sql/item_xmlfunc.cc6
-rw-r--r--win/README75
4 files changed, 92 insertions, 2 deletions
diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result
index bb7a158593c..d213ef98885 100644
--- a/mysql-test/r/xml.result
+++ b/mysql-test/r/xml.result
@@ -609,3 +609,7 @@ extractvalue('<a>Jack</a>','/a[contains(../a,"j")]' collate latin1_bin)
select extractvalue('<a>Jack</a>' collate latin1_bin,'/a[contains(../a,"j")]');
extractvalue('<a>Jack</a>' collate latin1_bin,'/a[contains(../a,"j")]')
+select extractValue('<e>1</e>','position()');
+ERROR HY000: XPATH syntax error: ''
+select extractValue('<e>1</e>','last()');
+ERROR HY000: XPATH syntax error: ''
diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test
index 831867937e4..ae1c9cf3b6b 100644
--- a/mysql-test/t/xml.test
+++ b/mysql-test/t/xml.test
@@ -277,3 +277,12 @@ select extractvalue('<a>Jack</a>','/a[contains(../a,"J")]');
select extractvalue('<a>Jack</a>','/a[contains(../a,"j")]');
select extractvalue('<a>Jack</a>','/a[contains(../a,"j")]' collate latin1_bin);
select extractvalue('<a>Jack</a>' collate latin1_bin,'/a[contains(../a,"j")]');
+
+#
+# Bug #18171 XML: ExtractValue: the XPath position()
+# function crashes the server!
+#
+--error 1105
+select extractValue('<e>1</e>','position()');
+--error 1105
+select extractValue('<e>1</e>','last()');
diff --git a/sql/item_xmlfunc.cc b/sql/item_xmlfunc.cc
index 7378be0ac4c..da39c1e4409 100644
--- a/sql/item_xmlfunc.cc
+++ b/sql/item_xmlfunc.cc
@@ -1141,13 +1141,15 @@ static Item *create_func_round(MY_XPATH *xpath, Item **args, uint nargs)
static Item *create_func_last(MY_XPATH *xpath, Item **args, uint nargs)
{
- return new Item_func_xpath_count(xpath->context, xpath->pxml);
+ return xpath->context ?
+ new Item_func_xpath_count(xpath->context, xpath->pxml) : NULL;
}
static Item *create_func_position(MY_XPATH *xpath, Item **args, uint nargs)
{
- return new Item_func_xpath_position(xpath->context, xpath->pxml);
+ return xpath->context ?
+ new Item_func_xpath_position(xpath->context, xpath->pxml) : NULL;
}
diff --git a/win/README b/win/README
new file mode 100644
index 00000000000..c8eed8e93fe
--- /dev/null
+++ b/win/README
@@ -0,0 +1,75 @@
+Windows building readme
+======================================
+
+----------------IMPORTANT----------------------------
+This readme outlines the instructions for building
+MySQL for Windows staring from version 5.1.
+This readme does not apply to MySQL versions 5.0
+or ealier.
+-----------------------------------------------------
+
+The Windows build system uses a tool named CMake to generate build files for
+a variety of project systems. This tool is combined with a set of jscript
+files to enable building of MySQL for Windows directly out of a bk clone.
+The steps required are below.
+
+Step 1
+------
+Download and install CMake. It can be downloaded from http://www.cmake.org.
+Once it is installed, modify your path to make sure you can execute
+the cmake binary.
+
+Step 2
+------
+Download and install bison for Windows. It can be downloaded from
+http://gnuwin32.sourceforge.net/packages/bison.htm. Please download using
+the link named "Complete package, excluding sources". This includes an
+installer that will install bison. After the installer finishes, modify
+your path so that you can execute bison.
+
+Step 3
+------
+Clone your bk tree to any location you like.
+
+Step 4
+------
+From the root of your bk clone, execute the command: win\configure <options>.
+The options right now are WITH_INNODB and WITH_PARTITION. So the command line
+would look like:
+
+win\configure WITH_INNODB WITH_PARTITION
+
+These are the only two flags supported right now. Others will come later.
+
+Step 5
+------
+From the root of your bk clone, execute one of the batch files to generate the type
+of project files you desire.
+
+For Visual Studio 8, do win\build-vs8.
+For Visual Studio 7.1, do win\build-vs71.
+
+We will support building with nmake in the near future.
+
+Step 6
+------
+From the root of your bk clone, start your build.
+
+For Visual Studio, simply execute mysql.sln. This will start the IDE and you can
+click the build solution menu option.
+
+Current issues
+--------------
+1. Dependencies are not handled correctly with the current scripts. What
+this means is that a new error file may not be generated when the errmsg.txt
+file changes. In this case, simply force the GenError target to build. This
+should execute comp_err to generate the required files.
+
+2. Not all configurations are currently available. i.e. Classic, Pro, Max.
+Currently, only debug and release are available. This will change in the near
+future.
+
+3. The definitions set for features (partitioning, blackhole, etc) are not
+changed based on the options given with configure. This will soon be fixed
+as well.
+