summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-09-06 01:39:14 -0700
committerroot <root@rshg054.dnsready.net>2013-09-06 01:39:14 -0700
commit670cfaf55e53f7380ca8ee7b4acb2bf0248685c4 (patch)
tree93a452c84aa492d51f56911d74a8fcbbd496b550
parentf7a2cf07dfae6a6707525e05f4f7f1998b382c4d (diff)
Fri Sep 6 01:39:05 PDT 2013
-rw-r--r--community/0ad/PKGBUILD15
-rw-r--r--community/audit/PKGBUILD22
-rw-r--r--community/audit/python2.patch11
-rw-r--r--community/choqok/PKGBUILD21
-rw-r--r--community/goldendict/PKGBUILD18
-rw-r--r--community/goldendict/fix-wikipedia-images.patch26
-rw-r--r--community/ibam/03acpi-check.dpatch28
-rw-r--r--community/ibam/PKGBUILD16
-rw-r--r--community/keepalived/PKGBUILD8
-rw-r--r--community/libaccounts-qt/PKGBUILD6
-rw-r--r--community/linux-tools/PKGBUILD21
-rw-r--r--community/nginx/PKGBUILD136
-rw-r--r--community/nginx/install21
-rw-r--r--community/nginx/logrotate2
-rw-r--r--community/nginx/nginx.install15
-rw-r--r--community/percona-server/0001-MDEV-4902-sql_yacc.yy-incompatible-with-bison-3.patch3539
-rw-r--r--community/percona-server/PKGBUILD13
-rw-r--r--community/prelink/PKGBUILD26
-rw-r--r--community/prelink/arch-x86_64-dynamic_linker.patch12
-rw-r--r--community/prelink/prelink.conf18
-rw-r--r--community/python-numexpr/PKGBUILD8
-rw-r--r--community/python-scikit-learn/LICENSE24
-rw-r--r--community/python-scikit-learn/PKGBUILD54
-rw-r--r--community/xmonad/PKGBUILD8
-rw-r--r--community/xmonad/xmonad-gnome-session.session6
-rw-r--r--community/xmonad/xmonad.install3
-rw-r--r--extra/libmodplug/PKGBUILD25
-rw-r--r--extra/libmodplug/libmodplug-CVE-2013-4233-Fix.patch42
-rw-r--r--extra/libmodplug/libmodplug-CVE-2013-4234-Fix.patch95
-rw-r--r--extra/vim/PKGBUILD6
-rw-r--r--libre/linux-libre-tools/PKGBUILD14
-rw-r--r--nonprism/choqok-nonprism/PKGBUILD25
-rw-r--r--pcr/chiliproject/PKGBUILD41
-rw-r--r--pcr/chiliproject/chiliproject.install17
-rw-r--r--pcr/ruby1/PKGBUILD4
-rw-r--r--pcr/ruby1/ruby.install4
-rw-r--r--pcr/youtube-dl-current/PKGBUILD5
37 files changed, 4034 insertions, 321 deletions
diff --git a/community/0ad/PKGBUILD b/community/0ad/PKGBUILD
index fa23ed236..6325cb3f7 100644
--- a/community/0ad/PKGBUILD
+++ b/community/0ad/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 94012 2013-07-13 12:30:26Z svenstaro $
+# $Id: PKGBUILD 96786 2013-09-05 07:34:19Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: t3ddy <t3ddy1988 "at" gmail {dot} com>
# Contributor: Adrián Chaves Fernández (Gallaecio) <adriyetichaves@gmail.com>
pkgname=0ad
-pkgver=a13
-_pkgver=0.0.13-alpha
-pkgrel=5
+pkgver=a14
+_pkgver=0.0.14-alpha
+pkgrel=1
pkgdesc="Cross-platform, 3D and historically-based real-time strategy game"
arch=('i686' 'x86_64')
url="http://play0ad.com/"
@@ -13,15 +13,12 @@ license=('GPL2' 'CCPL')
depends=('binutils' 'boost-libs' 'curl' 'enet>=1.3' 'libogg' 'libpng' 'libvorbis' 'libxml2' 'openal' 'sdl' 'wxgtk' 'zlib' 'libgl' '0ad-data' 'glu')
makedepends=('boost' 'cmake' 'mesa' 'zip' 'python2')
source=("http://releases.wildfiregames.com/$pkgname-$_pkgver-unix-build.tar.xz")
-md5sums=('3075c982c4af41a3586b6b6ef637d2c4')
+md5sums=('5bbaffa02b6e9082cbd5142d43f9b700')
build() {
cd "$srcdir/$pkgname-$_pkgver/build/workspaces"
- sed -i 's/unix_names = { "boost_filesystem-mt", "boost_system-mt" },/unix_names = { "boost_filesystem", "boost_system" },/g' "${srcdir}/${pkgname}-${_pkgver}/build/premake/extern_libs4.lua"
- sed -i 's/unix_names = { "boost_signals-mt" },/unix_names = { "boost_signals" },/g' "${srcdir}/${pkgname}-${_pkgver}/build/premake/extern_libs4.lua"
-
- unset CPPFLAGS
+ unset CPPFLAGS # for le spidermonkey
./update-workspaces.sh \
--with-system-enet \
diff --git a/community/audit/PKGBUILD b/community/audit/PKGBUILD
index 33e2a59ce..bae50be89 100644
--- a/community/audit/PKGBUILD
+++ b/community/audit/PKGBUILD
@@ -1,13 +1,13 @@
-# $Id: PKGBUILD 94856 2013-07-31 10:33:01Z mtorromeo $
+# $Id: PKGBUILD 96792 2013-09-05 09:31:14Z mtorromeo $
# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
# Contributor: Connor Behan <connor.behan@gmail.com>
# Contributor: henning mueller <henning@orgizm.net>
pkgname=audit
-pkgver=2.2.3
-pkgrel=4
+pkgver=2.3.2
+pkgrel=1
pkgdesc='User space utilities for storing and searching the audit records generated by the audit subsystem in the Linux kernel.'
-url=http://people.redhat.com/sgrubb/$pkgname
+url="http://people.redhat.com/sgrubb/$pkgname"
arch=(i686 x86_64)
depends=(krb5 libcap-ng)
makedepends=(libldap swig linux-headers python2)
@@ -15,7 +15,7 @@ license=(GPL)
options=(!libtool emptydirs)
backup=(
etc/libaudit.conf
- etc/audit/audit.rules
+ etc/audit/rules.d/audit.rules
etc/audit/auditd.conf
etc/audisp/audispd.conf
etc/audisp/audisp-remote.conf
@@ -25,14 +25,11 @@ backup=(
etc/audisp/plugins.d/au-remote.conf
etc/audisp/plugins.d/syslog.conf
)
-source=(
- $url/$pkgname-$pkgver.tar.gz
- python2.patch
-)
+source=("$url/$pkgname-$pkgver.tar.gz")
build() {
cd "$srcdir/$pkgname-$pkgver"
- patch -p0 -i "$srcdir/python2.patch"
+ export PYTHON=/usr/bin/python2
./configure \
--prefix=/usr \
--sbindir=/usr/bin \
@@ -51,7 +48,7 @@ package() {
cd "$pkgdir"
install -d var/log/audit
- rm -rf etc/rc.d etc/sysconfig
+ rm -rf etc/rc.d etc/sysconfig usr/lib/audit
sed -ri 's|/sbin|/usr/bin|' \
etc/audit/*.conf \
@@ -61,5 +58,4 @@ package() {
chmod 644 usr/lib/systemd/system/auditd.service
}
-sha256sums=('2fc8f97020121593f516dc011ef61f39043c4cea9b2cb9ab3849bf9e41dedf02'
- '6adadb405bebe99bb6a50e80e7c1a356996626e135d566283448fe4019fff3a4')
+sha256sums=('8872e0b5392888789061db8034164305ef0e1b34543e1e7004d275f039081d29')
diff --git a/community/audit/python2.patch b/community/audit/python2.patch
deleted file mode 100644
index 87286fc5b..000000000
--- a/community/audit/python2.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.orig 2013-01-16 09:19:32.475800853 +0100
-+++ configure 2013-01-16 09:20:45.764146581 +0100
-@@ -13076,7 +13076,7 @@
-
- # Find any Python interpreter.
- if test -z "$PYTHON"; then
-- for ac_prog in python python2 python3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0
-+ for ac_prog in python2
- do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
diff --git a/community/choqok/PKGBUILD b/community/choqok/PKGBUILD
index d12e6e7d1..5eacdc12e 100644
--- a/community/choqok/PKGBUILD
+++ b/community/choqok/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 80665 2012-11-28 22:07:33Z plewis $
+# $Id: PKGBUILD 96780 2013-09-04 22:10:06Z andrea $
# Maintainer: Peter Richard Lewis <plewis@aur.archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Emanuele Rossi <newdna1510@yahoo.it>
# Contributor: Bram Schoenmakers <me@bramschoenmakers.nl>
pkgname=choqok
-pkgver=1.3
-pkgrel=4
+pkgver=1.4
+pkgrel=1
pkgdesc="A Twitter/identi.ca/laconica client for KDE"
url='http://choqok.gnufolks.org/'
license=('GPL')
@@ -15,12 +15,14 @@ depends=('kdebase-runtime' 'qjson' 'qoauth' 'qca-ossl')
makedepends=('cmake' 'automoc4')
optdepends=('kdebase-konqueror: proxy support')
install="${pkgname}.install"
-source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('87eea4f2c23467fb021e3e6b794eb37d')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.xz")
+md5sums=('2efe34ed903b448a21d9233d8033dbdb')
-build() {
- cd "${srcdir}"
+prepare() {
mkdir build
+}
+
+build() {
cd build
cmake ../${pkgname}-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
@@ -29,9 +31,6 @@ build() {
}
package() {
- cd "${srcdir}"/build
+ cd build
make DESTDIR="${pkgdir}" install
-
- # This is already installed by kdepimlibs >= 4.9.80
- rm "${pkgdir}"/usr/share/apps/cmake/modules/FindQtOAuth.cmake
}
diff --git a/community/goldendict/PKGBUILD b/community/goldendict/PKGBUILD
index cdf2a4650..d9b7bbd5b 100644
--- a/community/goldendict/PKGBUILD
+++ b/community/goldendict/PKGBUILD
@@ -1,30 +1,36 @@
-# $Id: PKGBUILD 85453 2013-03-01 19:08:27Z andrea $
+# $Id: PKGBUILD 96817 2013-09-05 20:34:32Z bgyorgy $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: m0rph <m0rph.mailbox@gmail.com>
pkgname=goldendict
pkgver=1.0.1
-pkgrel=6
+pkgrel=7
pkgdesc="Feature-rich dictionary lookup program"
arch=('i686' 'x86_64')
url="http://goldendict.berlios.de/"
license=('GPL3')
depends=('hunspell' 'libvorbis' 'libxtst' 'libzip' 'qtwebkit' 'phonon')
-makedepends=('patch')
provides=('stardict')
changelog=$pkgname.changelog
source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-src.tar.bz2
$pkgname-paths.diff
- gcc47.patch)
+ gcc47.patch
+ fix-wikipedia-images.patch)
sha256sums=('b3fb0405a5edb38f02ef881b48c36e46e2eacf641b0caf8d99403f595a4be9a6'
'1dacae7b7a7d7c20a22b4595c07dbd65fdad134a0d4cf283312ea3bdb5f42589'
- '2e13857d047186e781c3bd9de3cfdf794f4d44e8e28f9d18dda8df50cfe13c6e')
+ '2e13857d047186e781c3bd9de3cfdf794f4d44e8e28f9d18dda8df50cfe13c6e'
+ 'ab669d96db0cb750d4c865b123474d655b6caca9242457c044a60f1fee5b7dc7')
-build(){
+prepare(){
cd ${srcdir}
patch -Np0 -i ${srcdir}/$pkgname-paths.diff
patch -p1 -i ${srcdir}/gcc47.patch
+ patch -Np1 -i ${srcdir}/fix-wikipedia-images.patch
+}
+
+build(){
+ cd ${srcdir}
qmake-qt4
make
diff --git a/community/goldendict/fix-wikipedia-images.patch b/community/goldendict/fix-wikipedia-images.patch
new file mode 100644
index 000000000..ea28bcd91
--- /dev/null
+++ b/community/goldendict/fix-wikipedia-images.patch
@@ -0,0 +1,26 @@
+From 8c056589e989781c6ed5aac7491c802414489ae9 Mon Sep 17 00:00:00 2001
+From: Abs62 <ottomann@yandex.ru>
+Date: Sat, 22 Oct 2011 15:52:52 +0400
+Subject: [PATCH] Fix Wikipedia images loading
+
+---
+ mediawiki.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/mediawiki.cc b/mediawiki.cc
+index e67fdb3..9fff3dc 100644
+--- a/mediawiki.cc
++++ b/mediawiki.cc
+@@ -293,6 +293,9 @@ void MediaWikiArticleRequest::requestFinished( QNetworkReply * r )
+ // Replace the href="/foo/bar/Baz" to just href="Baz".
+ articleString.replace( QRegExp( "<a\\shref=\"/([\\w\\.]*/)*" ), "<a href=\"" );
+
++ // Add "http:" to image source urls
++ articleString.replace( " src=\"//", " src=\"http://" );
++
+ // In those strings, change any underscores to spaces
+ for( ; ; )
+ {
+--
+1.8.4
+
diff --git a/community/ibam/03acpi-check.dpatch b/community/ibam/03acpi-check.dpatch
new file mode 100644
index 000000000..7a688fe20
--- /dev/null
+++ b/community/ibam/03acpi-check.dpatch
@@ -0,0 +1,28 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 03acpi-check.dpatch by Martin Wuertele <maxx@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: change detection for sysfs and sysfs variable names for 2.6.30+ kernels
+
+@DPATCH@
+--- ibam-0.5.2/ibam.inl.orig 2010-01-03 12:17:10.000000000 +0100
++++ ibam-0.5.2/ibam.inl 2010-01-03 12:17:19.000000000 +0100
+@@ -945,7 +945,7 @@
+ string sysfs_path = "/sys/class/power_supply"; // ...
+ ifstream pmu,acpi,sysfs;
+ pmu.open((pmu_path+"/info").c_str());
+- acpi.open((acpi_path+"/info").c_str());
++ acpi.open((acpi_path+"/event").c_str());
+ if (pmu.is_open()) {
+ #ifdef IBAM_DEBUG
+ cout << "using pmu" << endl;
+@@ -959,7 +959,7 @@
+ acpi.close();
+ apm = new acpi_status();
+ } else {
+- sysfs.open((sysfs_path+"/BAT1/charge_full").c_str());
++ sysfs.open((sysfs_path+"/BAT0/present").c_str());
+ if(sysfs.is_open()) {
+ #ifdef IBAM_DEBUG
+ cout << "using sysfs" << endl;
+
diff --git a/community/ibam/PKGBUILD b/community/ibam/PKGBUILD
index 6f72fb3dc..3639e85a5 100644
--- a/community/ibam/PKGBUILD
+++ b/community/ibam/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 65562 2012-02-21 08:57:40Z spupykin $
+# $Id: PKGBUILD 96802 2013-09-05 18:01:44Z bgyorgy $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com>
# Contributor: Penguin <TGates81.at.gmail.dot.com>
pkgname=ibam
pkgver=0.5.2
-pkgrel=5
+pkgrel=6
pkgdesc="An intelligent battery monitor"
arch=('i686' 'x86_64')
url="http://ibam.sourceforge.net/"
@@ -15,20 +15,24 @@ makedepends=('sed' 'make')
optdepends=('gnuplot: graphs support')
install="ibam.install"
source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz"
- ibam-0.5.2-sysfs.patch)
+ 03acpi-check.dpatch)
md5sums=('2d5222ff504dd19e7c1ea8acc2f13cf5'
- 'c3aafebd5ad9159c89f71beab4a0f414')
+ '2f27fc97932bd59cabacbad063a13f0e')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- install -m0755 -d ${pkgdir}/usr/bin
sed -i \
-e "s|/local/bin|/bin|g" \
-e "s|^CFLAGS=-O3|CFLAGS=${CFLAGS}|g" \
Makefile
- patch -p1 <$srcdir/ibam-0.5.2-sysfs.patch
+ patch -p1 <$srcdir/03acpi-check.dpatch
make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ install -m0755 -d ${pkgdir}/usr/bin
install -m0755 -D ${srcdir}/${pkgname}-${pkgver}/ibam ${pkgdir}/usr/bin/ibam
}
diff --git a/community/keepalived/PKGBUILD b/community/keepalived/PKGBUILD
index c5bb554c4..79f88ade6 100644
--- a/community/keepalived/PKGBUILD
+++ b/community/keepalived/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 90520 2013-05-12 23:55:17Z seblu $
+# $Id: PKGBUILD 96808 2013-09-05 18:47:07Z seblu $
# Maintainer: Sébastien Luttringer
# Contributor: Andrea Zucchelli <zukka77@gmail.com>
pkgname=keepalived
-pkgver=1.2.7
-pkgrel=3
+pkgver=1.2.8
+pkgrel=1
pkgdesc='Failover and monitoring daemon for LVS clusters'
arch=('i686' 'x86_64')
url='http://www.keepalived.org/'
@@ -13,7 +13,7 @@ backup=('etc/keepalived/keepalived.conf')
depends=('openssl' 'popt' 'libnl1')
source=("http://www.keepalived.org/software/$pkgname-$pkgver.tar.gz"
'keepalived.service')
-md5sums=('8551a34ee048895dbe5350a031ff29c1'
+md5sums=('8a362b6cea145fd4393bf004d09b4057'
'0a5171f4298528315e8a8004b55befb7')
build() {
diff --git a/community/libaccounts-qt/PKGBUILD b/community/libaccounts-qt/PKGBUILD
index 2d2960ddc..b6e2fcf02 100644
--- a/community/libaccounts-qt/PKGBUILD
+++ b/community/libaccounts-qt/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 93073 2013-06-23 22:18:28Z bgyorgy $
+# $Id: PKGBUILD 96784 2013-09-04 22:27:13Z bgyorgy $
# Maintainer: Balló György <ballogyor+arch at gmail dot com>
pkgbase=libaccounts-qt
_pkgbase=accounts-qt
pkgname=('libaccounts-qt' 'libaccounts-qt-doc')
-pkgver=1.8
+pkgver=1.9
pkgrel=1
pkgdesc="Qt-based client library for accessing the online accounts database"
arch=('i686' 'x86_64')
@@ -14,7 +14,7 @@ depends=('qt4' 'libaccounts-glib')
makedepends=('doxygen' 'graphviz' 'ttf-dejavu')
options=('!emptydirs')
source=(http://accounts-sso.googlecode.com/files/$_pkgbase-$pkgver.tar.bz2)
-sha1sums=('f5a29ef1d1e66049bbe5d809d6dbfcf0c1a39b41')
+sha1sums=('86d7bbaa7bdd18f80a28c2617653707d763d1984')
build() {
cd "$srcdir/$_pkgbase-$pkgver"
diff --git a/community/linux-tools/PKGBUILD b/community/linux-tools/PKGBUILD
index ed20a3b54..a3846f9fb 100644
--- a/community/linux-tools/PKGBUILD
+++ b/community/linux-tools/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 95399 2013-08-11 10:33:42Z seblu $
+# $Id: PKGBUILD 96810 2013-09-05 18:48:50Z seblu $
# Maintainer: Sébastien Luttringer
pkgbase=linux-tools
@@ -8,8 +8,8 @@ pkgname=('linux-tools-meta'
'cpupower'
'x86_energy_perf_policy'
'usbip')
-pkgver=3.10
-pkgrel=2
+pkgver=3.11
+pkgrel=1
license=('GPL2')
arch=('i686' 'x86_64')
url='http://www.kernel.org'
@@ -25,24 +25,23 @@ makedepends+=('pciutils')
makedepends+=('glib2' 'sysfsutils')
groups=("$pkgbase")
source=("http://ftp.kernel.org/pub/linux/kernel/v3.x/linux-$pkgver.tar.xz"
- "http://ftp.kernel.org/pub/linux/kernel/v3.x/patch-$pkgver.5.xz"
+# "http://ftp.kernel.org/pub/linux/kernel/v3.x/patch-$pkgver.5.xz"
'cpupower.default'
'cpupower.systemd'
'cpupower.service'
'usbipd.service')
# http://www.kernel.org/pub/linux/kernel/v3.x/sha256sums.asc
-sha256sums=('df27fa92d27a9c410bfe6c4a89f141638500d7eadcca5cce578954efc2ad3544'
- 'c96b69a10ef5ade798dcaa1867df156ccc9e173225d5aa427d00c6e89246e035'
+sha256sums=('803ec8f0ad4b2ddedcb0332a590cd2b5e10dfc57c3b1c95bc9c46af81d51d7f9'
'4fa509949d6863d001075fa3e8671eff2599c046d20c98bb4a70778595cd1c3f'
'fbf6e0ce6eb0ef15703fe212958de6ca46e62188900b5e9f9272ed3cc9cfd54e'
'a89284d0ecb556ca53a66d1c2087b5fd6d0a901ab2769cd3aebb93f4478905dc'
'2e187734d8aec58a3046d79883510d779aa93fb3ab20bd3132c1a607ebe5498f')
-prepare() {
- # apply stable patching set
- cd linux-$pkgver
- patch -N -p1 -i "$srcdir/patch-$pkgver.5"
-}
+#prepare() {
+# # apply stable patching set
+# cd linux-$pkgver
+# patch -N -p1 -i "$srcdir/patch-$pkgver.5"
+#}
build() {
msg2 'Build libtraceevent'
diff --git a/community/nginx/PKGBUILD b/community/nginx/PKGBUILD
index e731ec975..d5ac06175 100644
--- a/community/nginx/PKGBUILD
+++ b/community/nginx/PKGBUILD
@@ -1,102 +1,96 @@
-# $Id: PKGBUILD 94240 2013-07-17 19:28:57Z bpiotrowski $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# $Id: PKGBUILD 96815 2013-09-05 20:15:59Z seblu $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Maintainer: Sébastien Luttringer
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Miroslaw Szot <mss@czlug.icis.pcz.pl>
-_cfgdir=/etc/nginx
-_tmpdir=/var/lib/nginx
-
pkgname=nginx
pkgver=1.4.2
-pkgrel=1
+pkgrel=4
pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server'
arch=('i686' 'x86_64')
-depends=('pcre' 'zlib' 'openssl' 'geoip')
-makedepends=('passenger')
-url="http://nginx.org"
+url='http://nginx.org'
license=('custom')
-install=nginx.install
-backup=(${_cfgdir:1}/fastcgi.conf
- ${_cfgdir:1}/fastcgi_params
- ${_cfgdir:1}/koi-win
- ${_cfgdir:1}/koi-utf
- ${_cfgdir:1}/mime.types
- ${_cfgdir:1}/nginx.conf
- ${_cfgdir:1}/scgi_params
- ${_cfgdir:1}/uwsgi_params
- ${_cfgdir:1}/win-utf
- etc/logrotate.d/nginx)
-source=(http://nginx.org/download/nginx-$pkgver.tar.gz
- service
- logrotate)
+depends=('pcre' 'zlib' 'openssl')
+backup=('etc/nginx/fastcgi.conf'
+ 'etc/nginx/fastcgi_params'
+ 'etc/nginx/koi-win'
+ 'etc/nginx/koi-utf'
+ 'etc/nginx/mime.types'
+ 'etc/nginx/nginx.conf'
+ 'etc/nginx/scgi_params'
+ 'etc/nginx/uwsgi_params'
+ 'etc/nginx/win-utf'
+ 'etc/logrotate.d/nginx')
+install=install
+source=("http://nginx.org/download/nginx-$pkgver.tar.gz"
+ 'service'
+ 'logrotate')
sha256sums=('5361ffb7b0ebf8b1a04369bc3d1295eaed091680c1c58115f88d56c8e51f3611'
'05fdc0c0483410944b988d7f4beabb00bec4a44a41bd13ebc9b78585da7d3f9b'
- '9523a1fdd5eb61bf62f3049f6ee088b198e36d5edcce2d9b08bbeb2930aa5a16')
+ '272907d3213d69dac3bd6024d6d150caa23cb67d4f121e4171f34ba5581f9e98')
build() {
- cd "$srcdir"/$pkgname-$pkgver
-
- ./configure \
- --prefix=$_cfgdir \
- --conf-path=$_cfgdir/nginx.conf \
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/etc/nginx \
+ --conf-path=/etc/nginx/nginx.conf \
--sbin-path=/usr/bin/nginx \
- --pid-path=/var/run/nginx.pid \
- --lock-path=/var/lock/nginx.lock \
- --user=http --group=http \
+ --pid-path=/run/nginx.pid \
+ --lock-path=/run/lock/nginx.lock \
+ --user=http \
+ --group=http \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log \
- --http-client-body-temp-path=$_tmpdir/client-body \
- --http-proxy-temp-path=$_tmpdir/proxy \
- --http-fastcgi-temp-path=$_tmpdir/fastcgi \
- --http-scgi-temp-path=$_tmpdir/scgi \
- --http-uwsgi-temp-path=$_tmpdir/uwsgi \
- --with-imap --with-imap_ssl_module \
- --with-ipv6 --with-pcre-jit \
+ --http-client-body-temp-path=/var/lib/nginx/client-body \
+ --http-proxy-temp-path=/var/lib/nginx/proxy \
+ --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
+ --http-scgi-temp-path=/var/lib/nginx/scgi \
+ --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
+ --with-imap \
+ --with-imap_ssl_module \
+ --with-ipv6 \
+ --with-pcre-jit \
--with-file-aio \
--with-http_dav_module \
- --with-http_geoip_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_spdy_module \
--with-http_ssl_module \
--with-http_stub_status_module \
- --add-module=/usr/lib/passenger/ext/nginx \
- #--with-http_mp4_module \
- #--with-http_addition_module \
- #--with-http_xslt_module \
- #--with-http_image_filter_module \
- #--with-http_sub_module \
- #--with-http_flv_module \
- #--with-http_random_index_module \
- #--with-http_secure_link_module \
- #--with-http_degradation_module \
- #--with-http_perl_module \
-
- make
+ --with-http_addition_module \
+ --with-http_degradation_module \
+ --with-http_flv_module \
+ --with-http_mp4_module \
+ --with-http_secure_link_module \
+ --with-http_sub_module
+ make
}
package() {
- cd "$srcdir"/$pkgname-$pkgver
- make DESTDIR="$pkgdir" install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
- sed -e 's|\<user\s\+\w\+;|user html;|g' \
- -e '44s|html|/usr/share/nginx/html|' \
- -e '54s|html|/usr/share/nginx/html|' \
- -i "$pkgdir"/etc/nginx/nginx.conf
- rm "$pkgdir"/etc/nginx/*.default
+ sed -e 's|\<user\s\+\w\+;|user html;|g' \
+ -e '44s|html|/usr/share/nginx/html|' \
+ -e '54s|html|/usr/share/nginx/html|' \
+ -i "$pkgdir"/etc/nginx/nginx.conf
+ rm "$pkgdir"/etc/nginx/*.default
- install -d "$pkgdir"/$_tmpdir
- install -dm700 "$pkgdir"/$_tmpdir/proxy
+ install -d "$pkgdir"/var/lib/nginx
+ install -dm700 "$pkgdir"/var/lib/nginx/proxy
- chmod 750 "$pkgdir"/var/log/nginx
- chown http:log "$pkgdir"/var/log/nginx
+ chmod 750 "$pkgdir"/var/log/nginx
+ chown http:log "$pkgdir"/var/log/nginx
- install -d "$pkgdir"/usr/share/nginx
- mv "$pkgdir"/etc/nginx/html/ "$pkgdir"/usr/share/nginx
+ install -d "$pkgdir"/usr/share/nginx
+ mv "$pkgdir"/etc/nginx/html/ "$pkgdir"/usr/share/nginx
- install -Dm644 "$srcdir"/logrotate "$pkgdir"/etc/logrotate.d/nginx
- install -Dm644 "$srcdir"/service "$pkgdir"/usr/lib/systemd/system/nginx.service
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/nginx/LICENSE
- rm -rf "$pkgdir"/var/run
+ install -Dm644 "$srcdir"/logrotate "$pkgdir"/etc/logrotate.d/nginx
+ install -Dm644 "$srcdir"/service "$pkgdir"/usr/lib/systemd/system/nginx.service
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ rmdir "$pkgdir/run"
}
+
+# vim:set ts=4 sw=4 et:
diff --git a/community/nginx/install b/community/nginx/install
new file mode 100644
index 000000000..7c4adf14b
--- /dev/null
+++ b/community/nginx/install
@@ -0,0 +1,21 @@
+post_upgrade() {
+ if (( $(vercmp $2 1.2.7-4) <= 0 )); then
+ chmod 750 var/log/nginx
+ chown http:log var/log/nginx
+ fi
+ if (( $(vercmp $2 1.2.1-2) <= 0 )); then
+ echo ' >>> Since 1.2.1-2 several changes has been made in package:'
+ echo ' - *.conf files have been moved to /etc/nginx'
+ echo ' - /etc/conf.d/nginx has been removed'
+ echo ' Main configuration file is set to /etc/nginx/nginx.conf'
+ echo ' - access.log and error.log can be found in /var/log/nginx by default'
+ echo ' - bundled *.html files have been moved to /usr/share/nginx/html'
+ echo ' - /etc/nginx/{html,logs} symbolic links and *.default files have been removed'
+ fi
+ if (( $(vercmp $2 1.4.2-4) < 0 )); then
+ echo 'Nginx now includes only upstream bundled modules.'
+ echo 'Thus, passenger module support was dropped.'
+ fi
+}
+
+# vim:set ts=4 sw=4 et:
diff --git a/community/nginx/logrotate b/community/nginx/logrotate
index 3d082bcf8..e0fa9ec4c 100644
--- a/community/nginx/logrotate
+++ b/community/nginx/logrotate
@@ -4,6 +4,6 @@
sharedscripts
compress
postrotate
- test -r /var/run/nginx.pid && kill -USR1 `cat /var/run/nginx.pid`
+ test ! -r /var/run/nginx.pid || kill -USR1 `cat /var/run/nginx.pid`
endscript
}
diff --git a/community/nginx/nginx.install b/community/nginx/nginx.install
deleted file mode 100644
index 0daccc639..000000000
--- a/community/nginx/nginx.install
+++ /dev/null
@@ -1,15 +0,0 @@
-post_upgrade() {
- if [[ $(vercmp $2 1.2.7-4) -le 0 ]]; then
- chmod 750 var/log/nginx
- chown http:log var/log/nginx
- fi
- if [[ $(vercmp $2 1.2.1-2) -le 0 ]]; then
- echo " >>> Since 1.2.1-2 several changes has been made in package:"
- echo " - *.conf files have been moved to /etc/nginx"
- echo " - /etc/conf.d/nginx has been removed"
- echo " Main configuration file is set to /etc/nginx/nginx.conf"
- echo " - access.log and error.log can be found in /var/log/nginx by default"
- echo " - bundled *.html files have been moved to /usr/share/nginx/html"
- echo " - /etc/nginx/{html,logs} symbolic links and *.default files have been removed"
- fi
-}
diff --git a/community/percona-server/0001-MDEV-4902-sql_yacc.yy-incompatible-with-bison-3.patch b/community/percona-server/0001-MDEV-4902-sql_yacc.yy-incompatible-with-bison-3.patch
new file mode 100644
index 000000000..fda79cff3
--- /dev/null
+++ b/community/percona-server/0001-MDEV-4902-sql_yacc.yy-incompatible-with-bison-3.patch
@@ -0,0 +1,3539 @@
+From 6325837d6abf272b8c3dfac664f18435f8a2abf8 Mon Sep 17 00:00:00 2001
+From: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+Date: Thu, 5 Sep 2013 09:52:54 +0200
+Subject: [PATCH] MDEV-4902 - sql_yacc.yy incompatible with bison 3
+
+- YYPARSE_PARAM and YYLEX_PARAM are removed in Bison 3.0. Deprecated
+ since Bison 1.875 in favor of %lex-param, %parse-param.
+- %pure_parser is deprecated in favor of %define api.pure.
+- %parse-param adds an argument to yyerror() as well, updated
+ MYSQLerror() accordingly.
+- %parse-param allows to declare proper type for argument. That's
+ what 99% of this patch is about.
+---
+ sql/sql_lex.cc | 12 +-
+ sql/sql_lex.h | 2 +-
+ sql/sql_parse.cc | 2 +-
+ sql/sql_yacc.yy | 799 ++++++++++++++++++++++++-------------------------------
+ 4 files changed, 361 insertions(+), 454 deletions(-)
+
+diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc
+index 18323f8..b01d451 100644
+--- a/sql/sql_lex.cc
++++ b/sql/sql_lex.cc
+@@ -29,7 +29,7 @@
+ #include "sp.h"
+ #include "sp_head.h"
+
+-static int lex_one_token(void *arg, void *yythd);
++static int lex_one_token(void *arg, THD *thd);
+
+ /*
+ We are using pointer to this variable for distinguishing between assignment
+@@ -869,9 +869,8 @@ bool consume_comment(Lex_input_stream *lip, int remaining_recursions_permitted)
+ (which can't be followed by a signed number)
+ */
+
+-int MYSQLlex(void *arg, void *yythd)
++int MYSQLlex(void *arg, THD *thd)
+ {
+- THD *thd= (THD *)yythd;
+ Lex_input_stream *lip= & thd->m_parser_state->m_lip;
+ YYSTYPE *yylval=(YYSTYPE*) arg;
+ int token;
+@@ -889,7 +888,7 @@ int MYSQLlex(void *arg, void *yythd)
+ return token;
+ }
+
+- token= lex_one_token(arg, yythd);
++ token= lex_one_token(arg, thd);
+
+ switch(token) {
+ case WITH:
+@@ -900,7 +899,7 @@ int MYSQLlex(void *arg, void *yythd)
+ to transform the grammar into a LALR(1) grammar,
+ which sql_yacc.yy can process.
+ */
+- token= lex_one_token(arg, yythd);
++ token= lex_one_token(arg, thd);
+ switch(token) {
+ case CUBE_SYM:
+ return WITH_CUBE_SYM;
+@@ -923,14 +922,13 @@ int MYSQLlex(void *arg, void *yythd)
+ return token;
+ }
+
+-int lex_one_token(void *arg, void *yythd)
++int lex_one_token(void *arg, THD *thd)
+ {
+ reg1 uchar c= 0;
+ bool comment_closed;
+ int tokval, result_state;
+ uint length;
+ enum my_lex_states state;
+- THD *thd= (THD *)yythd;
+ Lex_input_stream *lip= & thd->m_parser_state->m_lip;
+ LEX *lex= thd->lex;
+ YYSTYPE *yylval=(YYSTYPE*) arg;
+diff --git a/sql/sql_lex.h b/sql/sql_lex.h
+index 8648b32..ba37127 100644
+--- a/sql/sql_lex.h
++++ b/sql/sql_lex.h
+@@ -2820,7 +2820,7 @@ extern void lex_init(void);
+ extern void lex_free(void);
+ extern void lex_start(THD *thd);
+ extern void lex_end(LEX *lex);
+-extern int MYSQLlex(void *arg, void *yythd);
++extern int MYSQLlex(void *arg, THD *thd);
+
+ extern void trim_whitespace(CHARSET_INFO *cs, LEX_STRING *str);
+
+diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
+index a1a79fd..d826b77 100644
+--- a/sql/sql_parse.cc
++++ b/sql/sql_parse.cc
+@@ -7636,7 +7636,7 @@ bool check_host_name(LEX_STRING *str)
+ }
+
+
+-extern int MYSQLparse(void *thd); // from sql_yacc.cc
++extern int MYSQLparse(THD *thd); // from sql_yacc.cc
+
+
+ /**
+diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
+index 34ae03b..2a6d9aa 100644
+--- a/sql/sql_yacc.yy
++++ b/sql/sql_yacc.yy
+@@ -22,20 +22,13 @@
+ */
+
+ %{
+-/* thd is passed as an argument to yyparse(), and subsequently to yylex().
+-** The type will be void*, so it must be cast to (THD*) when used.
+-** Use the YYTHD macro for this.
+-*/
+-#define YYPARSE_PARAM yythd
+-#define YYLEX_PARAM yythd
+-#define YYTHD ((THD *)yythd)
+-#define YYLIP (& YYTHD->m_parser_state->m_lip)
+-#define YYPS (& YYTHD->m_parser_state->m_yacc)
++#define YYLIP (& thd->m_parser_state->m_lip)
++#define YYPS (& thd->m_parser_state->m_yacc)
+
+ #define MYSQL_YACC
+ #define YYINITDEPTH 100
+ #define YYMAXDEPTH 3200 /* Because of 64K stack */
+-#define Lex (YYTHD->lex)
++#define Lex (thd->lex)
+ #define Select Lex->current_select
+ #include "sql_priv.h"
+ #include "unireg.h" // REQUIRED: for other includes
+@@ -69,14 +62,14 @@
+ #pragma warning (disable : 4065)
+ #endif
+
+-int yylex(void *yylval, void *yythd);
++int yylex(void *yylval, THD *thd);
+
+ #define yyoverflow(A,B,C,D,E,F) \
+ { \
+ ulong val= *(F); \
+ if (my_yyoverflow((B), (D), &val)) \
+ { \
+- yyerror((char*) (A)); \
++ yyerror(current_thd, (char*) (A)); \
+ return 2; \
+ } \
+ else \
+@@ -88,7 +81,7 @@ int yylex(void *yylval, void *yythd);
+ #define MYSQL_YYABORT \
+ do \
+ { \
+- LEX::cleanup_lex_after_parse_error(YYTHD);\
++ LEX::cleanup_lex_after_parse_error(thd);\
+ YYABORT; \
+ } while (0)
+
+@@ -174,10 +167,8 @@ void my_parse_error(const char *s)
+ to abort from the parser.
+ */
+
+-void MYSQLerror(const char *s)
++void MYSQLerror(THD *thd, const char *s)
+ {
+- THD *thd= current_thd;
+-
+ /*
+ Restore the original LEX if it was replaced when parsing
+ a stored procedure. We must ensure that a parsing error
+@@ -780,7 +771,10 @@ static bool add_create_index (LEX *lex, Key::Keytype type,
+ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
+ %}
+
+-%pure_parser /* We have threads */
++/* We have threads */
++%define api.pure
++%parse-param { THD *thd }
++%lex-param { THD *thd }
+ /*
+ Currently there are 168 shift/reduce conflicts.
+ We should not introduce new conflicts any more.
+@@ -1668,7 +1662,6 @@ rule: <-- starts at col 1
+ query:
+ END_OF_INPUT
+ {
+- THD *thd= YYTHD;
+ if (!thd->bootstrap &&
+ (!(thd->lex->select_lex.options & OPTION_FOUND_COMMENT)))
+ {
+@@ -1682,7 +1675,7 @@ query:
+ {
+ Lex_input_stream *lip = YYLIP;
+
+- if ((YYTHD->client_capabilities & CLIENT_MULTI_QUERIES) &&
++ if ((thd->client_capabilities & CLIENT_MULTI_QUERIES) &&
+ lip->multi_statements &&
+ ! lip->eof())
+ {
+@@ -1778,7 +1771,6 @@ statement:
+ deallocate:
+ deallocate_or_drop PREPARE_SYM ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->sql_command= SQLCOM_DEALLOCATE_PREPARE;
+ lex->prepared_stmt_name= $3;
+@@ -1793,7 +1785,6 @@ deallocate_or_drop:
+ prepare:
+ PREPARE_SYM ident FROM prepare_src
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->sql_command= SQLCOM_PREPARE;
+ lex->prepared_stmt_name= $2;
+@@ -1803,14 +1794,12 @@ prepare:
+ prepare_src:
+ TEXT_STRING_sys
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->prepared_stmt_code= $1;
+ lex->prepared_stmt_code_is_varref= FALSE;
+ }
+ | '@' ident_or_text
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->prepared_stmt_code= $2;
+ lex->prepared_stmt_code_is_varref= TRUE;
+@@ -1820,7 +1809,6 @@ prepare_src:
+ execute:
+ EXECUTE_SYM ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->sql_command= SQLCOM_EXECUTE;
+ lex->prepared_stmt_name= $2;
+@@ -1955,7 +1943,7 @@ master_def:
+ }
+ if (Lex->mi.heartbeat_period > slave_net_timeout)
+ {
+- push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN,
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
+ ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX,
+ ER(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX));
+ }
+@@ -1963,7 +1951,7 @@ master_def:
+ {
+ if (Lex->mi.heartbeat_period != 0.0)
+ {
+- push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN,
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
+ ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN,
+ ER(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN));
+ Lex->mi.heartbeat_period= 0.0;
+@@ -2038,7 +2026,6 @@ master_file_def:
+ create:
+ CREATE opt_table_options TABLE_SYM opt_if_not_exists table_ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->sql_command= SQLCOM_CREATE_TABLE;
+ if (!lex->select_lex.add_table_to_list(thd, $5, NULL,
+@@ -2063,13 +2050,13 @@ create:
+ }
+ create2
+ {
+- LEX *lex= YYTHD->lex;
++ LEX *lex= thd->lex;
+ lex->current_select= &lex->select_lex;
+ if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) &&
+ !lex->create_info.db_type)
+ {
+- lex->create_info.db_type= ha_default_handlerton(YYTHD);
+- push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN,
++ lex->create_info.db_type= ha_default_handlerton(thd);
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
+ ER_WARN_USING_OTHER_HANDLER,
+ ER(ER_WARN_USING_OTHER_HANDLER),
+ ha_resolve_storage_engine_name(lex->create_info.db_type),
+@@ -2199,7 +2186,6 @@ server_option:
+ event_tail:
+ remember_name EVENT_SYM opt_if_not_exists sp_name
+ {
+- THD *thd= YYTHD;
+ LEX *lex=Lex;
+
+ lex->stmt_definition_begin= $1;
+@@ -2266,7 +2252,7 @@ opt_ev_status:
+ ev_starts:
+ /* empty */
+ {
+- Item *item= new (YYTHD->mem_root) Item_func_now_local();
++ Item *item= new (thd->mem_root) Item_func_now_local();
+ if (item == NULL)
+ MYSQL_YYABORT;
+ Lex->event_parse_data->item_starts= item;
+@@ -2316,7 +2302,6 @@ opt_ev_comment:
+
+ ev_sql_stmt:
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Lex_input_stream *lip= YYLIP;
+
+@@ -2359,7 +2344,6 @@ ev_sql_stmt:
+ }
+ ev_sql_stmt_inner
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+
+ /* return back to the original memory root ASAP */
+@@ -2418,11 +2402,10 @@ sp_name:
+ $$= new sp_name($1, $3, true);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+- $$->init_qname(YYTHD);
++ $$->init_qname(thd);
+ }
+ | ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ LEX_STRING db;
+ if (check_routine_name(&$1))
+@@ -2492,7 +2475,7 @@ call:
+ lex->sql_command= SQLCOM_CALL;
+ lex->spname= $2;
+ lex->value_list.empty();
+- sp_add_used_routine(lex, YYTHD, $2, TYPE_ENUM_PROCEDURE);
++ sp_add_used_routine(lex, thd, $2, TYPE_ENUM_PROCEDURE);
+ }
+ opt_sp_cparam_list {}
+ ;
+@@ -2565,7 +2548,7 @@ sp_fdparam:
+ (enum enum_field_types)$3,
+ sp_param_in);
+
+- if (lex->sphead->fill_field_definition(YYTHD, lex,
++ if (lex->sphead->fill_field_definition(thd, lex,
+ (enum enum_field_types) $3,
+ &spvar->field_def))
+ {
+@@ -2602,7 +2585,7 @@ sp_pdparam:
+ (enum enum_field_types)$4,
+ (sp_param_mode_t)$1);
+
+- if (lex->sphead->fill_field_definition(YYTHD, lex,
++ if (lex->sphead->fill_field_definition(thd, lex,
+ (enum enum_field_types) $4,
+ &spvar->field_def))
+ {
+@@ -2665,13 +2648,12 @@ sp_decl:
+ {
+ LEX *lex= Lex;
+
+- lex->sphead->reset_lex(YYTHD);
++ lex->sphead->reset_lex(thd);
+ lex->spcont->declare_var_boundary($2);
+ }
+ type_with_opt_collate
+ sp_opt_default
+ {
+- THD *thd= YYTHD;
+ LEX *lex= Lex;
+ sp_pcontext *pctx= lex->spcont;
+ uint num_vars= pctx->context_var_count();
+@@ -2697,7 +2679,7 @@ sp_decl:
+ spvar->type= var_type;
+ spvar->dflt= dflt_value_item;
+
+- if (lex->sphead->fill_field_definition(YYTHD, lex, var_type,
++ if (lex->sphead->fill_field_definition(thd, lex, var_type,
+ &spvar->field_def))
+ {
+ MYSQL_YYABORT;
+@@ -2721,7 +2703,7 @@ sp_decl:
+ }
+
+ pctx->declare_var_boundary(0);
+- if (lex->sphead->restore_lex(YYTHD))
++ if (lex->sphead->restore_lex(thd))
+ MYSQL_YYABORT;
+ $$.vars= $2;
+ $$.conds= $$.hndlrs= $$.curs= 0;
+@@ -2736,7 +2718,7 @@ sp_decl:
+ my_error(ER_SP_DUP_COND, MYF(0), $2.str);
+ MYSQL_YYABORT;
+ }
+- if(YYTHD->lex->spcont->push_cond(&$2, $5))
++ if(thd->lex->spcont->push_cond(&$2, $5))
+ MYSQL_YYABORT;
+ $$.vars= $$.hndlrs= $$.curs= 0;
+ $$.conds= 1;
+@@ -2822,7 +2804,7 @@ sp_decl:
+
+ sp_cursor_stmt:
+ {
+- Lex->sphead->reset_lex(YYTHD);
++ Lex->sphead->reset_lex(thd);
+ }
+ select
+ {
+@@ -2838,7 +2820,7 @@ sp_cursor_stmt:
+ }
+ lex->sp_lex_in_use= TRUE;
+ $$= lex;
+- if (lex->sphead->restore_lex(YYTHD))
++ if (lex->sphead->restore_lex(thd))
+ MYSQL_YYABORT;
+ }
+ ;
+@@ -2887,7 +2869,7 @@ sp_cond:
+ my_error(ER_WRONG_VALUE, MYF(0), "CONDITION", "0");
+ MYSQL_YYABORT;
+ }
+- $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t));
++ $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t));
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ $$->type= sp_cond_type_t::number;
+@@ -2904,7 +2886,7 @@ sqlstate:
+ my_error(ER_SP_BAD_SQLSTATE, MYF(0), $3.str);
+ MYSQL_YYABORT;
+ }
+- $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t));
++ $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t));
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ $$->type= sp_cond_type_t::state;
+@@ -2934,21 +2916,21 @@ sp_hcond:
+ }
+ | SQLWARNING_SYM /* SQLSTATEs 01??? */
+ {
+- $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t));
++ $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t));
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ $$->type= sp_cond_type_t::warning;
+ }
+ | not FOUND_SYM /* SQLSTATEs 02??? */
+ {
+- $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t));
++ $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t));
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ $$->type= sp_cond_type_t::notfound;
+ }
+ | SQLEXCEPTION_SYM /* All other SQLSTATEs */
+ {
+- $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t));
++ $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t));
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ $$->type= sp_cond_type_t::exception;
+@@ -2958,7 +2940,6 @@ sp_hcond:
+ signal_stmt:
+ SIGNAL_SYM signal_value opt_set_signal_information
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Yacc_state *state= & thd->m_parser_state->m_yacc;
+
+@@ -3008,7 +2989,7 @@ opt_signal_value:
+ opt_set_signal_information:
+ /* empty */
+ {
+- YYTHD->m_parser_state->m_yacc.m_set_signal_info.clear();
++ thd->m_parser_state->m_yacc.m_set_signal_info.clear();
+ }
+ | SET signal_information_item_list
+ ;
+@@ -3017,7 +2998,7 @@ signal_information_item_list:
+ signal_condition_information_item_name EQ signal_allowed_expr
+ {
+ Set_signal_information *info;
+- info= & YYTHD->m_parser_state->m_yacc.m_set_signal_info;
++ info= & thd->m_parser_state->m_yacc.m_set_signal_info;
+ int index= (int) $1;
+ info->clear();
+ info->m_item[index]= $3;
+@@ -3026,7 +3007,7 @@ signal_information_item_list:
+ signal_condition_information_item_name EQ signal_allowed_expr
+ {
+ Set_signal_information *info;
+- info= & YYTHD->m_parser_state->m_yacc.m_set_signal_info;
++ info= & thd->m_parser_state->m_yacc.m_set_signal_info;
+ int index= (int) $3;
+ if (info->m_item[index] != NULL)
+ {
+@@ -3097,7 +3078,6 @@ signal_condition_information_item_name:
+ resignal_stmt:
+ RESIGNAL_SYM opt_signal_value opt_set_signal_information
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Yacc_state *state= & thd->m_parser_state->m_yacc;
+
+@@ -3172,7 +3152,6 @@ sp_proc_stmt_if:
+
+ sp_proc_stmt_statement:
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Lex_input_stream *lip= YYLIP;
+
+@@ -3181,7 +3160,6 @@ sp_proc_stmt_statement:
+ }
+ statement
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Lex_input_stream *lip= YYLIP;
+ sp_head *sp= lex->sphead;
+@@ -3228,7 +3206,7 @@ sp_proc_stmt_statement:
+
+ sp_proc_stmt_return:
+ RETURN_SYM
+- { Lex->sphead->reset_lex(YYTHD); }
++ { Lex->sphead->reset_lex(thd); }
+ expr
+ {
+ LEX *lex= Lex;
+@@ -3250,7 +3228,7 @@ sp_proc_stmt_return:
+ MYSQL_YYABORT;
+ sp->m_flags|= sp_head::HAS_RETURN;
+ }
+- if (sp->restore_lex(YYTHD))
++ if (sp->restore_lex(thd))
+ MYSQL_YYABORT;
+ }
+ ;
+@@ -3477,7 +3455,7 @@ sp_fetch_list:
+ ;
+
+ sp_if:
+- { Lex->sphead->reset_lex(YYTHD); }
++ { Lex->sphead->reset_lex(thd); }
+ expr THEN_SYM
+ {
+ LEX *lex= Lex;
+@@ -3491,7 +3469,7 @@ sp_if:
+ sp->add_cont_backpatch(i) ||
+ sp->add_instr(i))
+ MYSQL_YYABORT;
+- if (sp->restore_lex(YYTHD))
++ if (sp->restore_lex(thd))
+ MYSQL_YYABORT;
+ }
+ sp_proc_stmts1
+@@ -3530,7 +3508,7 @@ simple_case_stmt:
+ {
+ LEX *lex= Lex;
+ case_stmt_action_case(lex);
+- lex->sphead->reset_lex(YYTHD); /* For expr $3 */
++ lex->sphead->reset_lex(thd); /* For expr $3 */
+ }
+ expr
+ {
+@@ -3539,7 +3517,7 @@ simple_case_stmt:
+ MYSQL_YYABORT;
+
+ /* For expr $3 */
+- if (lex->sphead->restore_lex(YYTHD))
++ if (lex->sphead->restore_lex(thd))
+ MYSQL_YYABORT;
+ }
+ simple_when_clause_list
+@@ -3581,7 +3559,7 @@ searched_when_clause_list:
+ simple_when_clause:
+ WHEN_SYM
+ {
+- Lex->sphead->reset_lex(YYTHD); /* For expr $3 */
++ Lex->sphead->reset_lex(thd); /* For expr $3 */
+ }
+ expr
+ {
+@@ -3591,7 +3569,7 @@ simple_when_clause:
+ if (case_stmt_action_when(lex, $3, true))
+ MYSQL_YYABORT;
+ /* For expr $3 */
+- if (lex->sphead->restore_lex(YYTHD))
++ if (lex->sphead->restore_lex(thd))
+ MYSQL_YYABORT;
+ }
+ THEN_SYM
+@@ -3606,7 +3584,7 @@ simple_when_clause:
+ searched_when_clause:
+ WHEN_SYM
+ {
+- Lex->sphead->reset_lex(YYTHD); /* For expr $3 */
++ Lex->sphead->reset_lex(thd); /* For expr $3 */
+ }
+ expr
+ {
+@@ -3614,7 +3592,7 @@ searched_when_clause:
+ if (case_stmt_action_when(lex, $3, false))
+ MYSQL_YYABORT;
+ /* For expr $3 */
+- if (lex->sphead->restore_lex(YYTHD))
++ if (lex->sphead->restore_lex(thd))
+ MYSQL_YYABORT;
+ }
+ THEN_SYM
+@@ -3778,7 +3756,7 @@ sp_unlabeled_control:
+ MYSQL_YYABORT;
+ }
+ | WHILE_SYM
+- { Lex->sphead->reset_lex(YYTHD); }
++ { Lex->sphead->reset_lex(thd); }
+ expr DO_SYM
+ {
+ LEX *lex= Lex;
+@@ -3792,7 +3770,7 @@ sp_unlabeled_control:
+ sp->new_cont_backpatch(i) ||
+ sp->add_instr(i))
+ MYSQL_YYABORT;
+- if (sp->restore_lex(YYTHD))
++ if (sp->restore_lex(thd))
+ MYSQL_YYABORT;
+ }
+ sp_proc_stmts1 END WHILE_SYM
+@@ -3807,7 +3785,7 @@ sp_unlabeled_control:
+ lex->sphead->do_cont_backpatch();
+ }
+ | REPEAT_SYM sp_proc_stmts1 UNTIL_SYM
+- { Lex->sphead->reset_lex(YYTHD); }
++ { Lex->sphead->reset_lex(thd); }
+ expr END REPEAT_SYM
+ {
+ LEX *lex= Lex;
+@@ -3819,7 +3797,7 @@ sp_unlabeled_control:
+ if (i == NULL ||
+ lex->sphead->add_instr(i))
+ MYSQL_YYABORT;
+- if (lex->sphead->restore_lex(YYTHD))
++ if (lex->sphead->restore_lex(thd))
+ MYSQL_YYABORT;
+ /* We can shortcut the cont_backpatch here */
+ i->m_cont_dest= ip+1;
+@@ -4242,7 +4220,6 @@ create2:
+ create3 {}
+ | LIKE table_ident
+ {
+- THD *thd= YYTHD;
+ TABLE_LIST *src_table;
+ LEX *lex= thd->lex;
+
+@@ -4257,7 +4234,6 @@ create2:
+ }
+ | '(' LIKE table_ident ')'
+ {
+- THD *thd= YYTHD;
+ TABLE_LIST *src_table;
+ LEX *lex= thd->lex;
+
+@@ -4858,7 +4834,7 @@ part_value_expr_item:
+ my_parse_error(ER(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR));
+ MYSQL_YYABORT;
+ }
+- if (part_info->add_column_list_value(YYTHD, part_expr))
++ if (part_info->add_column_list_value(thd, part_expr))
+ {
+ MYSQL_YYABORT;
+ }
+@@ -5252,19 +5228,19 @@ default_collation:
+ storage_engines:
+ ident_or_text
+ {
+- plugin_ref plugin= ha_resolve_by_name(YYTHD, &$1);
++ plugin_ref plugin= ha_resolve_by_name(thd, &$1);
+
+ if (plugin)
+ $$= plugin_data(plugin, handlerton*);
+ else
+ {
+- if (YYTHD->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION)
++ if (thd->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION)
+ {
+ my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), $1.str);
+ MYSQL_YYABORT;
+ }
+ $$= 0;
+- push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN,
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
+ ER_UNKNOWN_STORAGE_ENGINE,
+ ER(ER_UNKNOWN_STORAGE_ENGINE),
+ $1.str);
+@@ -5276,7 +5252,7 @@ known_storage_engines:
+ ident_or_text
+ {
+ plugin_ref plugin;
+- if ((plugin= ha_resolve_by_name(YYTHD, &$1)))
++ if ((plugin= ha_resolve_by_name(thd, &$1)))
+ $$= plugin_data(plugin, handlerton*);
+ else
+ {
+@@ -5506,7 +5482,7 @@ type:
+ {
+ char buff[sizeof("YEAR()") + MY_INT64_NUM_DECIMAL_DIGITS + 1];
+ my_snprintf(buff, sizeof(buff), "YEAR(%lu)", length);
+- push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_NOTE,
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE,
+ ER_WARN_DEPRECATED_SYNTAX,
+ ER(ER_WARN_DEPRECATED_SYNTAX),
+ buff, "YEAR(4)");
+@@ -5520,7 +5496,7 @@ type:
+ { $$=MYSQL_TYPE_TIME; }
+ | TIMESTAMP
+ {
+- if (YYTHD->variables.sql_mode & MODE_MAXDB)
++ if (thd->variables.sql_mode & MODE_MAXDB)
+ $$=MYSQL_TYPE_DATETIME;
+ else
+ {
+@@ -5652,7 +5628,7 @@ int_type:
+ real_type:
+ REAL
+ {
+- $$= YYTHD->variables.sql_mode & MODE_REAL_AS_FLOAT ?
++ $$= thd->variables.sql_mode & MODE_REAL_AS_FLOAT ?
+ MYSQL_TYPE_FLOAT : MYSQL_TYPE_DOUBLE;
+ }
+ | DOUBLE_SYM
+@@ -5727,7 +5703,7 @@ attribute:
+ | DEFAULT now_or_signed_literal { Lex->default_value=$2; }
+ | ON UPDATE_SYM NOW_SYM optional_braces
+ {
+- Item *item= new (YYTHD->mem_root) Item_func_now_local();
++ Item *item= new (thd->mem_root) Item_func_now_local();
+ if (item == NULL)
+ MYSQL_YYABORT;
+ Lex->on_update_value= item;
+@@ -5798,7 +5774,7 @@ type_with_opt_collate:
+ now_or_signed_literal:
+ NOW_SYM optional_braces
+ {
+- $$= new (YYTHD->mem_root) Item_func_now_local();
++ $$= new (thd->mem_root) Item_func_now_local();
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -6217,7 +6193,6 @@ string_list:
+ alter:
+ ALTER opt_ignore TABLE_SYM table_ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->name.str= 0;
+ lex->name.length= 0;
+@@ -6243,7 +6218,6 @@ alter:
+ }
+ alter_commands
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ if (!lex->m_stmt)
+ {
+@@ -6356,7 +6330,7 @@ alter:
+ Event_parse_data.
+ */
+
+- if (!(Lex->event_parse_data= Event_parse_data::new_instance(YYTHD)))
++ if (!(Lex->event_parse_data= Event_parse_data::new_instance(thd)))
+ MYSQL_YYABORT;
+ Lex->event_parse_data->identifier= $4;
+
+@@ -6471,7 +6445,6 @@ alter_commands:
+ | OPTIMIZE PARTITION_SYM opt_no_write_to_binlog
+ all_or_alt_part_name_list
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->no_write_to_binlog= $3;
+ lex->check_opt.init();
+@@ -6485,7 +6458,6 @@ alter_commands:
+ | ANALYZE_SYM PARTITION_SYM opt_no_write_to_binlog
+ all_or_alt_part_name_list
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->no_write_to_binlog= $3;
+ lex->check_opt.init();
+@@ -6497,7 +6469,6 @@ alter_commands:
+ }
+ | CHECK_SYM PARTITION_SYM all_or_alt_part_name_list
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->check_opt.init();
+ DBUG_ASSERT(!lex->m_stmt);
+@@ -6510,7 +6481,6 @@ alter_commands:
+ | REPAIR PARTITION_SYM opt_no_write_to_binlog
+ all_or_alt_part_name_list
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->no_write_to_binlog= $3;
+ lex->check_opt.init();
+@@ -6530,7 +6500,6 @@ alter_commands:
+ }
+ | TRUNCATE_SYM PARTITION_SYM all_or_alt_part_name_list
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->check_opt.init();
+ DBUG_ASSERT(!lex->m_stmt);
+@@ -6785,7 +6754,6 @@ alter_list_item:
+ {
+ if (!$4)
+ {
+- THD *thd= YYTHD;
+ $4= thd->variables.collation_database;
+ }
+ $5= $5 ? $5 : $4;
+@@ -6980,7 +6948,6 @@ repair:
+ }
+ table_list opt_mi_repair_type
+ {
+- THD *thd= YYTHD;
+ LEX* lex= thd->lex;
+ DBUG_ASSERT(!lex->m_stmt);
+ lex->m_stmt= new (thd->mem_root) Repair_table_statement(lex);
+@@ -7018,7 +6985,6 @@ analyze:
+ }
+ table_list
+ {
+- THD *thd= YYTHD;
+ LEX* lex= thd->lex;
+ DBUG_ASSERT(!lex->m_stmt);
+ lex->m_stmt= new (thd->mem_root) Analyze_table_statement(lex);
+@@ -7053,7 +7019,6 @@ check:
+ }
+ table_list opt_mi_check_type
+ {
+- THD *thd= YYTHD;
+ LEX* lex= thd->lex;
+ DBUG_ASSERT(!lex->m_stmt);
+ lex->m_stmt= new (thd->mem_root) Check_table_statement(lex);
+@@ -7094,7 +7059,6 @@ optimize:
+ }
+ table_list
+ {
+- THD *thd= YYTHD;
+ LEX* lex= thd->lex;
+ DBUG_ASSERT(!lex->m_stmt);
+ lex->m_stmt= new (thd->mem_root) Optimize_table_statement(lex);
+@@ -7179,7 +7143,7 @@ keycache_list:
+ assign_to_keycache:
+ table_ident cache_keys_spec
+ {
+- if (!Select->add_table_to_list(YYTHD, $1, NULL, 0, TL_READ,
++ if (!Select->add_table_to_list(thd, $1, NULL, 0, TL_READ,
+ MDL_SHARED_READ,
+ Select->pop_index_hints()))
+ MYSQL_YYABORT;
+@@ -7189,7 +7153,7 @@ assign_to_keycache:
+ assign_to_keycache_parts:
+ table_ident adm_partition cache_keys_spec
+ {
+- if (!Select->add_table_to_list(YYTHD, $1, NULL, 0, TL_READ,
++ if (!Select->add_table_to_list(thd, $1, NULL, 0, TL_READ,
+ MDL_SHARED_READ,
+ Select->pop_index_hints()))
+ MYSQL_YYABORT;
+@@ -7225,7 +7189,7 @@ preload_list:
+ preload_keys:
+ table_ident cache_keys_spec opt_ignore_leaves
+ {
+- if (!Select->add_table_to_list(YYTHD, $1, NULL, $3, TL_READ,
++ if (!Select->add_table_to_list(thd, $1, NULL, $3, TL_READ,
+ MDL_SHARED_READ,
+ Select->pop_index_hints()))
+ MYSQL_YYABORT;
+@@ -7235,7 +7199,7 @@ preload_keys:
+ preload_keys_parts:
+ table_ident adm_partition cache_keys_spec opt_ignore_leaves
+ {
+- if (!Select->add_table_to_list(YYTHD, $1, NULL, $4, TL_READ,
++ if (!Select->add_table_to_list(thd, $1, NULL, $4, TL_READ,
+ MDL_SHARED_READ,
+ Select->pop_index_hints()))
+ MYSQL_YYABORT;
+@@ -7252,7 +7216,7 @@ adm_partition:
+
+ cache_keys_spec:
+ {
+- Lex->select_lex.alloc_index_hints(YYTHD);
++ Lex->select_lex.alloc_index_hints(thd);
+ Select->set_index_hint_type(INDEX_HINT_USE,
+ old_mode ?
+ INDEX_HINT_MASK_JOIN :
+@@ -7471,7 +7435,6 @@ select_item_list:
+ | select_item
+ | '*'
+ {
+- THD *thd= YYTHD;
+ Item *item= new (thd->mem_root)
+ Item_field(&thd->lex->current_select->context,
+ NULL, NULL, "*");
+@@ -7486,14 +7449,12 @@ select_item_list:
+ select_item:
+ remember_name table_wild remember_end
+ {
+- THD *thd= YYTHD;
+
+ if (add_item_to_list(thd, $2))
+ MYSQL_YYABORT;
+ }
+ | remember_name expr remember_end select_alias
+ {
+- THD *thd= YYTHD;
+ DBUG_ASSERT($1 < $3);
+
+ if (add_item_to_list(thd, $2))
+@@ -7589,7 +7550,7 @@ expr:
+ else
+ {
+ /* X OR Y */
+- $$ = new (YYTHD->mem_root) Item_cond_or($1, $3);
++ $$ = new (thd->mem_root) Item_cond_or($1, $3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -7597,7 +7558,7 @@ expr:
+ | expr XOR expr %prec XOR
+ {
+ /* XOR is a proprietary extension */
+- $$ = new (YYTHD->mem_root) Item_cond_xor($1, $3);
++ $$ = new (thd->mem_root) Item_cond_xor($1, $3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -7639,50 +7600,50 @@ expr:
+ else
+ {
+ /* X AND Y */
+- $$ = new (YYTHD->mem_root) Item_cond_and($1, $3);
++ $$ = new (thd->mem_root) Item_cond_and($1, $3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ }
+ | NOT_SYM expr %prec NOT_SYM
+ {
+- $$= negate_expression(YYTHD, $2);
++ $$= negate_expression(thd, $2);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bool_pri IS TRUE_SYM %prec IS
+ {
+- $$= new (YYTHD->mem_root) Item_func_istrue($1);
++ $$= new (thd->mem_root) Item_func_istrue($1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bool_pri IS not TRUE_SYM %prec IS
+ {
+- $$= new (YYTHD->mem_root) Item_func_isnottrue($1);
++ $$= new (thd->mem_root) Item_func_isnottrue($1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bool_pri IS FALSE_SYM %prec IS
+ {
+- $$= new (YYTHD->mem_root) Item_func_isfalse($1);
++ $$= new (thd->mem_root) Item_func_isfalse($1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bool_pri IS not FALSE_SYM %prec IS
+ {
+- $$= new (YYTHD->mem_root) Item_func_isnotfalse($1);
++ $$= new (thd->mem_root) Item_func_isnotfalse($1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bool_pri IS UNKNOWN_SYM %prec IS
+ {
+- $$= new (YYTHD->mem_root) Item_func_isnull($1);
++ $$= new (thd->mem_root) Item_func_isnull($1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bool_pri IS not UNKNOWN_SYM %prec IS
+ {
+- $$= new (YYTHD->mem_root) Item_func_isnotnull($1);
++ $$= new (thd->mem_root) Item_func_isnotnull($1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -7692,19 +7653,19 @@ expr:
+ bool_pri:
+ bool_pri IS NULL_SYM %prec IS
+ {
+- $$= new (YYTHD->mem_root) Item_func_isnull($1);
++ $$= new (thd->mem_root) Item_func_isnull($1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bool_pri IS not NULL_SYM %prec IS
+ {
+- $$= new (YYTHD->mem_root) Item_func_isnotnull($1);
++ $$= new (thd->mem_root) Item_func_isnotnull($1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bool_pri EQUAL_SYM predicate %prec EQUAL_SYM
+ {
+- $$= new (YYTHD->mem_root) Item_func_equal($1,$3);
++ $$= new (thd->mem_root) Item_func_equal($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -7726,13 +7687,12 @@ bool_pri:
+ predicate:
+ bit_expr IN_SYM '(' subselect ')'
+ {
+- $$= new (YYTHD->mem_root) Item_in_subselect($1, $4);
++ $$= new (thd->mem_root) Item_in_subselect($1, $4);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr not IN_SYM '(' subselect ')'
+ {
+- THD *thd= YYTHD;
+ Item *item= new (thd->mem_root) Item_in_subselect($1, $5);
+ if (item == NULL)
+ MYSQL_YYABORT;
+@@ -7742,7 +7702,7 @@ predicate:
+ }
+ | bit_expr IN_SYM '(' expr ')'
+ {
+- $$= handle_sql2003_note184_exception(YYTHD, $1, true, $4);
++ $$= handle_sql2003_note184_exception(thd, $1, true, $4);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -7750,13 +7710,13 @@ predicate:
+ {
+ $6->push_front($4);
+ $6->push_front($1);
+- $$= new (YYTHD->mem_root) Item_func_in(*$6);
++ $$= new (thd->mem_root) Item_func_in(*$6);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr not IN_SYM '(' expr ')'
+ {
+- $$= handle_sql2003_note184_exception(YYTHD, $1, false, $5);
++ $$= handle_sql2003_note184_exception(thd, $1, false, $5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -7764,7 +7724,7 @@ predicate:
+ {
+ $7->push_front($5);
+ $7->push_front($1);
+- Item_func_in *item = new (YYTHD->mem_root) Item_func_in(*$7);
++ Item_func_in *item = new (thd->mem_root) Item_func_in(*$7);
+ if (item == NULL)
+ MYSQL_YYABORT;
+ item->negate();
+@@ -7772,14 +7732,14 @@ predicate:
+ }
+ | bit_expr BETWEEN_SYM bit_expr AND_SYM predicate
+ {
+- $$= new (YYTHD->mem_root) Item_func_between($1,$3,$5);
++ $$= new (thd->mem_root) Item_func_between($1,$3,$5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr not BETWEEN_SYM bit_expr AND_SYM predicate
+ {
+ Item_func_between *item;
+- item= new (YYTHD->mem_root) Item_func_between($1,$4,$6);
++ item= new (thd->mem_root) Item_func_between($1,$4,$6);
+ if (item == NULL)
+ MYSQL_YYABORT;
+ item->negate();
+@@ -7787,42 +7747,42 @@ predicate:
+ }
+ | bit_expr SOUNDS_SYM LIKE bit_expr
+ {
+- Item *item1= new (YYTHD->mem_root) Item_func_soundex($1);
+- Item *item4= new (YYTHD->mem_root) Item_func_soundex($4);
++ Item *item1= new (thd->mem_root) Item_func_soundex($1);
++ Item *item4= new (thd->mem_root) Item_func_soundex($4);
+ if ((item1 == NULL) || (item4 == NULL))
+ MYSQL_YYABORT;
+- $$= new (YYTHD->mem_root) Item_func_eq(item1, item4);
++ $$= new (thd->mem_root) Item_func_eq(item1, item4);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr LIKE simple_expr opt_escape
+ {
+- $$= new (YYTHD->mem_root) Item_func_like($1,$3,$4,Lex->escape_used);
++ $$= new (thd->mem_root) Item_func_like($1,$3,$4,Lex->escape_used);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr not LIKE simple_expr opt_escape
+ {
+- Item *item= new (YYTHD->mem_root) Item_func_like($1,$4,$5,
++ Item *item= new (thd->mem_root) Item_func_like($1,$4,$5,
+ Lex->escape_used);
+ if (item == NULL)
+ MYSQL_YYABORT;
+- $$= new (YYTHD->mem_root) Item_func_not(item);
++ $$= new (thd->mem_root) Item_func_not(item);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr REGEXP bit_expr
+ {
+- $$= new (YYTHD->mem_root) Item_func_regex($1,$3);
++ $$= new (thd->mem_root) Item_func_regex($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr not REGEXP bit_expr
+ {
+- Item *item= new (YYTHD->mem_root) Item_func_regex($1,$4);
++ Item *item= new (thd->mem_root) Item_func_regex($1,$4);
+ if (item == NULL)
+ MYSQL_YYABORT;
+- $$= negate_expression(YYTHD, item);
++ $$= negate_expression(thd, item);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -7832,85 +7792,85 @@ predicate:
+ bit_expr:
+ bit_expr '|' bit_expr %prec '|'
+ {
+- $$= new (YYTHD->mem_root) Item_func_bit_or($1,$3);
++ $$= new (thd->mem_root) Item_func_bit_or($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr '&' bit_expr %prec '&'
+ {
+- $$= new (YYTHD->mem_root) Item_func_bit_and($1,$3);
++ $$= new (thd->mem_root) Item_func_bit_and($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr SHIFT_LEFT bit_expr %prec SHIFT_LEFT
+ {
+- $$= new (YYTHD->mem_root) Item_func_shift_left($1,$3);
++ $$= new (thd->mem_root) Item_func_shift_left($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr SHIFT_RIGHT bit_expr %prec SHIFT_RIGHT
+ {
+- $$= new (YYTHD->mem_root) Item_func_shift_right($1,$3);
++ $$= new (thd->mem_root) Item_func_shift_right($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr '+' bit_expr %prec '+'
+ {
+- $$= new (YYTHD->mem_root) Item_func_plus($1,$3);
++ $$= new (thd->mem_root) Item_func_plus($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr '-' bit_expr %prec '-'
+ {
+- $$= new (YYTHD->mem_root) Item_func_minus($1,$3);
++ $$= new (thd->mem_root) Item_func_minus($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr '+' INTERVAL_SYM expr interval %prec '+'
+ {
+- $$= new (YYTHD->mem_root) Item_date_add_interval($1,$4,$5,0);
++ $$= new (thd->mem_root) Item_date_add_interval($1,$4,$5,0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr '-' INTERVAL_SYM expr interval %prec '-'
+ {
+- $$= new (YYTHD->mem_root) Item_date_add_interval($1,$4,$5,1);
++ $$= new (thd->mem_root) Item_date_add_interval($1,$4,$5,1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr '*' bit_expr %prec '*'
+ {
+- $$= new (YYTHD->mem_root) Item_func_mul($1,$3);
++ $$= new (thd->mem_root) Item_func_mul($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr '/' bit_expr %prec '/'
+ {
+- $$= new (YYTHD->mem_root) Item_func_div($1,$3);
++ $$= new (thd->mem_root) Item_func_div($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr '%' bit_expr %prec '%'
+ {
+- $$= new (YYTHD->mem_root) Item_func_mod($1,$3);
++ $$= new (thd->mem_root) Item_func_mod($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr DIV_SYM bit_expr %prec DIV_SYM
+ {
+- $$= new (YYTHD->mem_root) Item_func_int_div($1,$3);
++ $$= new (thd->mem_root) Item_func_int_div($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr MOD_SYM bit_expr %prec MOD_SYM
+ {
+- $$= new (YYTHD->mem_root) Item_func_mod($1,$3);
++ $$= new (thd->mem_root) Item_func_mod($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | bit_expr '^' bit_expr
+ {
+- $$= new (YYTHD->mem_root) Item_func_bit_xor($1,$3);
++ $$= new (thd->mem_root) Item_func_bit_xor($1,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -7959,7 +7919,6 @@ simple_expr:
+ | function_call_conflict
+ | simple_expr COLLATE_SYM ident_or_text %prec NEG
+ {
+- THD *thd= YYTHD;
+ Item *i1= new (thd->mem_root) Item_string($3.str,
+ $3.length,
+ thd->charset());
+@@ -7975,7 +7934,7 @@ simple_expr:
+ | sum_expr
+ | simple_expr OR_OR_SYM simple_expr
+ {
+- $$= new (YYTHD->mem_root) Item_func_concat($1, $3);
++ $$= new (thd->mem_root) Item_func_concat($1, $3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -7985,25 +7944,25 @@ simple_expr:
+ }
+ | '-' simple_expr %prec NEG
+ {
+- $$= new (YYTHD->mem_root) Item_func_neg($2);
++ $$= new (thd->mem_root) Item_func_neg($2);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | '~' simple_expr %prec NEG
+ {
+- $$= new (YYTHD->mem_root) Item_func_bit_neg($2);
++ $$= new (thd->mem_root) Item_func_bit_neg($2);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | not2 simple_expr %prec NEG
+ {
+- $$= negate_expression(YYTHD, $2);
++ $$= negate_expression(thd, $2);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | '(' subselect ')'
+ {
+- $$= new (YYTHD->mem_root) Item_singlerow_subselect($2);
++ $$= new (thd->mem_root) Item_singlerow_subselect($2);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -8012,20 +7971,20 @@ simple_expr:
+ | '(' expr ',' expr_list ')'
+ {
+ $4->push_front($2);
+- $$= new (YYTHD->mem_root) Item_row(*$4);
++ $$= new (thd->mem_root) Item_row(*$4);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | ROW_SYM '(' expr ',' expr_list ')'
+ {
+ $5->push_front($3);
+- $$= new (YYTHD->mem_root) Item_row(*$5);
++ $$= new (thd->mem_root) Item_row(*$5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | EXISTS '(' subselect ')'
+ {
+- $$= new (YYTHD->mem_root) Item_exists_subselect($3);
++ $$= new (thd->mem_root) Item_exists_subselect($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -8034,7 +7993,7 @@ simple_expr:
+ | MATCH ident_list_arg AGAINST '(' bit_expr fulltext_options ')'
+ {
+ $2->push_front($5);
+- Item_func_match *i1= new (YYTHD->mem_root) Item_func_match(*$2, $6);
++ Item_func_match *i1= new (thd->mem_root) Item_func_match(*$2, $6);
+ if (i1 == NULL)
+ MYSQL_YYABORT;
+ Select->add_ftfunc_to_list(i1);
+@@ -8042,7 +8001,7 @@ simple_expr:
+ }
+ | BINARY simple_expr %prec NEG
+ {
+- $$= create_func_cast(YYTHD, $2, ITEM_CAST_CHAR, NULL, NULL,
++ $$= create_func_cast(thd, $2, ITEM_CAST_CHAR, NULL, NULL,
+ &my_charset_bin);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+@@ -8050,27 +8009,27 @@ simple_expr:
+ | CAST_SYM '(' expr AS cast_type ')'
+ {
+ LEX *lex= Lex;
+- $$= create_func_cast(YYTHD, $3, $5, lex->length, lex->dec,
++ $$= create_func_cast(thd, $3, $5, lex->length, lex->dec,
+ lex->charset);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | CASE_SYM opt_expr when_list opt_else END
+ {
+- $$= new (YYTHD->mem_root) Item_func_case(* $3, $2, $4 );
++ $$= new (thd->mem_root) Item_func_case(* $3, $2, $4 );
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | CONVERT_SYM '(' expr ',' cast_type ')'
+ {
+- $$= create_func_cast(YYTHD, $3, $5, Lex->length, Lex->dec,
++ $$= create_func_cast(thd, $3, $5, Lex->length, Lex->dec,
+ Lex->charset);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | CONVERT_SYM '(' expr USING charset_name ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_conv_charset($3,$5);
++ $$= new (thd->mem_root) Item_func_conv_charset($3,$5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -8083,14 +8042,14 @@ simple_expr:
+ my_error(ER_WRONG_COLUMN_NAME, MYF(0), il->my_name()->str);
+ MYSQL_YYABORT;
+ }
+- $$= new (YYTHD->mem_root) Item_default_value(Lex->current_context(),
++ $$= new (thd->mem_root) Item_default_value(Lex->current_context(),
+ $3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | VALUES '(' simple_ident_nospvar ')'
+ {
+- $$= new (YYTHD->mem_root) Item_insert_value(Lex->current_context(),
++ $$= new (thd->mem_root) Item_insert_value(Lex->current_context(),
+ $3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+@@ -8098,7 +8057,7 @@ simple_expr:
+ | INTERVAL_SYM expr interval '+' expr %prec INTERVAL_SYM
+ /* we cannot put interval before - */
+ {
+- $$= new (YYTHD->mem_root) Item_date_add_interval($5,$2,$3,0);
++ $$= new (thd->mem_root) Item_date_add_interval($5,$2,$3,0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -8113,19 +8072,19 @@ simple_expr:
+ function_call_keyword:
+ CHAR_SYM '(' expr_list ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_char(*$3);
++ $$= new (thd->mem_root) Item_func_char(*$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | CHAR_SYM '(' expr_list USING charset_name ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_char(*$3, $5);
++ $$= new (thd->mem_root) Item_func_char(*$3, $5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | CURRENT_USER optional_braces
+ {
+- $$= new (YYTHD->mem_root) Item_func_current_user(Lex->current_context());
++ $$= new (thd->mem_root) Item_func_current_user(Lex->current_context());
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
+@@ -8133,31 +8092,30 @@ function_call_keyword:
+ }
+ | DATE_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_date_typecast($3);
++ $$= new (thd->mem_root) Item_date_typecast($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | DAY_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_dayofmonth($3);
++ $$= new (thd->mem_root) Item_func_dayofmonth($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | HOUR_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_hour($3);
++ $$= new (thd->mem_root) Item_func_hour($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | INSERT '(' expr ',' expr ',' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_insert($3,$5,$7,$9);
++ $$= new (thd->mem_root) Item_func_insert($3,$5,$7,$9);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | INTERVAL_SYM '(' expr ',' expr ')' %prec INTERVAL_SYM
+ {
+- THD *thd= YYTHD;
+ List<Item> *list= new (thd->mem_root) List<Item>;
+ if (list == NULL)
+ MYSQL_YYABORT;
+@@ -8172,7 +8130,6 @@ function_call_keyword:
+ }
+ | INTERVAL_SYM '(' expr ',' expr ',' expr_list ')' %prec INTERVAL_SYM
+ {
+- THD *thd= YYTHD;
+ $7->push_front($5);
+ $7->push_front($3);
+ Item_row *item= new (thd->mem_root) Item_row(*$7);
+@@ -8184,103 +8141,103 @@ function_call_keyword:
+ }
+ | LEFT '(' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_left($3,$5);
++ $$= new (thd->mem_root) Item_func_left($3,$5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | MINUTE_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_minute($3);
++ $$= new (thd->mem_root) Item_func_minute($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | MONTH_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_month($3);
++ $$= new (thd->mem_root) Item_func_month($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | RIGHT '(' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_right($3,$5);
++ $$= new (thd->mem_root) Item_func_right($3,$5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | SECOND_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_second($3);
++ $$= new (thd->mem_root) Item_func_second($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TIME_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_time_typecast($3);
++ $$= new (thd->mem_root) Item_time_typecast($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TIMESTAMP '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_datetime_typecast($3);
++ $$= new (thd->mem_root) Item_datetime_typecast($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TIMESTAMP '(' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_add_time($3, $5, 1, 0);
++ $$= new (thd->mem_root) Item_func_add_time($3, $5, 1, 0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TRIM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_trim($3);
++ $$= new (thd->mem_root) Item_func_trim($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TRIM '(' LEADING expr FROM expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_ltrim($6,$4);
++ $$= new (thd->mem_root) Item_func_ltrim($6,$4);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TRIM '(' TRAILING expr FROM expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_rtrim($6,$4);
++ $$= new (thd->mem_root) Item_func_rtrim($6,$4);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TRIM '(' BOTH expr FROM expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_trim($6,$4);
++ $$= new (thd->mem_root) Item_func_trim($6,$4);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TRIM '(' LEADING FROM expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_ltrim($5);
++ $$= new (thd->mem_root) Item_func_ltrim($5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TRIM '(' TRAILING FROM expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_rtrim($5);
++ $$= new (thd->mem_root) Item_func_rtrim($5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TRIM '(' BOTH FROM expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_trim($5);
++ $$= new (thd->mem_root) Item_func_trim($5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TRIM '(' expr FROM expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_trim($5,$3);
++ $$= new (thd->mem_root) Item_func_trim($5,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | USER '(' ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_user();
++ $$= new (thd->mem_root) Item_func_user();
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
+@@ -8288,7 +8245,7 @@ function_call_keyword:
+ }
+ | YEAR_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_year($3);
++ $$= new (thd->mem_root) Item_func_year($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -8309,34 +8266,34 @@ function_call_keyword:
+ function_call_nonkeyword:
+ ADDDATE_SYM '(' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_date_add_interval($3, $5,
++ $$= new (thd->mem_root) Item_date_add_interval($3, $5,
+ INTERVAL_DAY, 0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | ADDDATE_SYM '(' expr ',' INTERVAL_SYM expr interval ')'
+ {
+- $$= new (YYTHD->mem_root) Item_date_add_interval($3, $6, $7, 0);
++ $$= new (thd->mem_root) Item_date_add_interval($3, $6, $7, 0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | CURDATE optional_braces
+ {
+- $$= new (YYTHD->mem_root) Item_func_curdate_local();
++ $$= new (thd->mem_root) Item_func_curdate_local();
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->safe_to_cache_query=0;
+ }
+ | CURTIME optional_braces
+ {
+- $$= new (YYTHD->mem_root) Item_func_curtime_local();
++ $$= new (thd->mem_root) Item_func_curtime_local();
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->safe_to_cache_query=0;
+ }
+ | CURTIME '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_curtime_local($3);
++ $$= new (thd->mem_root) Item_func_curtime_local($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->safe_to_cache_query=0;
+@@ -8344,83 +8301,83 @@ function_call_nonkeyword:
+ | DATE_ADD_INTERVAL '(' expr ',' INTERVAL_SYM expr interval ')'
+ %prec INTERVAL_SYM
+ {
+- $$= new (YYTHD->mem_root) Item_date_add_interval($3,$6,$7,0);
++ $$= new (thd->mem_root) Item_date_add_interval($3,$6,$7,0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | DATE_SUB_INTERVAL '(' expr ',' INTERVAL_SYM expr interval ')'
+ %prec INTERVAL_SYM
+ {
+- $$= new (YYTHD->mem_root) Item_date_add_interval($3,$6,$7,1);
++ $$= new (thd->mem_root) Item_date_add_interval($3,$6,$7,1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | EXTRACT_SYM '(' interval FROM expr ')'
+ {
+- $$=new (YYTHD->mem_root) Item_extract( $3, $5);
++ $$=new (thd->mem_root) Item_extract( $3, $5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | GET_FORMAT '(' date_time_type ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_get_format($3, $5);
++ $$= new (thd->mem_root) Item_func_get_format($3, $5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | NOW_SYM optional_braces
+ {
+- $$= new (YYTHD->mem_root) Item_func_now_local();
++ $$= new (thd->mem_root) Item_func_now_local();
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->safe_to_cache_query=0;
+ }
+ | NOW_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_now_local($3);
++ $$= new (thd->mem_root) Item_func_now_local($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->safe_to_cache_query=0;
+ }
+ | POSITION_SYM '(' bit_expr IN_SYM expr ')'
+ {
+- $$ = new (YYTHD->mem_root) Item_func_locate($5,$3);
++ $$ = new (thd->mem_root) Item_func_locate($5,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | SUBDATE_SYM '(' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_date_add_interval($3, $5,
++ $$= new (thd->mem_root) Item_date_add_interval($3, $5,
+ INTERVAL_DAY, 1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | SUBDATE_SYM '(' expr ',' INTERVAL_SYM expr interval ')'
+ {
+- $$= new (YYTHD->mem_root) Item_date_add_interval($3, $6, $7, 1);
++ $$= new (thd->mem_root) Item_date_add_interval($3, $6, $7, 1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | SUBSTRING '(' expr ',' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_substr($3,$5,$7);
++ $$= new (thd->mem_root) Item_func_substr($3,$5,$7);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | SUBSTRING '(' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_substr($3,$5);
++ $$= new (thd->mem_root) Item_func_substr($3,$5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | SUBSTRING '(' expr FROM expr FOR_SYM expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_substr($3,$5,$7);
++ $$= new (thd->mem_root) Item_func_substr($3,$5,$7);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | SUBSTRING '(' expr FROM expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_substr($3,$5);
++ $$= new (thd->mem_root) Item_func_substr($3,$5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -8435,9 +8392,9 @@ function_call_nonkeyword:
+ */
+ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
+ if (global_system_variables.sysdate_is_now == 0)
+- $$= new (YYTHD->mem_root) Item_func_sysdate_local();
++ $$= new (thd->mem_root) Item_func_sysdate_local();
+ else
+- $$= new (YYTHD->mem_root) Item_func_now_local();
++ $$= new (thd->mem_root) Item_func_now_local();
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->safe_to_cache_query=0;
+@@ -8445,42 +8402,42 @@ function_call_nonkeyword:
+ | SYSDATE '(' expr ')'
+ {
+ if (global_system_variables.sysdate_is_now == 0)
+- $$= new (YYTHD->mem_root) Item_func_sysdate_local($3);
++ $$= new (thd->mem_root) Item_func_sysdate_local($3);
+ else
+- $$= new (YYTHD->mem_root) Item_func_now_local($3);
++ $$= new (thd->mem_root) Item_func_now_local($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->safe_to_cache_query=0;
+ }
+ | TIMESTAMP_ADD '(' interval_time_stamp ',' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_date_add_interval($7,$5,$3,0);
++ $$= new (thd->mem_root) Item_date_add_interval($7,$5,$3,0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TIMESTAMP_DIFF '(' interval_time_stamp ',' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_timestamp_diff($5,$7,$3);
++ $$= new (thd->mem_root) Item_func_timestamp_diff($5,$7,$3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | UTC_DATE_SYM optional_braces
+ {
+- $$= new (YYTHD->mem_root) Item_func_curdate_utc();
++ $$= new (thd->mem_root) Item_func_curdate_utc();
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->safe_to_cache_query=0;
+ }
+ | UTC_TIME_SYM optional_braces
+ {
+- $$= new (YYTHD->mem_root) Item_func_curtime_utc();
++ $$= new (thd->mem_root) Item_func_curtime_utc();
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->safe_to_cache_query=0;
+ }
+ | UTC_TIMESTAMP_SYM optional_braces
+ {
+- $$= new (YYTHD->mem_root) Item_func_now_utc();
++ $$= new (thd->mem_root) Item_func_now_utc();
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->safe_to_cache_query=0;
+@@ -8495,62 +8452,61 @@ function_call_nonkeyword:
+ function_call_conflict:
+ ASCII_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_ascii($3);
++ $$= new (thd->mem_root) Item_func_ascii($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | CHARSET '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_charset($3);
++ $$= new (thd->mem_root) Item_func_charset($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | COALESCE '(' expr_list ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_coalesce(* $3);
++ $$= new (thd->mem_root) Item_func_coalesce(* $3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | COLLATION_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_collation($3);
++ $$= new (thd->mem_root) Item_func_collation($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | DATABASE '(' ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_database();
++ $$= new (thd->mem_root) Item_func_database();
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ Lex->safe_to_cache_query=0;
+ }
+ | IF '(' expr ',' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_if($3,$5,$7);
++ $$= new (thd->mem_root) Item_func_if($3,$5,$7);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | MICROSECOND_SYM '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_microsecond($3);
++ $$= new (thd->mem_root) Item_func_microsecond($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | MOD_SYM '(' expr ',' expr ')'
+ {
+- $$ = new (YYTHD->mem_root) Item_func_mod($3, $5);
++ $$ = new (thd->mem_root) Item_func_mod($3, $5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | OLD_PASSWORD '(' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_old_password($3);
++ $$= new (thd->mem_root) Item_func_old_password($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | PASSWORD '(' expr ')'
+ {
+- THD *thd= YYTHD;
+ Item* i1;
+ if (thd->variables.old_passwords)
+ i1= new (thd->mem_root) Item_func_old_password($3);
+@@ -8562,31 +8518,30 @@ function_call_conflict:
+ }
+ | QUARTER_SYM '(' expr ')'
+ {
+- $$ = new (YYTHD->mem_root) Item_func_quarter($3);
++ $$ = new (thd->mem_root) Item_func_quarter($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | REPEAT_SYM '(' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_repeat($3,$5);
++ $$= new (thd->mem_root) Item_func_repeat($3,$5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | REPLACE '(' expr ',' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_replace($3,$5,$7);
++ $$= new (thd->mem_root) Item_func_replace($3,$5,$7);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TRUNCATE_SYM '(' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_round($3,$5,1);
++ $$= new (thd->mem_root) Item_func_round($3,$5,1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | WEEK_SYM '(' expr ')'
+ {
+- THD *thd= YYTHD;
+ Item *i1= new (thd->mem_root) Item_int((char*) "0",
+ thd->variables.default_week_format,
+ 1);
+@@ -8598,7 +8553,7 @@ function_call_conflict:
+ }
+ | WEEK_SYM '(' expr ',' expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_func_week($3,$5);
++ $$= new (thd->mem_root) Item_func_week($3,$5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -8620,52 +8575,52 @@ function_call_conflict:
+ geometry_function:
+ CONTAINS_SYM '(' expr ',' expr ')'
+ {
+- $$= GEOM_NEW(YYTHD,
++ $$= GEOM_NEW(thd,
+ Item_func_spatial_rel($3, $5,
+ Item_func::SP_CONTAINS_FUNC));
+ }
+ | GEOMETRYCOLLECTION '(' expr_list ')'
+ {
+- $$= GEOM_NEW(YYTHD,
++ $$= GEOM_NEW(thd,
+ Item_func_spatial_collection(* $3,
+ Geometry::wkb_geometrycollection,
+ Geometry::wkb_point));
+ }
+ | LINESTRING '(' expr_list ')'
+ {
+- $$= GEOM_NEW(YYTHD,
++ $$= GEOM_NEW(thd,
+ Item_func_spatial_collection(* $3,
+ Geometry::wkb_linestring,
+ Geometry::wkb_point));
+ }
+ | MULTILINESTRING '(' expr_list ')'
+ {
+- $$= GEOM_NEW(YYTHD,
++ $$= GEOM_NEW(thd,
+ Item_func_spatial_collection(* $3,
+ Geometry::wkb_multilinestring,
+ Geometry::wkb_linestring));
+ }
+ | MULTIPOINT '(' expr_list ')'
+ {
+- $$= GEOM_NEW(YYTHD,
++ $$= GEOM_NEW(thd,
+ Item_func_spatial_collection(* $3,
+ Geometry::wkb_multipoint,
+ Geometry::wkb_point));
+ }
+ | MULTIPOLYGON '(' expr_list ')'
+ {
+- $$= GEOM_NEW(YYTHD,
++ $$= GEOM_NEW(thd,
+ Item_func_spatial_collection(* $3,
+ Geometry::wkb_multipolygon,
+ Geometry::wkb_polygon));
+ }
+ | POINT_SYM '(' expr ',' expr ')'
+ {
+- $$= GEOM_NEW(YYTHD, Item_func_point($3,$5));
++ $$= GEOM_NEW(thd, Item_func_point($3,$5));
+ }
+ | POLYGON '(' expr_list ')'
+ {
+- $$= GEOM_NEW(YYTHD,
++ $$= GEOM_NEW(thd,
+ Item_func_spatial_collection(* $3,
+ Geometry::wkb_polygon,
+ Geometry::wkb_linestring));
+@@ -8703,7 +8658,6 @@ function_call_generic:
+ }
+ opt_udf_expr_list ')'
+ {
+- THD *thd= YYTHD;
+ Create_func *builder;
+ Item *item= NULL;
+
+@@ -8757,7 +8711,6 @@ function_call_generic:
+ }
+ | ident '.' ident '(' opt_expr_list ')'
+ {
+- THD *thd= YYTHD;
+ Create_qfunc *builder;
+ Item *item= NULL;
+
+@@ -8821,7 +8774,7 @@ opt_udf_expr_list:
+ udf_expr_list:
+ udf_expr
+ {
+- $$= new (YYTHD->mem_root) List<Item>;
++ $$= new (thd->mem_root) List<Item>;
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ $$->push_back($1);
+@@ -8854,7 +8807,7 @@ udf_expr:
+ remember_name we may get quoted or escaped names.
+ */
+ else if ($2->type() != Item::FIELD_ITEM)
+- $2->set_name($1, (uint) ($3 - $1), YYTHD->charset());
++ $2->set_name($1, (uint) ($3 - $1), thd->charset());
+ $$= $2;
+ }
+ ;
+@@ -8862,46 +8815,46 @@ udf_expr:
+ sum_expr:
+ AVG_SYM '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_avg($3, FALSE);
++ $$= new (thd->mem_root) Item_sum_avg($3, FALSE);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | AVG_SYM '(' DISTINCT in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_avg($4, TRUE);
++ $$= new (thd->mem_root) Item_sum_avg($4, TRUE);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | BIT_AND '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_and($3);
++ $$= new (thd->mem_root) Item_sum_and($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | BIT_OR '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_or($3);
++ $$= new (thd->mem_root) Item_sum_or($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | BIT_XOR '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_xor($3);
++ $$= new (thd->mem_root) Item_sum_xor($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | COUNT_SYM '(' opt_all '*' ')'
+ {
+- Item *item= new (YYTHD->mem_root) Item_int((int32) 0L,1);
++ Item *item= new (thd->mem_root) Item_int((int32) 0L,1);
+ if (item == NULL)
+ MYSQL_YYABORT;
+- $$= new (YYTHD->mem_root) Item_sum_count(item);
++ $$= new (thd->mem_root) Item_sum_count(item);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | COUNT_SYM '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_count($3);
++ $$= new (thd->mem_root) Item_sum_count($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -8911,13 +8864,13 @@ sum_expr:
+ { Select->in_sum_expr--; }
+ ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_count(* $5);
++ $$= new (thd->mem_root) Item_sum_count(* $5);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | MIN_SYM '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_min($3);
++ $$= new (thd->mem_root) Item_sum_min($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -8928,55 +8881,55 @@ sum_expr:
+ */
+ | MIN_SYM '(' DISTINCT in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_min($4);
++ $$= new (thd->mem_root) Item_sum_min($4);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | MAX_SYM '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_max($3);
++ $$= new (thd->mem_root) Item_sum_max($3);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | MAX_SYM '(' DISTINCT in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_max($4);
++ $$= new (thd->mem_root) Item_sum_max($4);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | STD_SYM '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_std($3, 0);
++ $$= new (thd->mem_root) Item_sum_std($3, 0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | VARIANCE_SYM '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_variance($3, 0);
++ $$= new (thd->mem_root) Item_sum_variance($3, 0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | STDDEV_SAMP_SYM '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_std($3, 1);
++ $$= new (thd->mem_root) Item_sum_std($3, 1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | VAR_SAMP_SYM '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_variance($3, 1);
++ $$= new (thd->mem_root) Item_sum_variance($3, 1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | SUM_SYM '(' in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_sum($3, FALSE);
++ $$= new (thd->mem_root) Item_sum_sum($3, FALSE);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | SUM_SYM '(' DISTINCT in_sum_expr ')'
+ {
+- $$= new (YYTHD->mem_root) Item_sum_sum($4, TRUE);
++ $$= new (thd->mem_root) Item_sum_sum($4, TRUE);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -8988,7 +8941,7 @@ sum_expr:
+ {
+ SELECT_LEX *sel= Select;
+ sel->in_sum_expr--;
+- $$= new (YYTHD->mem_root)
++ $$= new (thd->mem_root)
+ Item_func_group_concat(Lex->current_context(), $3, $5,
+ sel->gorder_list, $7);
+ if ($$ == NULL)
+@@ -9017,7 +8970,7 @@ variable_aux:
+ ident_or_text SET_VAR expr
+ {
+ Item_func_set_user_var *item;
+- $$= item= new (YYTHD->mem_root) Item_func_set_user_var($1, $3, false);
++ $$= item= new (thd->mem_root) Item_func_set_user_var($1, $3, false);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ LEX *lex= Lex;
+@@ -9026,7 +8979,7 @@ variable_aux:
+ }
+ | ident_or_text
+ {
+- $$= new (YYTHD->mem_root) Item_func_get_user_var($1);
++ $$= new (thd->mem_root) Item_func_get_user_var($1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ LEX *lex= Lex;
+@@ -9040,7 +8993,7 @@ variable_aux:
+ my_parse_error(ER(ER_SYNTAX_ERROR));
+ MYSQL_YYABORT;
+ }
+- if (!($$= get_system_var(YYTHD, $2, $3, $4)))
++ if (!($$= get_system_var(thd, $2, $3, $4)))
+ MYSQL_YYABORT;
+ if (!((Item_func_get_system_var*) $$)->is_written_to_binlog())
+ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_VARIABLE);
+@@ -9055,7 +9008,7 @@ opt_distinct:
+ opt_gconcat_separator:
+ /* empty */
+ {
+- $$= new (YYTHD->mem_root) String(",", 1, &my_charset_latin1);
++ $$= new (thd->mem_root) String(",", 1, &my_charset_latin1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -9082,9 +9035,9 @@ opt_gorder_clause:
+
+ gorder_list:
+ gorder_list ',' order_ident order_dir
+- { if (add_gorder_to_list(YYTHD, $3,(bool) $4)) MYSQL_YYABORT; }
++ { if (add_gorder_to_list(thd, $3,(bool) $4)) MYSQL_YYABORT; }
+ | order_ident order_dir
+- { if (add_gorder_to_list(YYTHD, $1,(bool) $2)) MYSQL_YYABORT; }
++ { if (add_gorder_to_list(thd, $1,(bool) $2)) MYSQL_YYABORT; }
+ ;
+
+ in_sum_expr:
+@@ -9137,7 +9090,7 @@ opt_expr_list:
+ expr_list:
+ expr
+ {
+- $$= new (YYTHD->mem_root) List<Item>;
++ $$= new (thd->mem_root) List<Item>;
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ $$->push_back($1);
+@@ -9157,7 +9110,7 @@ ident_list_arg:
+ ident_list:
+ simple_ident
+ {
+- $$= new (YYTHD->mem_root) List<Item>;
++ $$= new (thd->mem_root) List<Item>;
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ $$->push_back($1);
+@@ -9257,7 +9210,7 @@ join_table:
+ {
+ MYSQL_YYABORT_UNLESS($1 && $3);
+ /* Change the current name resolution context to a local context. */
+- if (push_new_name_resolution_context(YYTHD, $1, $3))
++ if (push_new_name_resolution_context(thd, $1, $3))
+ MYSQL_YYABORT;
+ Select->parsing_place= IN_ON;
+ }
+@@ -9272,7 +9225,7 @@ join_table:
+ {
+ MYSQL_YYABORT_UNLESS($1 && $3);
+ /* Change the current name resolution context to a local context. */
+- if (push_new_name_resolution_context(YYTHD, $1, $3))
++ if (push_new_name_resolution_context(thd, $1, $3))
+ MYSQL_YYABORT;
+ Select->parsing_place= IN_ON;
+ }
+@@ -9302,7 +9255,7 @@ join_table:
+ {
+ MYSQL_YYABORT_UNLESS($1 && $5);
+ /* Change the current name resolution context to a local context. */
+- if (push_new_name_resolution_context(YYTHD, $1, $5))
++ if (push_new_name_resolution_context(thd, $1, $5))
+ MYSQL_YYABORT;
+ Select->parsing_place= IN_ON;
+ }
+@@ -9338,7 +9291,7 @@ join_table:
+ {
+ MYSQL_YYABORT_UNLESS($1 && $5);
+ /* Change the current name resolution context to a local context. */
+- if (push_new_name_resolution_context(YYTHD, $1, $5))
++ if (push_new_name_resolution_context(thd, $1, $5))
+ MYSQL_YYABORT;
+ Select->parsing_place= IN_ON;
+ }
+@@ -9393,7 +9346,7 @@ table_factor:
+ }
+ table_ident opt_table_alias opt_key_definition
+ {
+- if (!($$= Select->add_table_to_list(YYTHD, $2, $3,
++ if (!($$= Select->add_table_to_list(thd, $2, $3,
+ Select->get_table_join_options(),
+ YYPS->m_lock_type,
+ YYPS->m_mdl_type,
+@@ -9700,7 +9653,7 @@ index_hints_list:
+
+ opt_index_hints_list:
+ /* empty */
+- | { Select->alloc_index_hints(YYTHD); } index_hints_list
++ | { Select->alloc_index_hints(thd); } index_hints_list
+ ;
+
+ opt_key_definition:
+@@ -9709,15 +9662,15 @@ opt_key_definition:
+ ;
+
+ opt_key_usage_list:
+- /* empty */ { Select->add_index_hint(YYTHD, NULL, 0); }
++ /* empty */ { Select->add_index_hint(thd, NULL, 0); }
+ | key_usage_list {}
+ ;
+
+ key_usage_element:
+ ident
+- { Select->add_index_hint(YYTHD, $1.str, $1.length); }
++ { Select->add_index_hint(thd, $1.str, $1.length); }
+ | PRIMARY_SYM
+- { Select->add_index_hint(YYTHD, (char *)"PRIMARY", 7); }
++ { Select->add_index_hint(thd, (char *)"PRIMARY", 7); }
+ ;
+
+ key_usage_list:
+@@ -9730,7 +9683,7 @@ using_list:
+ {
+ if (!($$= new List<String>))
+ MYSQL_YYABORT;
+- String *s= new (YYTHD->mem_root) String((const char *) $1.str,
++ String *s= new (thd->mem_root) String((const char *) $1.str,
+ $1.length,
+ system_charset_info);
+ if (s == NULL)
+@@ -9739,7 +9692,7 @@ using_list:
+ }
+ | using_list ',' ident
+ {
+- String *s= new (YYTHD->mem_root) String((const char *) $3.str,
++ String *s= new (thd->mem_root) String((const char *) $3.str,
+ $3.length,
+ system_charset_info);
+ if (s == NULL)
+@@ -9844,7 +9797,6 @@ opt_escape:
+ }
+ | /* empty */
+ {
+- THD *thd= YYTHD;
+ Lex->escape_used= FALSE;
+ $$= ((thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES) ?
+ new (thd->mem_root) Item_string("", 0, &my_charset_latin1) :
+@@ -9865,9 +9817,9 @@ group_clause:
+
+ group_list:
+ group_list ',' order_ident order_dir
+- { if (add_group_to_list(YYTHD, $3,(bool) $4)) MYSQL_YYABORT; }
++ { if (add_group_to_list(thd, $3,(bool) $4)) MYSQL_YYABORT; }
+ | order_ident order_dir
+- { if (add_group_to_list(YYTHD, $1,(bool) $2)) MYSQL_YYABORT; }
++ { if (add_group_to_list(thd, $1,(bool) $2)) MYSQL_YYABORT; }
+ ;
+
+ olap_opt:
+@@ -9928,7 +9880,6 @@ alter_order_list:
+ alter_order_item:
+ simple_ident_nospvar order_dir
+ {
+- THD *thd= YYTHD;
+ bool ascending= ($2 == 1) ? true : false;
+ if (add_order_to_list(thd, $1, ascending))
+ MYSQL_YYABORT;
+@@ -9981,9 +9932,9 @@ order_clause:
+
+ order_list:
+ order_list ',' order_ident order_dir
+- { if (add_order_to_list(YYTHD, $3,(bool) $4)) MYSQL_YYABORT; }
++ { if (add_order_to_list(thd, $3,(bool) $4)) MYSQL_YYABORT; }
+ | order_ident order_dir
+- { if (add_order_to_list(YYTHD, $1,(bool) $2)) MYSQL_YYABORT; }
++ { if (add_order_to_list(thd, $1,(bool) $2)) MYSQL_YYABORT; }
+ ;
+
+ order_dir:
+@@ -10047,7 +9998,6 @@ limit_option:
+ ident
+ {
+ Item_splocal *splocal;
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Lex_input_stream *lip= & thd->m_parser_state->m_lip;
+ sp_variable_t *spv;
+@@ -10084,19 +10034,19 @@ limit_option:
+ }
+ | ULONGLONG_NUM
+ {
+- $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length);
++ $$= new (thd->mem_root) Item_uint($1.str, $1.length);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | LONG_NUM
+ {
+- $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length);
++ $$= new (thd->mem_root) Item_uint($1.str, $1.length);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | NUM
+ {
+- $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length);
++ $$= new (thd->mem_root) Item_uint($1.str, $1.length);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -10183,7 +10133,7 @@ procedure_clause:
+ lex->proc_list.elements=0;
+ lex->proc_list.first=0;
+ lex->proc_list.next= &lex->proc_list.first;
+- Item_field *item= new (YYTHD->mem_root)
++ Item_field *item= new (thd->mem_root)
+ Item_field(&lex->current_select->context,
+ NULL, NULL, $2.str);
+ if (item == NULL)
+@@ -10208,7 +10158,6 @@ procedure_list2:
+ procedure_item:
+ remember_name expr remember_end
+ {
+- THD *thd= YYTHD;
+
+ if (add_proc_to_list(thd, $2))
+ MYSQL_YYABORT;
+@@ -10383,7 +10332,6 @@ drop:
+ }
+ | DROP FUNCTION_SYM if_exists ident '.' ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ sp_name *spname;
+ if ($4.str && check_db_name(&$4))
+@@ -10406,7 +10354,6 @@ drop:
+ }
+ | DROP FUNCTION_SYM if_exists ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ LEX_STRING db= {0, 0};
+ sp_name *spname;
+@@ -10491,7 +10438,7 @@ table_list:
+ table_name:
+ table_ident
+ {
+- if (!Select->add_table_to_list(YYTHD, $1, NULL,
++ if (!Select->add_table_to_list(thd, $1, NULL,
+ TL_OPTION_UPDATING,
+ YYPS->m_lock_type,
+ YYPS->m_mdl_type))
+@@ -10507,7 +10454,7 @@ table_alias_ref_list:
+ table_alias_ref:
+ table_ident_opt_wild
+ {
+- if (!Select->add_table_to_list(YYTHD, $1, NULL,
++ if (!Select->add_table_to_list(thd, $1, NULL,
+ TL_OPTION_UPDATING | TL_OPTION_ALIAS,
+ YYPS->m_lock_type,
+ YYPS->m_mdl_type))
+@@ -10581,7 +10528,7 @@ insert_lock_option:
+ | DELAYED_SYM
+ {
+ Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() -
+- YYTHD->query());
++ thd->query());
+ Lex->keyword_delayed_end_offset= Lex->keyword_delayed_begin_offset +
+ YYLIP->yyLength() + 1;
+ $$= TL_WRITE_DELAYED;
+@@ -10594,7 +10541,7 @@ replace_lock_option:
+ | DELAYED_SYM
+ {
+ Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() -
+- YYTHD->query());
++ thd->query());
+ Lex->keyword_delayed_end_offset= Lex->keyword_delayed_begin_offset +
+ YYLIP->yyLength() + 1;
+ $$= TL_WRITE_DELAYED;
+@@ -10711,7 +10658,7 @@ expr_or_default:
+ expr { $$= $1;}
+ | DEFAULT
+ {
+- $$= new (YYTHD->mem_root) Item_default_value(Lex->current_context());
++ $$= new (thd->mem_root) Item_default_value(Lex->current_context());
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -10764,7 +10711,7 @@ update_list:
+ update_elem:
+ simple_ident_nospvar equal expr_or_default
+ {
+- if (add_item_to_list(YYTHD, $1) || add_value_to_list(YYTHD, $3))
++ if (add_item_to_list(thd, $1) || add_value_to_list(thd, $3))
+ MYSQL_YYABORT;
+ }
+ ;
+@@ -10809,7 +10756,7 @@ delete:
+ single_multi:
+ FROM table_ident
+ {
+- if (!Select->add_table_to_list(YYTHD, $2, NULL, TL_OPTION_UPDATING,
++ if (!Select->add_table_to_list(thd, $2, NULL, TL_OPTION_UPDATING,
+ YYPS->m_lock_type,
+ YYPS->m_mdl_type))
+ MYSQL_YYABORT;
+@@ -10853,7 +10800,7 @@ table_wild_one:
+ Table_ident *ti= new Table_ident($1);
+ if (ti == NULL)
+ MYSQL_YYABORT;
+- if (!Select->add_table_to_list(YYTHD,
++ if (!Select->add_table_to_list(thd,
+ ti,
+ NULL,
+ TL_OPTION_UPDATING | TL_OPTION_ALIAS,
+@@ -10863,10 +10810,10 @@ table_wild_one:
+ }
+ | ident '.' ident opt_wild
+ {
+- Table_ident *ti= new Table_ident(YYTHD, $1, $3, 0);
++ Table_ident *ti= new Table_ident(thd, $1, $3, 0);
+ if (ti == NULL)
+ MYSQL_YYABORT;
+- if (!Select->add_table_to_list(YYTHD,
++ if (!Select->add_table_to_list(thd,
+ ti,
+ NULL,
+ TL_OPTION_UPDATING | TL_OPTION_ALIAS,
+@@ -10906,7 +10853,6 @@ truncate:
+ }
+ table_name
+ {
+- THD *thd= YYTHD;
+ LEX* lex= thd->lex;
+ DBUG_ASSERT(!lex->m_stmt);
+ lex->m_stmt= new (thd->mem_root) Truncate_statement(lex);
+@@ -11000,7 +10946,7 @@ show_param:
+ {
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_DATABASES;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_SCHEMATA))
++ if (prepare_schema_table(thd, lex, 0, SCH_SCHEMATA))
+ MYSQL_YYABORT;
+ }
+ | opt_full TABLES opt_db wild_and_where
+@@ -11008,7 +10954,7 @@ show_param:
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_TABLES;
+ lex->select_lex.db= $3;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_TABLE_NAMES))
++ if (prepare_schema_table(thd, lex, 0, SCH_TABLE_NAMES))
+ MYSQL_YYABORT;
+ }
+ | opt_var_type TEMPORARY TABLES opt_db
+@@ -11017,7 +10963,7 @@ show_param:
+ lex->sql_command= SQLCOM_SHOW_TEMPORARY_TABLES;
+ lex->option_type= $1;
+ lex->select_lex.db= $4;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_TEMPORARY_TABLES))
++ if (prepare_schema_table(thd, lex, 0, SCH_TEMPORARY_TABLES))
+ MYSQL_YYABORT;
+ }
+ | opt_full TRIGGERS_SYM opt_db wild_and_where
+@@ -11025,7 +10971,7 @@ show_param:
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_TRIGGERS;
+ lex->select_lex.db= $3;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_TRIGGERS))
++ if (prepare_schema_table(thd, lex, 0, SCH_TRIGGERS))
+ MYSQL_YYABORT;
+ }
+ | EVENTS_SYM opt_db wild_and_where
+@@ -11033,7 +10979,7 @@ show_param:
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_EVENTS;
+ lex->select_lex.db= $2;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_EVENTS))
++ if (prepare_schema_table(thd, lex, 0, SCH_EVENTS))
+ MYSQL_YYABORT;
+ }
+ | TABLE_SYM STATUS_SYM opt_db wild_and_where
+@@ -11041,7 +10987,7 @@ show_param:
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_TABLE_STATUS;
+ lex->select_lex.db= $3;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_TABLES))
++ if (prepare_schema_table(thd, lex, 0, SCH_TABLES))
+ MYSQL_YYABORT;
+ }
+ | OPEN_SYM TABLES opt_db wild_and_where
+@@ -11049,14 +10995,14 @@ show_param:
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_OPEN_TABLES;
+ lex->select_lex.db= $3;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_OPEN_TABLES))
++ if (prepare_schema_table(thd, lex, 0, SCH_OPEN_TABLES))
+ MYSQL_YYABORT;
+ }
+ | PLUGINS_SYM
+ {
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_PLUGINS;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_PLUGINS))
++ if (prepare_schema_table(thd, lex, 0, SCH_PLUGINS))
+ MYSQL_YYABORT;
+ }
+ | ENGINE_SYM known_storage_engines show_engine_param
+@@ -11069,7 +11015,7 @@ show_param:
+ lex->sql_command= SQLCOM_SHOW_FIELDS;
+ if ($5)
+ $4->change_db($5);
+- if (prepare_schema_table(YYTHD, lex, $4, SCH_COLUMNS))
++ if (prepare_schema_table(thd, lex, $4, SCH_COLUMNS))
+ MYSQL_YYABORT;
+ }
+ | master_or_binary LOGS_SYM
+@@ -11096,21 +11042,21 @@ show_param:
+ lex->sql_command= SQLCOM_SHOW_KEYS;
+ if ($4)
+ $3->change_db($4);
+- if (prepare_schema_table(YYTHD, lex, $3, SCH_STATISTICS))
++ if (prepare_schema_table(thd, lex, $3, SCH_STATISTICS))
+ MYSQL_YYABORT;
+ }
+ | opt_storage ENGINES_SYM
+ {
+ LEX *lex=Lex;
+ lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_ENGINES))
++ if (prepare_schema_table(thd, lex, 0, SCH_ENGINES))
+ MYSQL_YYABORT;
+ }
+ | AUTHORS_SYM
+ {
+ LEX *lex=Lex;
+ lex->sql_command= SQLCOM_SHOW_AUTHORS;
+- push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN,
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
+ ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT,
+ ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT),
+ "SHOW AUTHORS");
+@@ -11119,7 +11065,7 @@ show_param:
+ {
+ LEX *lex=Lex;
+ lex->sql_command= SQLCOM_SHOW_CONTRIBUTORS;
+- push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN,
++ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
+ ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT,
+ ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT),
+ "SHOW CONTRIBUTORS");
+@@ -11143,7 +11089,7 @@ show_param:
+ {
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_PROFILE;
+- if (prepare_schema_table(YYTHD, lex, NULL, SCH_PROFILES) != 0)
++ if (prepare_schema_table(thd, lex, NULL, SCH_PROFILES) != 0)
+ YYABORT;
+ }
+ | opt_var_type STATUS_SYM wild_and_where
+@@ -11151,7 +11097,7 @@ show_param:
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_STATUS;
+ lex->option_type= $1;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_STATUS))
++ if (prepare_schema_table(thd, lex, 0, SCH_STATUS))
+ MYSQL_YYABORT;
+ }
+ | opt_full PROCESSLIST_SYM
+@@ -11161,21 +11107,21 @@ show_param:
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_VARIABLES;
+ lex->option_type= $1;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_VARIABLES))
++ if (prepare_schema_table(thd, lex, 0, SCH_VARIABLES))
+ MYSQL_YYABORT;
+ }
+ | charset wild_and_where
+ {
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_CHARSETS;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_CHARSETS))
++ if (prepare_schema_table(thd, lex, 0, SCH_CHARSETS))
+ MYSQL_YYABORT;
+ }
+ | COLLATION_SYM wild_and_where
+ {
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_COLLATIONS;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_COLLATIONS))
++ if (prepare_schema_table(thd, lex, 0, SCH_COLLATIONS))
+ MYSQL_YYABORT;
+ }
+ | GRANTS
+@@ -11205,7 +11151,7 @@ show_param:
+ {
+ LEX *lex= Lex;
+ lex->sql_command = SQLCOM_SHOW_CREATE;
+- if (!lex->select_lex.add_table_to_list(YYTHD, $3, NULL,0))
++ if (!lex->select_lex.add_table_to_list(thd, $3, NULL,0))
+ MYSQL_YYABORT;
+ lex->only_view= 0;
+ lex->create_info.storage_media= HA_SM_DEFAULT;
+@@ -11214,7 +11160,7 @@ show_param:
+ {
+ LEX *lex= Lex;
+ lex->sql_command = SQLCOM_SHOW_CREATE;
+- if (!lex->select_lex.add_table_to_list(YYTHD, $3, NULL, 0))
++ if (!lex->select_lex.add_table_to_list(thd, $3, NULL, 0))
+ MYSQL_YYABORT;
+ lex->only_view= 1;
+ }
+@@ -11236,7 +11182,7 @@ show_param:
+ #ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SELECT;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_QUERY_RESPONSE_TIME))
++ if (prepare_schema_table(thd, lex, 0, SCH_QUERY_RESPONSE_TIME))
+ MYSQL_YYABORT;
+ #endif // HAVE_RESPONSE_TIME_DISTRIBUTION
+ }
+@@ -11244,35 +11190,35 @@ show_param:
+ {
+ LEX *lex= Lex;
+ Lex->sql_command= SQLCOM_SELECT;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_CLIENT_STATS))
++ if (prepare_schema_table(thd, lex, 0, SCH_CLIENT_STATS))
+ MYSQL_YYABORT;
+ }
+ | USER_STATS_SYM wild_and_where
+ {
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SELECT;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_USER_STATS))
++ if (prepare_schema_table(thd, lex, 0, SCH_USER_STATS))
+ MYSQL_YYABORT;
+ }
+ | THREAD_STATS_SYM wild_and_where
+ {
+ LEX *lex= Lex;
+ Lex->sql_command= SQLCOM_SELECT;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_THREAD_STATS))
++ if (prepare_schema_table(thd, lex, 0, SCH_THREAD_STATS))
+ MYSQL_YYABORT;
+ }
+ | TABLE_STATS_SYM wild_and_where
+ {
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SELECT;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_TABLE_STATS))
++ if (prepare_schema_table(thd, lex, 0, SCH_TABLE_STATS))
+ MYSQL_YYABORT;
+ }
+ | INDEX_STATS_SYM wild_and_where
+ {
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SELECT;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_INDEX_STATS))
++ if (prepare_schema_table(thd, lex, 0, SCH_INDEX_STATS))
+ MYSQL_YYABORT;
+ }
+ | CREATE PROCEDURE_SYM sp_name
+@@ -11299,14 +11245,14 @@ show_param:
+ {
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_STATUS_PROC;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_PROCEDURES))
++ if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
+ MYSQL_YYABORT;
+ }
+ | FUNCTION_SYM STATUS_SYM wild_and_where
+ {
+ LEX *lex= Lex;
+ lex->sql_command= SQLCOM_SHOW_STATUS_FUNC;
+- if (prepare_schema_table(YYTHD, lex, 0, SCH_PROCEDURES))
++ if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
+ MYSQL_YYABORT;
+ }
+ | PROCEDURE_SYM CODE_SYM sp_name
+@@ -11374,7 +11320,7 @@ wild_and_where:
+ /* empty */
+ | LIKE TEXT_STRING_sys
+ {
+- Lex->wild= new (YYTHD->mem_root) String($2.str, $2.length,
++ Lex->wild= new (thd->mem_root) String($2.str, $2.length,
+ system_charset_info);
+ if (Lex->wild == NULL)
+ MYSQL_YYABORT;
+@@ -11397,7 +11343,7 @@ describe:
+ lex->sql_command= SQLCOM_SHOW_FIELDS;
+ lex->select_lex.db= 0;
+ lex->verbose= 0;
+- if (prepare_schema_table(YYTHD, lex, $2, SCH_COLUMNS))
++ if (prepare_schema_table(thd, lex, $2, SCH_COLUMNS))
+ MYSQL_YYABORT;
+ }
+ opt_describe_column
+@@ -11429,7 +11375,7 @@ opt_describe_column:
+ | text_string { Lex->wild= $1; }
+ | ident
+ {
+- Lex->wild= new (YYTHD->mem_root) String((const char*) $1.str,
++ Lex->wild= new (thd->mem_root) String((const char*) $1.str,
+ $1.length,
+ system_charset_info);
+ if (Lex->wild == NULL)
+@@ -11647,7 +11593,6 @@ use:
+ load:
+ LOAD data_or_xml
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+
+ if (lex->sphead)
+@@ -11670,7 +11615,7 @@ load:
+ opt_duplicate INTO TABLE_SYM table_ident
+ {
+ LEX *lex=Lex;
+- if (!Select->add_table_to_list(YYTHD, $12, NULL, TL_OPTION_UPDATING,
++ if (!Select->add_table_to_list(thd, $12, NULL, TL_OPTION_UPDATING,
+ $4, MDL_SHARED_WRITE))
+ MYSQL_YYABORT;
+ lex->field_list.empty();
+@@ -11813,7 +11758,7 @@ field_or_var:
+ simple_ident_nospvar {$$= $1;}
+ | '@' ident_or_text
+ {
+- $$= new (YYTHD->mem_root) Item_user_var_as_out_param($2);
++ $$= new (thd->mem_root) Item_user_var_as_out_param($2);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -11834,16 +11779,16 @@ load_data_set_elem:
+ {
+ LEX *lex= Lex;
+ uint length= (uint) ($5 - $3);
+- String *val= new (YYTHD->mem_root) String($3,
++ String *val= new (thd->mem_root) String($3,
+ length,
+- YYTHD->charset());
++ thd->charset());
+ if (val == NULL)
+ MYSQL_YYABORT;
+ if (lex->update_list.push_back($1) ||
+ lex->value_list.push_back($4) ||
+ lex->load_set_str_list.push_back(val))
+ MYSQL_YYABORT;
+- $4->set_name_no_truncate($3, length, YYTHD->charset());
++ $4->set_name_no_truncate($3, length, thd->charset());
+ }
+ ;
+
+@@ -11853,7 +11798,6 @@ text_literal:
+ TEXT_STRING
+ {
+ LEX_STRING tmp;
+- THD *thd= YYTHD;
+ CHARSET_INFO *cs_con= thd->variables.collation_connection;
+ CHARSET_INFO *cs_cli= thd->variables.character_set_client;
+ uint repertoire= thd->lex->text_string_is_7bit &&
+@@ -11879,7 +11823,7 @@ text_literal:
+ uint repertoire= Lex->text_string_is_7bit ?
+ MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30;
+ DBUG_ASSERT(my_charset_is_ascii_based(national_charset_info));
+- $$= new (YYTHD->mem_root) Item_string($1.str, $1.length,
++ $$= new (thd->mem_root) Item_string($1.str, $1.length,
+ national_charset_info,
+ DERIVATION_COERCIBLE,
+ repertoire);
+@@ -11888,7 +11832,7 @@ text_literal:
+ }
+ | UNDERSCORE_CHARSET TEXT_STRING
+ {
+- Item_string *str= new (YYTHD->mem_root) Item_string($2.str,
++ Item_string *str= new (thd->mem_root) Item_string($2.str,
+ $2.length, $1);
+ if (str == NULL)
+ MYSQL_YYABORT;
+@@ -11907,7 +11851,7 @@ text_literal:
+ If the string has been pure ASCII so far,
+ check the new part.
+ */
+- CHARSET_INFO *cs= YYTHD->variables.collation_connection;
++ CHARSET_INFO *cs= thd->variables.collation_connection;
+ item->collation.repertoire|= my_string_repertoire(cs,
+ $2.str,
+ $2.length);
+@@ -11918,15 +11862,15 @@ text_literal:
+ text_string:
+ TEXT_STRING_literal
+ {
+- $$= new (YYTHD->mem_root) String($1.str,
++ $$= new (thd->mem_root) String($1.str,
+ $1.length,
+- YYTHD->variables.collation_connection);
++ thd->variables.collation_connection);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | HEX_NUM
+ {
+- Item *tmp= new (YYTHD->mem_root) Item_hex_string($1.str, $1.length);
++ Item *tmp= new (thd->mem_root) Item_hex_string($1.str, $1.length);
+ if (tmp == NULL)
+ MYSQL_YYABORT;
+ /*
+@@ -11938,7 +11882,7 @@ text_string:
+ }
+ | BIN_NUM
+ {
+- Item *tmp= new (YYTHD->mem_root) Item_bin_string($1.str, $1.length);
++ Item *tmp= new (thd->mem_root) Item_bin_string($1.str, $1.length);
+ if (tmp == NULL)
+ MYSQL_YYABORT;
+ /*
+@@ -11953,7 +11897,6 @@ text_string:
+ param_marker:
+ PARAM_MARKER
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Lex_input_stream *lip= YYLIP;
+ Item_param *item;
+@@ -11986,38 +11929,38 @@ literal:
+ | NUM_literal { $$ = $1; }
+ | NULL_SYM
+ {
+- $$ = new (YYTHD->mem_root) Item_null();
++ $$ = new (thd->mem_root) Item_null();
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ YYLIP->next_state= MY_LEX_OPERATOR_OR_IDENT;
+ }
+ | FALSE_SYM
+ {
+- $$= new (YYTHD->mem_root) Item_int((char*) "FALSE",0,1);
++ $$= new (thd->mem_root) Item_int((char*) "FALSE",0,1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | TRUE_SYM
+ {
+- $$= new (YYTHD->mem_root) Item_int((char*) "TRUE",1,1);
++ $$= new (thd->mem_root) Item_int((char*) "TRUE",1,1);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | HEX_NUM
+ {
+- $$ = new (YYTHD->mem_root) Item_hex_string($1.str, $1.length);
++ $$ = new (thd->mem_root) Item_hex_string($1.str, $1.length);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | BIN_NUM
+ {
+- $$= new (YYTHD->mem_root) Item_bin_string($1.str, $1.length);
++ $$= new (thd->mem_root) Item_bin_string($1.str, $1.length);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | UNDERSCORE_CHARSET HEX_NUM
+ {
+- Item *tmp= new (YYTHD->mem_root) Item_hex_string($2.str, $2.length);
++ Item *tmp= new (thd->mem_root) Item_hex_string($2.str, $2.length);
+ if (tmp == NULL)
+ MYSQL_YYABORT;
+ /*
+@@ -12028,7 +11971,7 @@ literal:
+ String *str= tmp->val_str((String*) 0);
+
+ Item_string *item_str;
+- item_str= new (YYTHD->mem_root)
++ item_str= new (thd->mem_root)
+ Item_string(NULL, /* name will be set in select_item */
+ str ? str->ptr() : "",
+ str ? str->length() : 0,
+@@ -12046,7 +11989,7 @@ literal:
+ }
+ | UNDERSCORE_CHARSET BIN_NUM
+ {
+- Item *tmp= new (YYTHD->mem_root) Item_bin_string($2.str, $2.length);
++ Item *tmp= new (thd->mem_root) Item_bin_string($2.str, $2.length);
+ if (tmp == NULL)
+ MYSQL_YYABORT;
+ /*
+@@ -12057,7 +12000,7 @@ literal:
+ String *str= tmp->val_str((String*) 0);
+
+ Item_string *item_str;
+- item_str= new (YYTHD->mem_root)
++ item_str= new (thd->mem_root)
+ Item_string(NULL, /* name will be set in select_item */
+ str ? str->ptr() : "",
+ str ? str->length() : 0,
+@@ -12081,7 +12024,7 @@ NUM_literal:
+ NUM
+ {
+ int error;
+- $$= new (YYTHD->mem_root)
++ $$= new (thd->mem_root)
+ Item_int($1.str,
+ (longlong) my_strtoll10($1.str, NULL, &error),
+ $1.length);
+@@ -12091,7 +12034,7 @@ NUM_literal:
+ | LONG_NUM
+ {
+ int error;
+- $$= new (YYTHD->mem_root)
++ $$= new (thd->mem_root)
+ Item_int($1.str,
+ (longlong) my_strtoll10($1.str, NULL, &error),
+ $1.length);
+@@ -12100,23 +12043,23 @@ NUM_literal:
+ }
+ | ULONGLONG_NUM
+ {
+- $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length);
++ $$= new (thd->mem_root) Item_uint($1.str, $1.length);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | DECIMAL_NUM
+ {
+- $$= new (YYTHD->mem_root) Item_decimal($1.str, $1.length,
+- YYTHD->charset());
+- if (($$ == NULL) || (YYTHD->is_error()))
++ $$= new (thd->mem_root) Item_decimal($1.str, $1.length,
++ thd->charset());
++ if (($$ == NULL) || (thd->is_error()))
+ {
+ MYSQL_YYABORT;
+ }
+ }
+ | FLOAT_NUM
+ {
+- $$= new (YYTHD->mem_root) Item_float($1.str, $1.length);
+- if (($$ == NULL) || (YYTHD->is_error()))
++ $$= new (thd->mem_root) Item_float($1.str, $1.length);
++ if (($$ == NULL) || (thd->is_error()))
+ {
+ MYSQL_YYABORT;
+ }
+@@ -12136,7 +12079,7 @@ table_wild:
+ ident '.' '*'
+ {
+ SELECT_LEX *sel= Select;
+- $$= new (YYTHD->mem_root) Item_field(Lex->current_context(),
++ $$= new (thd->mem_root) Item_field(Lex->current_context(),
+ NullS, $1.str, "*");
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+@@ -12144,7 +12087,6 @@ table_wild:
+ }
+ | ident '.' ident '.' '*'
+ {
+- THD *thd= YYTHD;
+ SELECT_LEX *sel= Select;
+ const char* schema= thd->client_capabilities & CLIENT_NO_SCHEMA ?
+ NullS : $1.str;
+@@ -12164,7 +12106,6 @@ order_ident:
+ simple_ident:
+ ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Lex_input_stream *lip= YYLIP;
+ sp_variable_t *spv;
+@@ -12215,7 +12156,6 @@ simple_ident:
+ simple_ident_nospvar:
+ ident
+ {
+- THD *thd= YYTHD;
+ SELECT_LEX *sel=Select;
+ if ((sel->parsing_place != IN_HAVING) ||
+ (sel->get_in_sum_expr() > 0))
+@@ -12237,7 +12177,6 @@ simple_ident_nospvar:
+ simple_ident_q:
+ ident '.' ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+
+ /*
+@@ -12316,7 +12255,6 @@ simple_ident_q:
+ }
+ | '.' ident '.' ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ SELECT_LEX *sel= lex->current_select;
+ if (sel->no_table_names_allowed)
+@@ -12341,7 +12279,6 @@ simple_ident_q:
+ }
+ | ident '.' ident '.' ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ SELECT_LEX *sel= lex->current_select;
+ const char* schema= (thd->client_capabilities & CLIENT_NO_SCHEMA ?
+@@ -12409,7 +12346,7 @@ table_ident:
+ }
+ | ident '.' ident
+ {
+- $$= new Table_ident(YYTHD, $1,$3,0);
++ $$= new Table_ident(thd, $1,$3,0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -12431,7 +12368,7 @@ table_ident_opt_wild:
+ }
+ | ident '.' ident opt_wild
+ {
+- $$= new Table_ident(YYTHD, $1,$3,0);
++ $$= new Table_ident(thd, $1,$3,0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -12441,7 +12378,7 @@ table_ident_nodb:
+ ident
+ {
+ LEX_STRING db={(char*) any_db,3};
+- $$= new Table_ident(YYTHD, db,$1,0);
++ $$= new Table_ident(thd, db,$1,0);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -12451,7 +12388,6 @@ IDENT_sys:
+ IDENT { $$= $1; }
+ | IDENT_QUOTED
+ {
+- THD *thd= YYTHD;
+
+ if (thd->charset_is_system_charset)
+ {
+@@ -12481,7 +12417,6 @@ IDENT_sys:
+ TEXT_STRING_sys:
+ TEXT_STRING
+ {
+- THD *thd= YYTHD;
+
+ if (thd->charset_is_system_charset)
+ $$= $1;
+@@ -12497,7 +12432,6 @@ TEXT_STRING_sys:
+ TEXT_STRING_literal:
+ TEXT_STRING
+ {
+- THD *thd= YYTHD;
+
+ if (thd->charset_is_collation_connection)
+ $$= $1;
+@@ -12513,7 +12447,6 @@ TEXT_STRING_literal:
+ TEXT_STRING_filesystem:
+ TEXT_STRING
+ {
+- THD *thd= YYTHD;
+
+ if (thd->charset_is_character_set_filesystem)
+ $$= $1;
+@@ -12531,7 +12464,6 @@ ident:
+ IDENT_sys { $$=$1; }
+ | keyword
+ {
+- THD *thd= YYTHD;
+ $$.str= thd->strmake($1.str, $1.length);
+ if ($$.str == NULL)
+ MYSQL_YYABORT;
+@@ -12543,7 +12475,6 @@ label_ident:
+ IDENT_sys { $$=$1; }
+ | keyword_sp
+ {
+- THD *thd= YYTHD;
+ $$.str= thd->strmake($1.str, $1.length);
+ if ($$.str == NULL)
+ MYSQL_YYABORT;
+@@ -12560,7 +12491,6 @@ ident_or_text:
+ user:
+ ident_or_text
+ {
+- THD *thd= YYTHD;
+ if (!($$=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
+ MYSQL_YYABORT;
+ $$->user = $1;
+@@ -12577,7 +12507,6 @@ user:
+ }
+ | ident_or_text '@' ident_or_text
+ {
+- THD *thd= YYTHD;
+ if (!($$=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
+ MYSQL_YYABORT;
+ $$->user = $1; $$->host=$3;
+@@ -12599,7 +12528,7 @@ user:
+ }
+ | CURRENT_USER optional_braces
+ {
+- if (!($$=(LEX_USER*) YYTHD->alloc(sizeof(st_lex_user))))
++ if (!($$=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
+ MYSQL_YYABORT;
+ /*
+ empty LEX_USER means current_user and
+@@ -12987,7 +12916,6 @@ option_value_list:
+
+ option_type_value:
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Lex_input_stream *lip= YYLIP;
+
+@@ -13018,7 +12946,6 @@ option_type_value:
+ }
+ ext_option_value
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Lex_input_stream *lip= YYLIP;
+
+@@ -13101,7 +13028,6 @@ ext_option_value:
+ sys_option_value:
+ option_type internal_variable_name equal set_expr_or_default
+ {
+- THD *thd= YYTHD;
+ LEX *lex= Lex;
+ LEX_STRING *name= &$2.base_name;
+
+@@ -13113,7 +13039,7 @@ sys_option_value:
+ my_parse_error(ER(ER_SYNTAX_ERROR));
+ MYSQL_YYABORT;
+ }
+- if (set_trigger_new_row(YYTHD, name, $4))
++ if (set_trigger_new_row(thd, name, $4))
+ MYSQL_YYABORT;
+ }
+ else if ($2.var)
+@@ -13143,7 +13069,6 @@ sys_option_value:
+ }
+ | option_type TRANSACTION_SYM ISOLATION LEVEL_SYM isolation_types
+ {
+- THD *thd= YYTHD;
+ LEX *lex=Lex;
+ lex->option_type= $1;
+ Item *item= new (thd->mem_root) Item_int((int32) $5);
+@@ -13163,7 +13088,7 @@ option_value:
+ '@' ident_or_text equal expr
+ {
+ Item_func_set_user_var *item;
+- item= new (YYTHD->mem_root) Item_func_set_user_var($2, $4, false);
++ item= new (thd->mem_root) Item_func_set_user_var($2, $4, false);
+ if (item == NULL)
+ MYSQL_YYABORT;
+ set_var_user *var= new set_var_user(item);
+@@ -13173,7 +13098,6 @@ option_value:
+ }
+ | '@' '@' opt_var_ident_type internal_variable_name equal set_expr_or_default
+ {
+- THD *thd= YYTHD;
+ struct sys_var_with_base tmp= $4;
+ /* Lookup if necessary: must be a system variable. */
+ if (tmp.var == NULL)
+@@ -13186,7 +13110,6 @@ option_value:
+ }
+ | charset old_or_new_charset_name_or_default
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ CHARSET_INFO *cs2;
+ cs2= $2 ? $2: global_system_variables.character_set_client;
+@@ -13234,7 +13157,6 @@ option_value:
+ }
+ | PASSWORD equal text_or_password
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ LEX_USER *user;
+ sp_pcontext *spc= lex->spcont;
+@@ -13274,7 +13196,6 @@ option_value:
+ internal_variable_name:
+ ident
+ {
+- THD *thd= YYTHD;
+ sp_pcontext *spc= thd->lex->spcont;
+ sp_variable_t *spv;
+
+@@ -13333,7 +13254,7 @@ internal_variable_name:
+ }
+ else
+ {
+- sys_var *tmp=find_sys_var(YYTHD, $3.str, $3.length);
++ sys_var *tmp=find_sys_var(thd, $3.str, $3.length);
+ if (!tmp)
+ MYSQL_YYABORT;
+ if (!tmp->is_struct())
+@@ -13344,7 +13265,7 @@ internal_variable_name:
+ }
+ | DEFAULT '.' ident
+ {
+- sys_var *tmp=find_sys_var(YYTHD, $3.str, $3.length);
++ sys_var *tmp=find_sys_var(thd, $3.str, $3.length);
+ if (!tmp)
+ MYSQL_YYABORT;
+ if (!tmp->is_struct())
+@@ -13366,16 +13287,16 @@ text_or_password:
+ TEXT_STRING { $$=$1.str;}
+ | PASSWORD '(' TEXT_STRING ')'
+ {
+- $$= $3.length ? YYTHD->variables.old_passwords ?
+- Item_func_old_password::alloc(YYTHD, $3.str, $3.length) :
+- Item_func_password::alloc(YYTHD, $3.str, $3.length) :
++ $$= $3.length ? thd->variables.old_passwords ?
++ Item_func_old_password::alloc(thd, $3.str, $3.length) :
++ Item_func_password::alloc(thd, $3.str, $3.length) :
+ $3.str;
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | OLD_PASSWORD '(' TEXT_STRING ')'
+ {
+- $$= $3.length ? Item_func_old_password::alloc(YYTHD, $3.str,
++ $$= $3.length ? Item_func_old_password::alloc(thd, $3.str,
+ $3.length) :
+ $3.str;
+ if ($$ == NULL)
+@@ -13389,19 +13310,19 @@ set_expr_or_default:
+ | DEFAULT { $$=0; }
+ | ON
+ {
+- $$=new (YYTHD->mem_root) Item_string("ON", 2, system_charset_info);
++ $$=new (thd->mem_root) Item_string("ON", 2, system_charset_info);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | ALL
+ {
+- $$=new (YYTHD->mem_root) Item_string("ALL", 3, system_charset_info);
++ $$=new (thd->mem_root) Item_string("ALL", 3, system_charset_info);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+ | BINARY
+ {
+- $$=new (YYTHD->mem_root) Item_string("binary", 6, system_charset_info);
++ $$=new (thd->mem_root) Item_string("binary", 6, system_charset_info);
+ if ($$ == NULL)
+ MYSQL_YYABORT;
+ }
+@@ -13440,7 +13361,7 @@ table_lock:
+ {
+ thr_lock_type lock_type= (thr_lock_type) $3;
+ bool lock_for_write= (lock_type >= TL_WRITE_ALLOW_WRITE);
+- if (!Select->add_table_to_list(YYTHD, $1, $2, 0, lock_type,
++ if (!Select->add_table_to_list(thd, $1, $2, 0, lock_type,
+ (lock_for_write ?
+ MDL_SHARED_NO_READ_WRITE :
+ MDL_SHARED_READ)))
+@@ -13511,7 +13432,7 @@ handler:
+ lex->expr_allows_subselect= FALSE;
+ lex->sql_command = SQLCOM_HA_READ;
+ lex->ha_rkey_mode= HA_READ_KEY_EXACT; /* Avoid purify warnings */
+- Item *one= new (YYTHD->mem_root) Item_int((int32) 1);
++ Item *one= new (thd->mem_root) Item_int((int32) 1);
+ if (one == NULL)
+ MYSQL_YYABORT;
+ lex->current_select->select_limit= one;
+@@ -13857,10 +13778,10 @@ grant_user:
+ MYSQL_YYABORT;
+ if ($4.length)
+ {
+- if (YYTHD->variables.old_passwords)
++ if (thd->variables.old_passwords)
+ {
+ char *buff=
+- (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1);
++ (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1);
+ if (buff == NULL)
+ MYSQL_YYABORT;
+ my_make_scrambled_password_323(buff, $4.str, $4.length);
+@@ -13870,7 +13791,7 @@ grant_user:
+ else
+ {
+ char *buff=
+- (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1);
++ (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1);
+ if (buff == NULL)
+ MYSQL_YYABORT;
+ my_make_scrambled_password(buff, $4.str, $4.length);
+@@ -13923,7 +13844,7 @@ column_list:
+ column_list_id:
+ ident
+ {
+- String *new_str = new (YYTHD->mem_root) String((const char*) $1.str,$1.length,system_charset_info);
++ String *new_str = new (thd->mem_root) String((const char*) $1.str,$1.length,system_charset_info);
+ if (new_str == NULL)
+ MYSQL_YYABORT;
+ List_iterator <LEX_COLUMN> iter(Lex->columns);
+@@ -14133,7 +14054,6 @@ opt_union_order_or_limit:
+
+ union_order_or_limit:
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE);
+ SELECT_LEX *sel= lex->current_select;
+@@ -14149,7 +14069,6 @@ union_order_or_limit:
+ }
+ order_or_limit
+ {
+- THD *thd= YYTHD;
+ thd->lex->current_select->no_table_names_allowed= 0;
+ thd->where= "";
+ }
+@@ -14331,14 +14250,14 @@ no_definer:
+ from older master servers (i.e. to create non-suid trigger in this
+ case).
+ */
+- YYTHD->lex->definer= 0;
++ thd->lex->definer= 0;
+ }
+ ;
+
+ definer:
+ DEFINER_SYM EQ user
+ {
+- YYTHD->lex->definer= get_current_user(YYTHD, $3);
++ thd->lex->definer= get_current_user(thd, $3);
+ }
+ ;
+
+@@ -14383,7 +14302,6 @@ view_suid:
+ view_tail:
+ view_suid VIEW_SYM table_ident
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ lex->sql_command= SQLCOM_CREATE_VIEW;
+ /* first table in list is target VIEW name */
+@@ -14427,7 +14345,6 @@ view_select:
+ }
+ view_select_aux view_check_option
+ {
+- THD *thd= YYTHD;
+ LEX *lex= Lex;
+ uint len= YYLIP->get_cpp_ptr() - lex->create_view_select.str;
+ void *create_view_select= thd->memdup(lex->create_view_select.str, len);
+@@ -14483,7 +14400,6 @@ trigger_tail:
+ EACH_SYM
+ ROW_SYM
+ { /* $15 */
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Lex_input_stream *lip= YYLIP;
+ sp_head *sp;
+@@ -14517,8 +14433,8 @@ trigger_tail:
+ sp_head *sp= lex->sphead;
+
+ lex->sql_command= SQLCOM_CREATE_TRIGGER;
+- sp->set_stmt_end(YYTHD);
+- sp->restore_thd_mem_root(YYTHD);
++ sp->set_stmt_end(thd);
++ sp->restore_thd_mem_root(thd);
+
+ if (sp->is_not_allowed_in_function("trigger"))
+ MYSQL_YYABORT;
+@@ -14528,7 +14444,7 @@ trigger_tail:
+ sp_proc_stmt alternatives are not saving/restoring LEX, so
+ lex->query_tables can be wiped out.
+ */
+- if (!lex->select_lex.add_table_to_list(YYTHD, $9,
++ if (!lex->select_lex.add_table_to_list(thd, $9,
+ (LEX_STRING*) 0,
+ TL_OPTION_UPDATING,
+ TL_READ_NO_INSERT,
+@@ -14547,7 +14463,6 @@ udf_tail:
+ AGGREGATE_SYM remember_name FUNCTION_SYM ident
+ RETURNS_SYM udf_type SONAME_SYM TEXT_STRING_sys
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ if (is_native_function(thd, & $4))
+ {
+@@ -14565,7 +14480,6 @@ udf_tail:
+ | remember_name FUNCTION_SYM ident
+ RETURNS_SYM udf_type SONAME_SYM TEXT_STRING_sys
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ if (is_native_function(thd, & $3))
+ {
+@@ -14588,7 +14502,6 @@ sf_tail:
+ sp_name /* $3 */
+ '(' /* $4 */
+ { /* $5 */
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Lex_input_stream *lip= YYLIP;
+ sp_head *sp;
+@@ -14646,7 +14559,7 @@ sf_tail:
+ MYSQL_YYABORT;
+ }
+
+- if (sp->fill_field_definition(YYTHD, lex,
++ if (sp->fill_field_definition(thd, lex,
+ (enum enum_field_types) $11,
+ &sp->m_return_field_def))
+ MYSQL_YYABORT;
+@@ -14655,7 +14568,6 @@ sf_tail:
+ }
+ sp_c_chistics /* $13 */
+ { /* $14 */
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ Lex_input_stream *lip= YYLIP;
+
+@@ -14664,7 +14576,6 @@ sf_tail:
+ }
+ sp_proc_stmt /* $15 */
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+ sp_head *sp= lex->sphead;
+
+@@ -14735,10 +14646,10 @@ sp_tail:
+ sp= new sp_head();
+ if (sp == NULL)
+ MYSQL_YYABORT;
+- sp->reset_thd_mem_root(YYTHD);
++ sp->reset_thd_mem_root(thd);
+ sp->init(lex);
+ sp->m_type= TYPE_ENUM_PROCEDURE;
+- sp->init_sp_name(YYTHD, $3);
++ sp->init_sp_name(thd, $3);
+
+ lex->sphead= sp;
+ }
+@@ -14753,7 +14664,6 @@ sp_tail:
+ sp_pdparam_list
+ ')'
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+
+ lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
+@@ -14761,7 +14671,6 @@ sp_tail:
+ }
+ sp_c_chistics
+ {
+- THD *thd= YYTHD;
+ LEX *lex= thd->lex;
+
+ lex->sphead->m_chistics= &lex->sp_chistics;
+@@ -14772,9 +14681,9 @@ sp_tail:
+ LEX *lex= Lex;
+ sp_head *sp= lex->sphead;
+
+- sp->set_stmt_end(YYTHD);
++ sp->set_stmt_end(thd);
+ lex->sql_command= SQLCOM_CREATE_PROCEDURE;
+- sp->restore_thd_mem_root(YYTHD);
++ sp->restore_thd_mem_root(thd);
+ }
+ ;
+
+@@ -14811,21 +14720,21 @@ xid:
+ text_string
+ {
+ MYSQL_YYABORT_UNLESS($1->length() <= MAXGTRIDSIZE);
+- if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID))))
++ if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
+ MYSQL_YYABORT;
+ Lex->xid->set(1L, $1->ptr(), $1->length(), 0, 0);
+ }
+ | text_string ',' text_string
+ {
+ MYSQL_YYABORT_UNLESS($1->length() <= MAXGTRIDSIZE && $3->length() <= MAXBQUALSIZE);
+- if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID))))
++ if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
+ MYSQL_YYABORT;
+ Lex->xid->set(1L, $1->ptr(), $1->length(), $3->ptr(), $3->length());
+ }
+ | text_string ',' text_string ',' ulong_num
+ {
+ MYSQL_YYABORT_UNLESS($1->length() <= MAXGTRIDSIZE && $3->length() <= MAXBQUALSIZE);
+- if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID))))
++ if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
+ MYSQL_YYABORT;
+ Lex->xid->set($5, $1->ptr(), $1->length(), $3->ptr(), $3->length());
+ }
+--
+1.8.4
+
diff --git a/community/percona-server/PKGBUILD b/community/percona-server/PKGBUILD
index 67d824f5a..eff9ebd3b 100644
--- a/community/percona-server/PKGBUILD
+++ b/community/percona-server/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 93544 2013-07-05 09:53:28Z mtorromeo $
+# $Id: PKGBUILD 96790 2013-09-05 08:50:02Z mtorromeo $
# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
pkgname=percona-server
-pkgver=5.5.32_rel31.0
+pkgver=5.5.33_rel31.1
pkgrel=1
pkgdesc="A backwards-compatible drop-in replacement for MySQL that provides improved performance, diagnostics and instrumentation"
arch=('i686' 'x86_64')
@@ -19,14 +19,18 @@ options=('!libtool' 'emptydirs')
backup=('etc/mysql/my.cnf')
install=percona.install
source=("http://www.percona.com/downloads/Percona-Server-${pkgver%.*_*}/Percona-Server-${pkgver/_rel/-}/source/Percona-Server-${pkgver/_/-}.tar.gz"
+ '0001-MDEV-4902-sql_yacc.yy-incompatible-with-bison-3.patch'
'mysqld-post.sh'
'mysqld.service'
'mysqld-tmpfile.conf')
-build() {
+prepare() {
cd "${srcdir}/Percona-Server-${pkgver/_/-}"
sed -i 's|ADD_SUBDIRECTORY(libmysqld/examples)|# ADD_SUBDIRECTORY(libmysqld/examples)|' CMakeLists.txt
+ patch -p1 -i "$srcdir/0001-MDEV-4902-sql_yacc.yy-incompatible-with-bison-3.patch"
+}
+build() {
cd "${srcdir}"
rm -rf build
mkdir build
@@ -97,7 +101,8 @@ package() {
rm "${pkgdir}"/usr/share/man/man1/mysql-test-run.pl.1
}
-sha256sums=('e34676cea5ceb398258408e31e8527724845f83bbbf1f22308f5069304118e8f'
+sha256sums=('2039ae974d0973b765a4cdc7ffa1dc75ebd93540769fb134b3a8dc521dfc0b3a'
+ '35f5e7819d6c24863f3319462676ea989fd58f8a334925432444b6bf5c42fdaf'
'82a241d9fa4032187a26597d044e94ba810b209b53a7ce14bb6eb92555993a48'
'9bc66470f3f80534c0bb62f9f8325ccf60b164f421f74ad74a963f065d7b1869'
'badf6a701d9dc6ea3b4ddca26cb0f42b6236432ccdbc14c64962147802594a60')
diff --git a/community/prelink/PKGBUILD b/community/prelink/PKGBUILD
index 8c67cdabc..f50b40811 100644
--- a/community/prelink/PKGBUILD
+++ b/community/prelink/PKGBUILD
@@ -1,28 +1,21 @@
-# $Id: PKGBUILD 90944 2013-05-16 03:44:23Z eric $
+# $Id: PKGBUILD 96818 2013-09-05 20:51:50Z eric $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Rouslan Solomakhin <rouslan@localnet.com>
pkgname=prelink
-pkgver=20111012
-pkgrel=2
-pkgdesc='ELF prelinking utility to speed up dynamic linking.'
+pkgver=20130503
+pkgrel=1
+pkgdesc='ELF prelinking utility to speed up dynamic linking'
arch=('i686' 'x86_64')
url='http://people.redhat.com/jakub/prelink/'
license=('GPL')
depends=('elfutils')
backup=('etc/prelink.conf')
source=("http://people.redhat.com/jakub/prelink/${pkgname}-${pkgver}.tar.bz2"
- 'prelink.conf'
- 'arch-x86_64-dynamic_linker.patch')
-md5sums=('f5aaf347432d677c293e5e3399ba4fdf'
- '0793ed49e9b31c125cba4d936c333cf6'
- 'b347580536e078b34c547742d36a3e9d')
-
-prepare() {
- cd ${pkgname}
- patch -Np0 -i ../arch-x86_64-dynamic_linker.patch
-}
+ 'prelink.conf')
+sha1sums=('eff86cb26f0cc174486769527286cc388d5216b0'
+ 'b83bd2d3505076151aa13d40de3d5c08a04440c7')
build() {
cd ${pkgname}
@@ -30,6 +23,11 @@ build() {
make
}
+check() {
+ cd ${pkgname}
+ make check
+}
+
package() {
cd ${pkgname}
make DESTDIR="${pkgdir}" install
diff --git a/community/prelink/arch-x86_64-dynamic_linker.patch b/community/prelink/arch-x86_64-dynamic_linker.patch
deleted file mode 100644
index bceb9b2dc..000000000
--- a/community/prelink/arch-x86_64-dynamic_linker.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rup ../prelink.orig/src/arch-x86_64.c ./src/arch-x86_64.c
---- ../prelink.orig/src/arch-x86_64.c 2010-12-22 12:03:06.725004002 +0100
-+++ ./src/arch-x86_64.c 2010-12-22 12:04:08.193712039 +0100
-@@ -532,7 +532,7 @@ PL_ARCH = {
- .R_COPY = R_X86_64_COPY,
- .R_RELATIVE = R_X86_64_RELATIVE,
- .rtype_class_valid = RTYPE_CLASS_VALID,
-- .dynamic_linker = "/lib64/ld-linux-x86-64.so.2",
-+ .dynamic_linker = "/lib/ld-linux-x86-64.so.2",
- .adjust_dyn = x86_64_adjust_dyn,
- .adjust_rel = x86_64_adjust_rel,
- .adjust_rela = x86_64_adjust_rela,
diff --git a/community/prelink/prelink.conf b/community/prelink/prelink.conf
index a242269ad..f48d7f9f8 100644
--- a/community/prelink/prelink.conf
+++ b/community/prelink/prelink.conf
@@ -1,24 +1,8 @@
# System
/usr/lib
/usr/bin
-/lib
-/bin
-/usr/sbin
-# Gnome
-/opt/gnome/lib
-/opt/gnome/bin
-/opt/gnome/share
-
-# KDE/Qt
-/opt/qt/lib
-/opt/qt/bin
-/opt/qt/share
+# KDE3
/opt/kde/lib
/opt/kde/bin
/opt/kde/share
-
-# XFCE
-/opt/xfce4/lib
-/opt/xfce4/bin
-/opt/xfce4/share
diff --git a/community/python-numexpr/PKGBUILD b/community/python-numexpr/PKGBUILD
index c8ba3ef34..eb00378bb 100644
--- a/community/python-numexpr/PKGBUILD
+++ b/community/python-numexpr/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 96119 2013-08-20 06:32:53Z lcarlier $
+# $Id: PKGBUILD 96812 2013-09-05 18:53:58Z aginiewicz $
# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
# Contributor: Sebastien Binet <binet@lblbox>
pkgbase=python-numexpr
pkgname=('python2-numexpr' 'python-numexpr')
-pkgver=2.1
-pkgrel=2
+pkgver=2.2
+pkgrel=1
pkgdesc="A JIT compiler for Python expressions"
url="http://code.google.com/p/numexpr/"
arch=('i686' 'x86_64')
license=('MIT')
makedepends=('python2-setuptools' 'python-setuptools' 'python-numpy' 'python2-numpy')
source=(http://numexpr.googlecode.com/files/numexpr-$pkgver.tar.gz)
-md5sums=('8c138e81fb4214d05453da0fc88bf0d5')
+md5sums=('1d83b13e69fff897a5bc588b7119506c')
build() {
cd "$srcdir"
diff --git a/community/python-scikit-learn/LICENSE b/community/python-scikit-learn/LICENSE
new file mode 100644
index 000000000..9827e0f0c
--- /dev/null
+++ b/community/python-scikit-learn/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2010–2011, scikit-learn developers
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ * Neither the name of the <organization> nor the
+ names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/community/python-scikit-learn/PKGBUILD b/community/python-scikit-learn/PKGBUILD
new file mode 100644
index 000000000..ae64bf4d2
--- /dev/null
+++ b/community/python-scikit-learn/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 96814 2013-09-05 19:19:46Z aginiewicz $
+# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
+
+pkgbase=python-scikit-learn
+pkgname=('python2-scikit-learn' 'python-scikit-learn')
+pkgver=0.14.1
+pkgrel=1
+pkgdesc="A set of python modules for machine learning and data mining"
+arch=('i686' 'x86_64')
+url="http://scikit-learn.sourceforge.net/"
+license=('BSD')
+makedepends=('python2-scipy' 'python-scipy' 'python2-setuptools' 'python-setuptools')
+options=(!emptydirs)
+
+source=("http://downloads.sourceforge.net/project/scikit-learn/scikit-learn-${pkgver}.tar.gz"
+ "LICENSE")
+md5sums=('790ad23547bb7f428060636628e13491'
+ '327083d2576cc0aad1b8f10b2bcd2974')
+
+build() {
+ cd "$srcdir"
+ cp -a scikit-learn-$pkgver scikit-learn-py2-$pkgver
+
+ msg "Building Python2"
+ cd "$srcdir"/scikit-learn-py2-$pkgver
+ python2 setup.py build
+
+ msg "Building Python3"
+ cd "$srcdir"/scikit-learn-$pkgver
+ python setup.py build
+}
+
+package_python2-scikit-learn() {
+ depends=('python2-scipy')
+ cd "$srcdir"/scikit-learn-py2-$pkgver
+
+ python2 setup.py install --root="$pkgdir"/ --optimize=1
+
+ sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+ -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ $(find "${pkgdir}" -name '*.py')
+
+ install -D "$srcdir"/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python-scikit-learn() {
+ depends=('python-scipy')
+ cd "$srcdir"/scikit-learn-$pkgver
+
+ python setup.py install --root="$pkgdir"/ --optimize=1
+
+ install -D "$srcdir"/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/community/xmonad/PKGBUILD b/community/xmonad/PKGBUILD
index 658c18cbd..9e473de44 100644
--- a/community/xmonad/PKGBUILD
+++ b/community/xmonad/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 89334 2013-04-28 16:53:06Z td123 $
+# $Id: PKGBUILD 96798 2013-09-05 16:17:45Z bgyorgy $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
# Contributor: shild <shildv@gmail.com>
pkgname=xmonad
pkgver=0.11
-pkgrel=6
+pkgrel=7
pkgdesc="Lightweight X11 tiled window manager written in Haskell"
arch=('i686' 'x86_64')
url="http://xmonad.org/"
@@ -22,7 +22,7 @@ md5sums=('5ac9dc1dae5e85dcbdfb9f70cbe312c1'
build() {
cd "$srcdir"
ghc-pkg list
- gendesk
+ gendesk --pkgname "$pkgname" --pkgdesc "$pkgdesc"
cd $srcdir/$pkgname-$pkgver
@@ -47,4 +47,6 @@ package() {
install -D -m644 LICENSE $pkgdir/usr/share/licenses/xmonad/LICENSE
install -D -m644 $srcdir/xmonad.svg $pkgdir/usr/share/pixmaps/xmonad.svg
+
+ install -D -m644 $srcdir/xmonad.desktop $pkgdir/usr/share/xsessions/xmonad.desktop
}
diff --git a/community/xmonad/xmonad-gnome-session.session b/community/xmonad/xmonad-gnome-session.session
deleted file mode 100644
index c0bd16781..000000000
--- a/community/xmonad/xmonad-gnome-session.session
+++ /dev/null
@@ -1,6 +0,0 @@
-[GNOME Session]
-Name=Xmonad session
-RequiredComponents=gnome-panel;gnome-settings-daemon;
-RequiredProviders=windowmanager;notifications;
-DefaultProvider-windowmanager=xmonad
-DefaultProvider-notifications=notification-daemon
diff --git a/community/xmonad/xmonad.install b/community/xmonad/xmonad.install
index 6659247db..96b94dc02 100644
--- a/community/xmonad/xmonad.install
+++ b/community/xmonad/xmonad.install
@@ -4,9 +4,6 @@ post_install() {
${HS_DIR}/register.sh
echo "xmonad now has dynamic configuration via ~/.xmonad/xmonad.hs"
echo "See http://haskell.org/haskellwiki/Xmonad/Config_archive for examples"
- echo
- echo "If you would like to run xmonad as a window manager inside GNOME, please see"
- echo "http://www.haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome#Setting_up_Gnome_to_use_Xmonad"
}
pre_upgrade() {
diff --git a/extra/libmodplug/PKGBUILD b/extra/libmodplug/PKGBUILD
index 0db663908..9241d3603 100644
--- a/extra/libmodplug/PKGBUILD
+++ b/extra/libmodplug/PKGBUILD
@@ -1,28 +1,35 @@
-# $Id: PKGBUILD 150611 2012-02-18 22:54:35Z pierre $
-# Maintainer:
-# Contributor: Jan de Groot <jgc@archlinux.org>
-# Contributor: Patrick Leslie Polzer <leslie.polzer@gmx.net>
+# $Id: PKGBUILD 193909 2013-09-05 20:04:00Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=libmodplug
pkgver=0.8.8.4
-pkgrel=1
+pkgrel=2
pkgdesc="A MOD playing library"
arch=('i686' 'x86_64')
url="http://modplug-xmms.sourceforge.net/"
license=('custom')
depends=('gcc-libs')
options=('!libtool')
-source=("http://downloads.sourceforge.net/modplug-xmms/${pkgname}-${pkgver}.tar.gz")
-md5sums=('fddc3c704c5489de2a3cf0fedfec59db')
+source=(http://downloads.sourceforge.net/modplug-xmms/${pkgname}-${pkgver}.tar.gz
+ libmodplug-CVE-2013-4233-Fix.patch libmodplug-CVE-2013-4234-Fix.patch)
+sha1sums=('df4deffe542b501070ccb0aee37d875ebb0c9e22'
+ 'daee7fba80f633236a3d09ad19225c57013140e9'
+ '2e870747261a86dce5056cbf077c5914e9e8b287')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -p2 -i "${srcdir}/libmodplug-CVE-2013-4233-Fix.patch"
+ patch -p2 -i "${srcdir}/libmodplug-CVE-2013-4234-Fix.patch"
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/extra/libmodplug/libmodplug-CVE-2013-4233-Fix.patch b/extra/libmodplug/libmodplug-CVE-2013-4233-Fix.patch
new file mode 100644
index 000000000..288b44d13
--- /dev/null
+++ b/extra/libmodplug/libmodplug-CVE-2013-4233-Fix.patch
@@ -0,0 +1,42 @@
+From c4d4e047862649a75f6dba905c613aff0df81309 Mon Sep 17 00:00:00 2001
+From: Konstanty Bialkowski <konstanty@ieee.org>
+Date: Wed, 14 Aug 2013 14:15:27 +1000
+Subject: [PATCH] CVE-2013-4233 Fix
+
+Integer overflow in j variable
+
+-- reported by Florian "Agix" Gaultier
+---
+ libmodplug/src/load_abc.cpp | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/libmodplug/src/load_abc.cpp b/libmodplug/src/load_abc.cpp
+index 9f4b328..ecb7b62 100644
+--- a/libmodplug/src/load_abc.cpp
++++ b/libmodplug/src/load_abc.cpp
+@@ -1814,7 +1814,7 @@ static int abc_extract_tempo(const char *p, int invoice)
+
+ static void abc_set_parts(char **d, char *p)
+ {
+- int i,j,k,m,n;
++ int i,j,k,m,n,size;
+ char *q;
+ #ifdef NEWMIKMOD
+ static MM_ALLOC *h;
+@@ -1852,10 +1852,11 @@ static void abc_set_parts(char **d, char *p)
+ i += n-1;
+ }
+ }
+- q = (char *)_mm_calloc(h, j+1, sizeof(char)); // enough storage for the worst case
++ size = (j + 1) > 0 ? j+1 : j;
++ q = (char *)_mm_calloc(h, size, sizeof(char)); // enough storage for the worst case
+ // now copy bytes from p to *d, taking parens and digits in account
+ j = 0;
+- for( i=0; p[i] && p[i] != '%'; i++ ) {
++ for( i=0; p[i] && p[i] != '%' && j < size; i++ ) {
+ if( isdigit(p[i]) || isupper(p[i]) || p[i] == '(' || p[i] == ')' ) {
+ if( p[i] == ')' ) {
+ for( n=j; n > 0 && q[n-1] != '('; n-- ) ; // find open paren in q
+--
+1.8.4
+
diff --git a/extra/libmodplug/libmodplug-CVE-2013-4234-Fix.patch b/extra/libmodplug/libmodplug-CVE-2013-4234-Fix.patch
new file mode 100644
index 000000000..c4b105d19
--- /dev/null
+++ b/extra/libmodplug/libmodplug-CVE-2013-4234-Fix.patch
@@ -0,0 +1,95 @@
+From 5de53a46283e7c463115444a9339978011dab961 Mon Sep 17 00:00:00 2001
+From: Konstanty Bialkowski <konstanty@ieee.org>
+Date: Wed, 14 Aug 2013 15:15:09 +1000
+Subject: [PATCH] CVE-2013-4234 Fix
+
+Heap overflow in abc_MIDI_drum + abc_MIDI_gchord
+
+-- reported by Florian "Agix" Gaultier
+---
+ libmodplug/src/load_abc.cpp | 34 +++++++++++++++++++++++-----------
+ 1 file changed, 23 insertions(+), 11 deletions(-)
+
+diff --git a/libmodplug/src/load_abc.cpp b/libmodplug/src/load_abc.cpp
+index ecb7b62..dd9cc6b 100644
+--- a/libmodplug/src/load_abc.cpp
++++ b/libmodplug/src/load_abc.cpp
+@@ -3205,27 +3205,33 @@ static void abc_MIDI_chordname(const char *p)
+ static int abc_MIDI_drum(const char *p, ABCHANDLE *h)
+ {
+ char *q;
+- int i,n,m;
++ int i, n, m, len;
+ while( isspace(*p) ) p++;
+ if( !strncmp(p,"on",2) && (isspace(p[2]) || p[2] == '\0') ) return 2;
+ if( !strncmp(p,"off",3) && (isspace(p[3]) || p[3] == '\0') ) return 1;
+- n = 0;
++ n = 0; len = 0;
+ for( q = h->drum; *p && !isspace(*p); p++ ) {
+ if( !strchr("dz0123456789",*p) ) break;
+- *q++ = *p;
+- if( !isdigit(*p) ) {
+- if( !isdigit(p[1]) ) *q++ = '1';
++ *q++ = *p; len++;
++ if( !isdigit(*p) && len < sizeof(h->drum)-1 ) {
++ if( !isdigit(p[1]) ) { *q++ = '1'; len ++; }
+ n++; // count the silences too....
+ }
++ if (len >= sizeof(h->drum)-1) {
++ // consume the rest of the input
++ // definitely enough "drum last state" stored.
++ while ( *p && !isspace(*p) ) p++;
++ break;
++ }
+ }
+ *q = '\0';
+ q = h->drumins;
+ for( i = 0; i<n; i++ ) {
+ if( h->drum[i*2] == 'd' ) {
+- while( isspace(*p) ) p++;
++ while( *p && isspace(*p) ) p++;
+ if( !isdigit(*p) ) {
+ m = 0;
+- while( !isspace(*p) ) p++;
++ while( *p && !isspace(*p) ) p++;
+ }
+ else
+ p += abc_getnumber(p,&m);
+@@ -3236,10 +3242,10 @@ static int abc_MIDI_drum(const char *p, ABCHANDLE *h)
+ q = h->drumvol;
+ for( i = 0; i<n; i++ ) {
+ if( h->drum[i*2] == 'd' ) {
+- while( isspace(*p) ) p++;
++ while( *p && isspace(*p) ) p++;
+ if( !isdigit(*p) ) {
+ m = 0;
+- while( !isspace(*p) ) p++;
++ while( *p && !isspace(*p) ) p++;
+ }
+ else
+ p += abc_getnumber(p,&m);
+@@ -3254,13 +3260,19 @@ static int abc_MIDI_drum(const char *p, ABCHANDLE *h)
+ static int abc_MIDI_gchord(const char *p, ABCHANDLE *h)
+ {
+ char *q;
++ int len = 0;
+ while( isspace(*p) ) p++;
+ if( !strncmp(p,"on",2) && (isspace(p[2]) || p[2] == '\0') ) return 2;
+ if( !strncmp(p,"off",3) && (isspace(p[3]) || p[3] == '\0') ) return 1;
+ for( q = h->gchord; *p && !isspace(*p); p++ ) {
+ if( !strchr("fbcz0123456789ghijGHIJ",*p) ) break;
+- *q++ = *p;
+- if( !isdigit(*p) && !isdigit(p[1]) ) *q++ = '1';
++ *q++ = *p; len++;
++ if( !isdigit(*p) && len < sizeof(h->gchord)-1 && !isdigit(p[1]) ) { *q++ = '1'; len ++; }
++ if (len >= sizeof(h->gchord)-1) {
++ // consume the rest of the input
++ // definitely enough "drum last state" stored.
++ while ( *p && !isspace(*p) ) p++;
++ }
+ }
+ *q = '\0';
+ return 0;
+--
+1.8.4
+
diff --git a/extra/vim/PKGBUILD b/extra/vim/PKGBUILD
index 198c5ebb8..dff83232c 100644
--- a/extra/vim/PKGBUILD
+++ b/extra/vim/PKGBUILD
@@ -6,8 +6,8 @@
pkgbase=vim
pkgname=('vim' 'gvim' 'vim-runtime')
_topver=7.4
-_patchlevel=0
-__hgrev=a643d80b6507
+_patchlevel=16
+__hgrev=d17ef148ada4
_versiondir="vim${_topver//./}"
pkgver=${_topver}.${_patchlevel}
pkgrel=2
@@ -20,7 +20,7 @@ source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz"
'vimrc'
'archlinux.vim'
'gvim.desktop')
-md5sums=('1dfdea2e3fbf778647286d7e23ef9f54'
+md5sums=('733cce44a08ea953ad0e1f9d574670e0'
'SKIP'
'b9d4dcb9d3ee2e151dc4be1e94934f6a'
'10353a61aadc3f276692d0e17db1478e'
diff --git a/libre/linux-libre-tools/PKGBUILD b/libre/linux-libre-tools/PKGBUILD
index bc254debb..c9721b11e 100644
--- a/libre/linux-libre-tools/PKGBUILD
+++ b/libre/linux-libre-tools/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 95398 2013-08-11 10:33:26Z seblu $
+# $Id: PKGBUILD 96809 2013-09-05 18:48:20Z seblu $
# Maintainer: Sébastien Luttringer <seblu@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -9,11 +9,11 @@ pkgname=('linux-libre-tools-meta'
'cpupower-libre'
'x86_energy_perf_policy-libre'
'usbip-libre')
-_basekernel=3.10
+_basekernel=3.11
#_sublevel=6
-_pkgver=$_basekernel.$_sublevel
+#_pkgver=$_basekernel.$_sublevel
pkgver=$_basekernel
-pkgrel=2
+pkgrel=1
license=('GPL2')
arch=('i686' 'x86_64' 'mips64el')
url='http://linux-libre.fsfla.org/'
@@ -29,13 +29,13 @@ makedepends+=('pciutils')
makedepends+=('glib2' 'sysfsutils')
groups=("$pkgbase")
source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/$_basekernel-gnu/linux-libre-$_basekernel-gnu.tar.xz"
- "http://linux-libre.fsfla.org/pub/linux-libre/releases/$_pkgver-gnu/patch-$_basekernel-gnu-$_pkgver-gnu.xz"
+ #"http://linux-libre.fsfla.org/pub/linux-libre/releases/$_pkgver-gnu/patch-$_basekernel-gnu-$_pkgver-gnu.xz"
'cpupower.default'
'cpupower.systemd'
'cpupower.service'
'usbipd.service')
-sha256sums=('abee814b92422cfa3df90b62ad9ba888697fcc03a713adc2c7f68e0d0c23c329'
- 'a1ed93ea50bd6e19d2834556900c6ca3af37632b1eda3bde50ec9c305b7640fc'
+sha256sums=('f4ea56c7bc8b6c497562e7c36de9c7c1e67142aba694ff139bc1fb3d3b0193ee'
+ #'a1ed93ea50bd6e19d2834556900c6ca3af37632b1eda3bde50ec9c305b7640fc'
'4fa509949d6863d001075fa3e8671eff2599c046d20c98bb4a70778595cd1c3f'
'fbf6e0ce6eb0ef15703fe212958de6ca46e62188900b5e9f9272ed3cc9cfd54e'
'a89284d0ecb556ca53a66d1c2087b5fd6d0a901ab2769cd3aebb93f4478905dc'
diff --git a/nonprism/choqok-nonprism/PKGBUILD b/nonprism/choqok-nonprism/PKGBUILD
index abbb4073a..cf5c374b0 100644
--- a/nonprism/choqok-nonprism/PKGBUILD
+++ b/nonprism/choqok-nonprism/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id$
+# $Id: PKGBUILD 96779 2013-09-04 22:09:55Z andrea $
# Maintainer: Peter Richard Lewis <plewis@aur.archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Emanuele Rossi <newdna1510@yahoo.it>
@@ -7,23 +7,25 @@
_pkgname=choqok
pkgname=choqok-nonprism
-pkgver=1.3
-pkgrel=4.2
+pkgver=1.4
+pkgrel=1
pkgdesc="A status.net client for KDE, without Twitter support"
url='http://choqok.gnufolks.org/'
license=('GPL')
arch=('i686' 'x86_64' 'mips64el')
-depends=('kdebase-runtime' 'qjson' 'qoauth' 'qca-ossl')
-makedepends=('cmake' 'automoc4')
optdepends=('kdebase-konqueror-libre: proxy support')
provides=("$_pkgname=$pkgver")
conflicts=$_pkgname
-replaces=$_pkgname
+depends=('kdebase-runtime' 'qjson' 'qoauth' 'qca-ossl')
+makedepends=('cmake' 'automoc4')
+optdepends=('kdebase-konqueror-libre: proxy support')
install="${_pkgname}.install"
-source=("http://downloads.sourceforge.net/${_pkgname}/${_pkgname}-${pkgver}.tar.bz2")
-md5sums=('87eea4f2c23467fb021e3e6b794eb37d')
+source=("http://downloads.sourceforge.net/${_pkgname}/${_pkgname}-${pkgver}.tar.xz")
+md5sums=('2efe34ed903b448a21d9233d8033dbdb')
prepare() {
+ mkdir build
+
cd "${srcdir}/${_pkgname}-${pkgver}"
# remove twitter service and keep only twitterapi (choqok software) for status.net and open collaboration services
@@ -43,8 +45,6 @@ prepare() {
}
build() {
- cd "${srcdir}"
- mkdir build
cd build
cmake ../${_pkgname}-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
@@ -53,9 +53,6 @@ build() {
}
package() {
- cd "${srcdir}"/build
+ cd build
make DESTDIR="${pkgdir}" install
-
- # This is already installed by kdepimlibs >= 4.9.80
- rm "${pkgdir}"/usr/share/apps/cmake/modules/FindQtOAuth.cmake
}
diff --git a/pcr/chiliproject/PKGBUILD b/pcr/chiliproject/PKGBUILD
deleted file mode 100644
index 976316dc4..000000000
--- a/pcr/chiliproject/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Maintainer: Márcio Silva <coadde@lavabit.com>
-
-pkgname=chiliproject
-pkgver=3.3.0
-pkgrel=1
-pkgdesc="Chiliproject is a fork of Redmine, a flexible project management web application written using Ruby on Rails."
-arch=('any')
-url="https://www.chiliproject.org"
-license=('GPL2')
-depends=('ruby' 'ruby-bundler' 'mysql' 'libxml2' 'libxslt' 'imagemagick' 'pkg-config')
-provides=('chiliproject')
-backup=('var/lib/chiliproject/config/database.yml'
- 'var/lib/chiliproject/config/configuration.yml')
-makedepends=('glibc')
-optdepends=('git: Git repository browsing'
- 'subversion>=1.3.0: Subversion repository browsing'
- 'darcs: Darcs repository browsing'
- 'bzr: Bazaar repository browsing'
- 'mercurial: Mercurial repository browsing')
-options=()
-install=chiliproject.install
-source=("https://www.chiliproject.org/attachments/download/360/chiliproject-$pkgver.tar.gz")
-md5sums=('4fa4a825cf0cd91d7495180a19bc4c11')
-
-build() {
- return 0
-}
-
-package() {
- cd "$srcdir/chiliproject-$pkgver"
-
- # install in /var/lib
- _instdir="$pkgdir/var/lib/chiliproject"
- mkdir -p ${_instdir}
- cp -ra . ${_instdir}
-
- # create required directories
- mkdir -p "${_instdir}/public/plugin_assets"
-}
-
-# vim:set ts=4 sw=4 et:
diff --git a/pcr/chiliproject/chiliproject.install b/pcr/chiliproject/chiliproject.install
deleted file mode 100644
index cb4622f09..000000000
--- a/pcr/chiliproject/chiliproject.install
+++ /dev/null
@@ -1,17 +0,0 @@
-adjust_perms(){
- chown -R http:http "/var/lib/chiliproject" 1>/dev/null
- for dir in /var/lib/chiliproject/{files,log,tmp,public/plugin_assets}; do
- chown -R http:http "$dir" 1>/dev/null
- chmod -R 755 "$dir" 1>/dev/null
- done
-}
-
-post_install() {
- adjust_perms
- echo 'take a look at https://wiki.archlinux.org/index.php?title=Chiliproject for further setup instructions.'
-}
-
-post_upgrade() {
- adjust_perms
- echo 'take a look at https://wiki.archlinux.org/index.php?title=Chiliproject for further setup instructions.'
-}
diff --git a/pcr/ruby1/PKGBUILD b/pcr/ruby1/PKGBUILD
index c20b8720a..4a441bc1c 100644
--- a/pcr/ruby1/PKGBUILD
+++ b/pcr/ruby1/PKGBUILD
@@ -6,7 +6,7 @@
_pkgname=ruby
pkgname=("${_pkgname}1" "${_pkgname}1-docs")
pkgver=1.9.3_p448
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64' 'mips64el')
url='http://www.ruby-lang.org/en/'
license=('BSD' 'custom')
@@ -52,7 +52,7 @@ package_ruby1() {
pkgdesc='An object-oriented language for quick and easy programming (1.9 ver.)'
depends=('gdbm' 'openssl' 'libffi' 'libyaml')
optdepends=('tk: for Ruby/TK'
- 'ruby-docs: Ruby documentation')
+ 'ruby1-docs: Ruby documentation')
backup=('etc/gem1rc')
install='ruby.install'
diff --git a/pcr/ruby1/ruby.install b/pcr/ruby1/ruby.install
index ce78e96ec..21e9b98a2 100644
--- a/pcr/ruby1/ruby.install
+++ b/pcr/ruby1/ruby.install
@@ -3,9 +3,9 @@
print_gem_default_target() {
echo 'The default location of gem installs is $HOME/.gem/ruby'
echo 'Add the following line to your PATH if you plan to install using gem'
- echo '$(ruby -rubygems -e "puts Gem.user_dir")/bin'
+ echo '$(ruby1 -rubygems -e "puts Gem.user_dir")/bin'
echo 'If you want to install to the system wide location, you must either:'
- echo 'edit /etc/gemrc or run gem with the --no-user-install flag.'
+ echo 'edit /etc/gem1rc or run gem with the --no-user-install flag.'
}
# arg 1: the new package version
diff --git a/pcr/youtube-dl-current/PKGBUILD b/pcr/youtube-dl-current/PKGBUILD
index 1aab4522e..33fafddfa 100644
--- a/pcr/youtube-dl-current/PKGBUILD
+++ b/pcr/youtube-dl-current/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=youtube-dl-current
_pkgname=youtube-dl
provides=(youtube-dl)
-pkgver=2013.09.04
+pkgver=2013.09.05
pkgrel=1
pkgdesc="A small command-line program to download videos from YouTube.com and a few more sites"
arch=('any')
@@ -27,5 +27,6 @@ package() {
"${pkgdir}/usr/share/bash-completion/completions/youtube-dl"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
}
-md5sums=('252f503736cef7049d3a1ed20a2ffc5f'
+
+md5sums=('111dce261a41edc032f386777e90e8e1'
'SKIP')