Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
cdb1474d
Commit
cdb1474d
authored
Jun 02, 2005
by
serg@serg.mylan
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
parents
4df47b9e
49e5fafe
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
179 additions
and
52 deletions
+179
-52
VC++Files/client/mysql.dsp
VC++Files/client/mysql.dsp
+4
-4
VC++Files/client/mysqladmin.dsp
VC++Files/client/mysqladmin.dsp
+3
-3
VC++Files/client/mysqlimport.dsp
VC++Files/client/mysqlimport.dsp
+4
-4
VC++Files/client/mysqlshow.dsp
VC++Files/client/mysqlshow.dsp
+4
-4
VC++Files/libmysql/libmysql.dsp
VC++Files/libmysql/libmysql.dsp
+2
-2
VC++Files/mysql.dsw
VC++Files/mysql.dsw
+12
-0
include/config-win.h
include/config-win.h
+1
-0
mysql-test/r/func_if.result
mysql-test/r/func_if.result
+17
-0
mysql-test/r/variables.result
mysql-test/r/variables.result
+6
-0
mysql-test/t/func_if.test
mysql-test/t/func_if.test
+14
-0
mysql-test/t/variables.test
mysql-test/t/variables.test
+7
-0
mysys/mf_keycache.c
mysys/mf_keycache.c
+91
-30
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+8
-1
sql/item_func.cc
sql/item_func.cc
+1
-1
sql/set_var.cc
sql/set_var.cc
+2
-1
sql/sql_base.cc
sql/sql_base.cc
+3
-2
No files found.
VC++Files/client/mysql.dsp
View file @
cdb1474d
...
...
@@ -52,7 +52,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /debug /machine:I386 /out:"../client_release/mysql.exe" /libpath:"..\lib_release\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /debug /machine:I386 /out:"../client_release/mysql.exe" /libpath:"..\lib_release\\"
# SUBTRACT LINK32 /incremental:yes
!ELSEIF "$(CFG)" == "mysql - Win32 Debug"
...
...
@@ -78,7 +78,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysql.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysql.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
!ELSEIF "$(CFG)" == "mysql - Win32 classic"
...
...
@@ -104,9 +104,9 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"../client_release/mysql.exe" /libpath:"..\lib_release\\"
# ADD BASE LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"../client_release/mysql.exe" /libpath:"..\lib_release\\"
# SUBTRACT BASE LINK32 /incremental:yes
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /debug /machine:I386 /out:"../client_classic/mysql.exe" /libpath:"..\lib_release\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /debug /machine:I386 /out:"../client_classic/mysql.exe" /libpath:"..\lib_release\\"
# SUBTRACT LINK32 /incremental:yes
!ENDIF
...
...
VC++Files/client/mysqladmin.dsp
View file @
cdb1474d
...
...
@@ -52,7 +52,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\"
!ELSEIF "$(CFG)" == "mysqladmin - Win32 Debug"
...
...
@@ -77,7 +77,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqladmin.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqladmin.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
!ELSEIF "$(CFG)" == "mysqladmin - Win32 classic"
...
...
@@ -104,7 +104,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\"
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqladmin.exe" /libpath:"..\lib_release\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqladmin.exe" /libpath:"..\lib_release\\"
!ENDIF
...
...
VC++Files/client/mysqlimport.dsp
View file @
cdb1474d
...
...
@@ -52,7 +52,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\"
# SUBTRACT LINK32 /incremental:yes
!ELSEIF "$(CFG)" == "mysqlimport - Win32 Debug"
...
...
@@ -78,7 +78,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib setargv.obj /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlimport.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib setargv.obj /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlimport.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
!ELSEIF "$(CFG)" == "mysqlimport - Win32 classic"
...
...
@@ -104,9 +104,9 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\"
# ADD BASE LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\"
# SUBTRACT BASE LINK32 /incremental:yes
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlimport.exe" /libpath:"..\lib_release\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlimport.exe" /libpath:"..\lib_release\\"
# SUBTRACT LINK32 /incremental:yes
!ENDIF
...
...
VC++Files/client/mysqlshow.dsp
View file @
cdb1474d
...
...
@@ -52,7 +52,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\"
!ELSEIF "$(CFG)" == "mysqlshow - Win32 Debug"
...
...
@@ -77,7 +77,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlshow.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlshow.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
!ELSEIF "$(CFG)" == "mysqlshow - Win32 classic"
...
...
@@ -103,8 +103,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\"
# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlshow.exe" /libpath:"..\lib_release\\"
# ADD BASE LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\"
# ADD LINK32 mysqlclient.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlshow.exe" /libpath:"..\lib_release\\"
!ENDIF
...
...
VC++Files/libmysql/libmysql.dsp
View file @
cdb1474d
...
...
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /def:"libmysql.def" /out:"..\lib_release\libmysql.dll" /libpath:"." /libpath:"..\lib_release"
# ADD LINK32
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /def:"libmysql.def" /out:"..\lib_release\libmysql.dll" /libpath:"." /libpath:"..\lib_release"
# SUBTRACT LINK32 /pdb:none
# Begin Special Build Tool
SOURCE="$(InputPath)"
...
...
@@ -87,7 +87,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=xilink6.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /def:"libmysql.def" /out:"..\lib_debug\libmysql.dll" /pdbtype:sept /libpath:"." /libpath:"..\lib_debug"
# ADD LINK32 zlib.lib
mysys.lib
wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /def:"libmysql.def" /out:"..\lib_debug\libmysql.dll" /pdbtype:sept /libpath:"." /libpath:"..\lib_debug"
# SUBTRACT LINK32 /pdb:none
# Begin Special Build Tool
SOURCE="$(InputPath)"
...
...
VC++Files/mysql.dsw
View file @
cdb1474d
...
...
@@ -80,6 +80,9 @@ Package=<4>
Begin Project Dependency
Project_Dep_Name zlib
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysys
End Project Dependency
}}}
###############################################################################
...
...
@@ -320,6 +323,9 @@ Package=<4>
Begin Project Dependency
Project_Dep_Name zlib
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysys
End Project Dependency
}}}
###############################################################################
...
...
@@ -476,6 +482,9 @@ Package=<4>
Begin Project Dependency
Project_Dep_Name mysqlclient
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysys
End Project Dependency
}}}
###############################################################################
...
...
@@ -533,6 +542,9 @@ Package=<4>
Begin Project Dependency
Project_Dep_Name mysqlclient
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysys
End Project Dependency
}}}
###############################################################################
...
...
include/config-win.h
View file @
cdb1474d
...
...
@@ -76,6 +76,7 @@ functions */
#define F_EXCLUSIVE 1
/* We have only exclusive locking */
#define F_TO_EOF (INT_MAX32/2)
/* size for lock of all file */
#define F_OK 0
/* parameter to access() */
#define W_OK 2
#define S_IROTH S_IREAD
/* for my_lib */
...
...
mysql-test/r/func_if.result
View file @
cdb1474d
...
...
@@ -91,3 +91,20 @@ drop table t1;
SELECT NULLIF(5,5) IS NULL, NULLIF(5,5) IS NOT NULL;
NULLIF(5,5) IS NULL NULLIF(5,5) IS NOT NULL
1 0
CREATE TABLE `t1` (
`id` int(11) NOT NULL ,
`date` int(10) default NULL,
`text` varchar(32) NOT NULL
);
INSERT INTO t1 VALUES (1,1110000000,'Day 1'),(2,1111000000,'Day 2'),(3,1112000000,'Day 3');
SELECT id, IF(date IS NULL, '-', FROM_UNIXTIME(date, '%d-%m-%Y')) AS date_ord, text FROM t1 ORDER BY date_ord ASC;
id date_ord text
1 05-03-2005 Day 1
2 16-03-2005 Day 2
3 28-03-2005 Day 3
SELECT id, IF(date IS NULL, '-', FROM_UNIXTIME(date, '%d-%m-%Y')) AS date_ord, text FROM t1 ORDER BY date_ord DESC;
id date_ord text
3 28-03-2005 Day 3
2 16-03-2005 Day 2
1 05-03-2005 Day 1
DROP TABLE t1;
mysql-test/r/variables.result
View file @
cdb1474d
...
...
@@ -236,6 +236,12 @@ query_prealloc_size 8192
range_alloc_block_size 2048
transaction_alloc_block_size 8192
transaction_prealloc_size 4096
SELECT @@version LIKE 'non-existent';
@@version LIKE 'non-existent'
0
SELECT @@version_compile_os LIKE 'non-existent';
@@version_compile_os LIKE 'non-existent'
0
set big_tables=OFFF;
ERROR 42000: Variable 'big_tables' can't be set to the value of 'OFFF'
set big_tables="OFFF";
...
...
mysql-test/t/func_if.test
View file @
cdb1474d
...
...
@@ -61,3 +61,17 @@ drop table t1;
# Bug #5595 NULLIF() IS NULL returns false if NULLIF() returns NULL
#
SELECT
NULLIF
(
5
,
5
)
IS
NULL
,
NULLIF
(
5
,
5
)
IS
NOT
NULL
;
#
# Bug #9669 Ordering on IF function with FROM_UNIXTIME function fails
#
CREATE
TABLE
`t1`
(
`id`
int
(
11
)
NOT
NULL
,
`date`
int
(
10
)
default
NULL
,
`text`
varchar
(
32
)
NOT
NULL
);
INSERT
INTO
t1
VALUES
(
1
,
1110000000
,
'Day 1'
),(
2
,
1111000000
,
'Day 2'
),(
3
,
1112000000
,
'Day 3'
);
SELECT
id
,
IF
(
date
IS
NULL
,
'-'
,
FROM_UNIXTIME
(
date
,
'%d-%m-%Y'
))
AS
date_ord
,
text
FROM
t1
ORDER
BY
date_ord
ASC
;
SELECT
id
,
IF
(
date
IS
NULL
,
'-'
,
FROM_UNIXTIME
(
date
,
'%d-%m-%Y'
))
AS
date_ord
,
text
FROM
t1
ORDER
BY
date_ord
DESC
;
DROP
TABLE
t1
;
mysql-test/t/variables.test
View file @
cdb1474d
...
...
@@ -130,6 +130,13 @@ set @@query_alloc_block_size=default, @@query_prealloc_size=default;
set
transaction_alloc_block_size
=
default
,
@@
transaction_prealloc_size
=
default
;
show
variables
like
'%alloc%'
;
#
# Bug #10904 Illegal mix of collations between
# a system variable and a constant
#
SELECT
@@
version
LIKE
'non-existent'
;
SELECT
@@
version_compile_os
LIKE
'non-existent'
;
# The following should give errors
--
error
1231
...
...
mysys/mf_keycache.c
View file @
cdb1474d
...
...
@@ -184,10 +184,18 @@ static void test_key_cache(KEY_CACHE *keycache,
static
FILE
*
keycache_debug_log
=
NULL
;
static
void
keycache_debug_print
_VARARGS
((
const
char
*
fmt
,...));
#define KEYCACHE_DEBUG_OPEN \
if (!keycache_debug_log) keycache_debug_log=fopen(KEYCACHE_DEBUG_LOG, "w")
if (!keycache_debug_log) \
{ \
keycache_debug_log= fopen(KEYCACHE_DEBUG_LOG, "w"); \
(void) setvbuf(keycache_debug_log, NULL, _IOLBF, BUFSIZ); \
}
#define KEYCACHE_DEBUG_CLOSE \
if (keycache_debug_log) { fclose(keycache_debug_log); keycache_debug_log=0; }
if (keycache_debug_log) \
{ \
fclose(keycache_debug_log); \
keycache_debug_log= 0; \
}
#else
#define KEYCACHE_DEBUG_OPEN
#define KEYCACHE_DEBUG_CLOSE
...
...
@@ -213,7 +221,7 @@ static long keycache_thread_id;
#define KEYCACHE_THREAD_TRACE_BEGIN(l) \
{ struct st_my_thread_var *thread_var= my_thread_var; \
keycache_thread_id=
my_thread_var->id;
\
keycache_thread_id=
thread_var->id;
\
KEYCACHE_DBUG_PRINT(l,("[thread %ld",keycache_thread_id)) }
#define KEYCACHE_THREAD_TRACE_END(l) \
...
...
@@ -240,12 +248,10 @@ static int keycache_pthread_cond_wait(pthread_cond_t *cond,
static
int
keycache_pthread_mutex_lock
(
pthread_mutex_t
*
mutex
);
static
void
keycache_pthread_mutex_unlock
(
pthread_mutex_t
*
mutex
);
static
int
keycache_pthread_cond_signal
(
pthread_cond_t
*
cond
);
static
int
keycache_pthread_cond_broadcast
(
pthread_cond_t
*
cond
);
#else
#define keycache_pthread_mutex_lock pthread_mutex_lock
#define keycache_pthread_mutex_unlock pthread_mutex_unlock
#define keycache_pthread_cond_signal pthread_cond_signal
#define keycache_pthread_cond_broadcast pthread_cond_broadcast
#endif
/* defined(KEYCACHE_DEBUG) */
static
uint
next_power
(
uint
value
)
...
...
@@ -508,6 +514,8 @@ int resize_key_cache(KEY_CACHE *keycache, uint key_cache_block_size,
keycache
->
can_be_used
=
0
;
while
(
keycache
->
cnt_for_resize_op
)
{
KEYCACHE_DBUG_PRINT
(
"resize_key_cache: wait"
,
(
"suspend thread %ld"
,
thread
->
id
));
keycache_pthread_cond_wait
(
&
thread
->
suspend
,
&
keycache
->
cache_lock
);
}
...
...
@@ -520,7 +528,11 @@ finish:
unlink_from_queue
(
wqueue
,
thread
);
/* Signal for the next resize request to proceeed if any */
if
(
wqueue
->
last_thread
)
{
KEYCACHE_DBUG_PRINT
(
"resize_key_cache: signal"
,
(
"thread %ld"
,
wqueue
->
last_thread
->
next
->
id
));
keycache_pthread_cond_signal
(
&
wqueue
->
last_thread
->
next
->
suspend
);
}
keycache_pthread_mutex_unlock
(
&
keycache
->
cache_lock
);
return
blocks
;
}
...
...
@@ -544,7 +556,11 @@ static inline void dec_counter_for_resize_op(KEY_CACHE *keycache)
struct
st_my_thread_var
*
last_thread
;
if
(
!--
keycache
->
cnt_for_resize_op
&&
(
last_thread
=
keycache
->
resize_queue
.
last_thread
))
{
KEYCACHE_DBUG_PRINT
(
"dec_counter_for_resize_op: signal"
,
(
"thread %ld"
,
last_thread
->
next
->
id
));
keycache_pthread_cond_signal
(
&
last_thread
->
next
->
suspend
);
}
}
/*
...
...
@@ -761,8 +777,8 @@ static void release_queue(KEYCACHE_WQUEUE *wqueue)
do
{
thread
=
next
;
keycache_pthread_cond_signal
(
&
thread
->
suspend
);
KEYCACHE_DBUG_PRINT
(
"release_queue: signal"
,
(
"thread %ld"
,
thread
->
id
));
keycache_pthread_cond_signal
(
&
thread
->
suspend
);
next
=
thread
->
next
;
thread
->
next
=
NULL
;
}
...
...
@@ -876,7 +892,8 @@ static void link_block(KEY_CACHE *keycache, BLOCK_LINK *block, my_bool hot,
BLOCK_LINK
**
pins
;
KEYCACHE_DBUG_ASSERT
(
!
(
block
->
hash_link
&&
block
->
hash_link
->
requests
));
if
(
!
hot
&&
keycache
->
waiting_for_block
.
last_thread
)
{
if
(
!
hot
&&
keycache
->
waiting_for_block
.
last_thread
)
{
/* Signal that in the LRU warm sub-chain an available block has appeared */
struct
st_my_thread_var
*
last_thread
=
keycache
->
waiting_for_block
.
last_thread
;
...
...
@@ -894,6 +911,7 @@ static void link_block(KEY_CACHE *keycache, BLOCK_LINK *block, my_bool hot,
*/
if
((
HASH_LINK
*
)
thread
->
opt_info
==
hash_link
)
{
KEYCACHE_DBUG_PRINT
(
"link_block: signal"
,
(
"thread %ld"
,
thread
->
id
));
keycache_pthread_cond_signal
(
&
thread
->
suspend
);
unlink_from_queue
(
&
keycache
->
waiting_for_block
,
thread
);
block
->
requests
++
;
...
...
@@ -1000,8 +1018,7 @@ static void reg_requests(KEY_CACHE *keycache, BLOCK_LINK *block, int count)
linking it to the LRU chain if it's the last request
SYNOPSIS
unreg_block()
unreg_request()
keycache pointer to a key cache data structure
block pointer to the block to link to the LRU chain
at_end <-> to link the block at the end of the LRU chain
...
...
@@ -1086,6 +1103,9 @@ static inline void wait_for_readers(KEY_CACHE *keycache, BLOCK_LINK *block)
struct
st_my_thread_var
*
thread
=
my_thread_var
;
while
(
block
->
hash_link
->
requests
)
{
KEYCACHE_DBUG_PRINT
(
"wait_for_readers: wait"
,
(
"suspend thread %ld block %u"
,
thread
->
id
,
BLOCK_NUMBER
(
block
)));
block
->
condvar
=
&
thread
->
suspend
;
keycache_pthread_cond_wait
(
&
thread
->
suspend
,
&
keycache
->
cache_lock
);
block
->
condvar
=
NULL
;
...
...
@@ -1143,6 +1163,7 @@ static void unlink_hash(KEY_CACHE *keycache, HASH_LINK *hash_link)
*/
if
(
page
->
file
==
hash_link
->
file
&&
page
->
filepos
==
hash_link
->
diskpos
)
{
KEYCACHE_DBUG_PRINT
(
"unlink_hash: signal"
,
(
"thread %ld"
,
thread
->
id
));
keycache_pthread_cond_signal
(
&
thread
->
suspend
);
unlink_from_queue
(
&
keycache
->
waiting_for_hash_link
,
thread
);
}
...
...
@@ -1225,6 +1246,8 @@ restart:
page
.
filepos
=
filepos
;
thread
->
opt_info
=
(
void
*
)
&
page
;
link_into_queue
(
&
keycache
->
waiting_for_hash_link
,
thread
);
KEYCACHE_DBUG_PRINT
(
"get_hash_link: wait"
,
(
"suspend thread %ld"
,
thread
->
id
));
keycache_pthread_cond_wait
(
&
thread
->
suspend
,
&
keycache
->
cache_lock
);
thread
->
opt_info
=
NULL
;
...
...
@@ -1343,6 +1366,8 @@ restart:
add_to_queue
(
&
block
->
wqueue
[
COND_FOR_SAVED
],
thread
);
do
{
KEYCACHE_DBUG_PRINT
(
"find_key_block: wait"
,
(
"suspend thread %ld"
,
thread
->
id
));
keycache_pthread_cond_wait
(
&
thread
->
suspend
,
&
keycache
->
cache_lock
);
}
...
...
@@ -1360,7 +1385,9 @@ restart:
/* This is a request for a page to be removed from cache */
KEYCACHE_DBUG_PRINT
(
"find_key_block"
,
(
"request for old page in block %u"
,
BLOCK_NUMBER
(
block
)));
(
"request for old page in block %u "
"wrmode: %d block->status: %d"
,
BLOCK_NUMBER
(
block
),
wrmode
,
block
->
status
));
/*
Only reading requests can proceed until the old dirty page is flushed,
all others are to be suspended, then resubmitted
...
...
@@ -1379,6 +1406,8 @@ restart:
/* Wait until the request can be resubmitted */
do
{
KEYCACHE_DBUG_PRINT
(
"find_key_block: wait"
,
(
"suspend thread %ld"
,
thread
->
id
));
keycache_pthread_cond_wait
(
&
thread
->
suspend
,
&
keycache
->
cache_lock
);
}
...
...
@@ -1448,6 +1477,8 @@ restart:
link_into_queue
(
&
keycache
->
waiting_for_block
,
thread
);
do
{
KEYCACHE_DBUG_PRINT
(
"find_key_block: wait"
,
(
"suspend thread %ld"
,
thread
->
id
));
keycache_pthread_cond_wait
(
&
thread
->
suspend
,
&
keycache
->
cache_lock
);
}
...
...
@@ -1528,9 +1559,13 @@ restart:
else
{
/* This is for secondary requests for a new page only */
page_status
=
block
->
hash_link
==
hash_link
&&
(
block
->
status
&
BLOCK_READ
)
?
PAGE_READ
:
PAGE_WAIT_TO_BE_READ
;
KEYCACHE_DBUG_PRINT
(
"find_key_block"
,
(
"block->hash_link: %p hash_link: %p "
"block->status: %u"
,
block
->
hash_link
,
hash_link
,
block
->
status
));
page_status
=
(((
block
->
hash_link
==
hash_link
)
&&
(
block
->
status
&
BLOCK_READ
))
?
PAGE_READ
:
PAGE_WAIT_TO_BE_READ
);
}
}
keycache
->
global_cache_read
++
;
...
...
@@ -1538,17 +1573,22 @@ restart:
else
{
reg_requests
(
keycache
,
block
,
1
);
page_status
=
block
->
hash_link
==
hash_link
&&
(
block
->
status
&
BLOCK_READ
)
?
PAGE_READ
:
PAGE_WAIT_TO_BE_READ
;
KEYCACHE_DBUG_PRINT
(
"find_key_block"
,
(
"block->hash_link: %p hash_link: %p "
"block->status: %u"
,
block
->
hash_link
,
hash_link
,
block
->
status
));
page_status
=
(((
block
->
hash_link
==
hash_link
)
&&
(
block
->
status
&
BLOCK_READ
))
?
PAGE_READ
:
PAGE_WAIT_TO_BE_READ
);
}
}
KEYCACHE_DBUG_ASSERT
(
page_status
!=
-
1
);
*
page_st
=
page_status
;
KEYCACHE_DBUG_PRINT
(
"find_key_block"
,
(
"fd: %u pos %lu page_status %lu"
,
(
uint
)
file
,(
ulong
)
filepos
,(
uint
)
page_status
));
(
"fd: %u pos %lu block->status %u page_status %lu"
,
(
uint
)
file
,
(
ulong
)
filepos
,
block
->
status
,
(
uint
)
page_status
));
#if !defined(DBUG_OFF) && defined(EXTRA_DEBUG)
DBUG_EXECUTE
(
"check_keycache2"
,
...
...
@@ -1604,6 +1644,10 @@ static void read_block(KEY_CACHE *keycache,
/* Page is not in buffer yet, is to be read from disk */
keycache_pthread_mutex_unlock
(
&
keycache
->
cache_lock
);
/*
Here other threads may step in and register as secondary readers.
They will register in block->wqueue[COND_FOR_REQUESTED].
*/
got_length
=
my_pread
(
block
->
hash_link
->
file
,
block
->
buffer
,
read_length
,
block
->
hash_link
->
diskpos
,
MYF
(
0
));
keycache_pthread_mutex_lock
(
&
keycache
->
cache_lock
);
...
...
@@ -1634,6 +1678,8 @@ static void read_block(KEY_CACHE *keycache,
add_to_queue
(
&
block
->
wqueue
[
COND_FOR_REQUESTED
],
thread
);
do
{
KEYCACHE_DBUG_PRINT
(
"read_block: wait"
,
(
"suspend thread %ld"
,
thread
->
id
));
keycache_pthread_cond_wait
(
&
thread
->
suspend
,
&
keycache
->
cache_lock
);
}
...
...
@@ -1855,6 +1901,10 @@ int key_cache_insert(KEY_CACHE *keycache,
/* The requested page is to be read into the block buffer */
#if !defined(SERIALIZED_READ_FROM_CACHE)
keycache_pthread_mutex_unlock
(
&
keycache
->
cache_lock
);
/*
Here other threads may step in and register as secondary readers.
They will register in block->wqueue[COND_FOR_REQUESTED].
*/
#endif
/* Copy data from buff */
...
...
@@ -1865,9 +1915,15 @@ int key_cache_insert(KEY_CACHE *keycache,
#if !defined(SERIALIZED_READ_FROM_CACHE)
keycache_pthread_mutex_lock
(
&
keycache
->
cache_lock
);
/* Here we are alone again. */
#endif
block
->
status
=
BLOCK_READ
;
block
->
length
=
read_length
+
offset
;
KEYCACHE_DBUG_PRINT
(
"key_cache_insert"
,
(
"primary request: new page in cache"
));
/* Signal that all pending requests for this now can be processed. */
if
(
block
->
wqueue
[
COND_FOR_REQUESTED
].
last_thread
)
release_queue
(
&
block
->
wqueue
[
COND_FOR_REQUESTED
]);
}
remove_reader
(
block
);
...
...
@@ -2074,9 +2130,16 @@ static void free_block(KEY_CACHE *keycache, BLOCK_LINK *block)
{
KEYCACHE_THREAD_TRACE
(
"free block"
);
KEYCACHE_DBUG_PRINT
(
"free_block"
,
(
"block %u to be freed"
,
BLOCK_NUMBER
(
block
)));
(
"block %u to be freed, hash_link %p"
,
BLOCK_NUMBER
(
block
),
block
->
hash_link
));
if
(
block
->
hash_link
)
{
/*
While waiting for readers to finish, new readers might request the
block. But since we set block->status|= BLOCK_REASSIGNED, they
will wait on block->wqueue[COND_FOR_SAVED]. They must be signalled
later.
*/
block
->
status
|=
BLOCK_REASSIGNED
;
wait_for_readers
(
keycache
,
block
);
unlink_hash
(
keycache
,
block
->
hash_link
);
...
...
@@ -2102,6 +2165,10 @@ static void free_block(KEY_CACHE *keycache, BLOCK_LINK *block)
keycache
->
free_block_list
=
block
;
/* Keep track of the number of currently unused blocks. */
keycache
->
blocks_unused
++
;
/* All pending requests for this page must be resubmitted. */
if
(
block
->
wqueue
[
COND_FOR_SAVED
].
last_thread
)
release_queue
(
&
block
->
wqueue
[
COND_FOR_SAVED
]);
}
...
...
@@ -2334,6 +2401,8 @@ restart:
add_to_queue
(
&
block
->
wqueue
[
COND_FOR_SAVED
],
thread
);
do
{
KEYCACHE_DBUG_PRINT
(
"flush_key_blocks_int: wait"
,
(
"suspend thread %ld"
,
thread
->
id
));
keycache_pthread_cond_wait
(
&
thread
->
suspend
,
&
keycache
->
cache_lock
);
}
...
...
@@ -2685,14 +2754,6 @@ static int keycache_pthread_cond_signal(pthread_cond_t *cond)
}
static
int
keycache_pthread_cond_broadcast
(
pthread_cond_t
*
cond
)
{
int
rc
;
KEYCACHE_THREAD_TRACE
(
"signal"
);
rc
=
pthread_cond_broadcast
(
cond
);
return
rc
;
}
#if defined(KEYCACHE_DEBUG_LOG)
...
...
sql/item_cmpfunc.cc
View file @
cdb1474d
...
...
@@ -1227,9 +1227,16 @@ Item_func_if::fix_length_and_dec()
{
maybe_null
=
args
[
1
]
->
maybe_null
||
args
[
2
]
->
maybe_null
;
decimals
=
max
(
args
[
1
]
->
decimals
,
args
[
2
]
->
decimals
);
if
(
decimals
==
NOT_FIXED_DEC
)
{
max_length
=
max
(
args
[
1
]
->
max_length
,
args
[
2
]
->
max_length
);
}
else
{
max_length
=
(
max
(
args
[
1
]
->
max_length
-
args
[
1
]
->
decimals
,
args
[
2
]
->
max_length
-
args
[
2
]
->
decimals
)
+
decimals
);
}
enum
Item_result
arg1_type
=
args
[
1
]
->
result_type
();
enum
Item_result
arg2_type
=
args
[
2
]
->
result_type
();
bool
null1
=
args
[
1
]
->
const_item
()
&&
args
[
1
]
->
null_value
;
...
...
sql/item_func.cc
View file @
cdb1474d
...
...
@@ -4512,7 +4512,7 @@ Item *get_system_var(THD *thd, enum_var_type var_type, LEX_STRING name,
!
my_strcasecmp
(
system_charset_info
,
name
.
str
,
"VERSION"
))
return
new
Item_string
(
"@@VERSION"
,
server_version
,
(
uint
)
strlen
(
server_version
),
system_charset_info
);
system_charset_info
,
DERIVATION_SYSCONST
);
Item
*
item
;
sys_var
*
var
;
...
...
sql/set_var.cc
View file @
cdb1474d
...
...
@@ -1715,7 +1715,8 @@ Item *sys_var::item(THD *thd, enum_var_type var_type, LEX_STRING *base)
Item_string
*
tmp
;
pthread_mutex_lock
(
&
LOCK_global_system_variables
);
char
*
str
=
(
char
*
)
value_ptr
(
thd
,
var_type
,
base
);
tmp
=
new
Item_string
(
str
,
strlen
(
str
),
system_charset_info
);
tmp
=
new
Item_string
(
str
,
strlen
(
str
),
system_charset_info
,
DERIVATION_SYSCONST
);
pthread_mutex_unlock
(
&
LOCK_global_system_variables
);
return
tmp
;
}
...
...
sql/sql_base.cc
View file @
cdb1474d
...
...
@@ -3222,7 +3222,8 @@ bool setup_tables(THD *thd, TABLE_LIST *tables, Item **conds,
if
(
!
(
*
leaves
))
make_leaves_list
(
leaves
,
tables
);
for
(
TABLE_LIST
*
table_list
=
*
leaves
;
TABLE_LIST
*
table_list
;
for
(
table_list
=
*
leaves
;
table_list
;
table_list
=
table_list
->
next_leaf
,
tablenr
++
)
{
...
...
@@ -3261,7 +3262,7 @@ bool setup_tables(THD *thd, TABLE_LIST *tables, Item **conds,
my_error
(
ER_TOO_MANY_TABLES
,
MYF
(
0
),
MAX_TABLES
);
DBUG_RETURN
(
1
);
}
for
(
TABLE_LIST
*
table_list
=
tables
;
for
(
table_list
=
tables
;
table_list
;
table_list
=
table_list
->
next_local
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment