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
196f620e
Commit
196f620e
authored
Oct 08, 2001
by
monty@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Portability fixes + a couple of bug fixes introduced by last push.
parent
46a660f4
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
48 additions
and
140 deletions
+48
-140
Docs/manual.texi
Docs/manual.texi
+3
-81
include/mysql_com.h
include/mysql_com.h
+2
-2
libmysqld/Makefile.am
libmysqld/Makefile.am
+1
-0
mysys/mf_dirname.c
mysys/mf_dirname.c
+3
-2
scripts/explain_log.sh
scripts/explain_log.sh
+1
-1
scripts/mysql_install_db.sh
scripts/mysql_install_db.sh
+6
-6
sql/sql_parse.cc
sql/sql_parse.cc
+11
-10
sql/sql_show.cc
sql/sql_show.cc
+3
-4
sql/sql_yacc.yy
sql/sql_yacc.yy
+1
-1
vio/vio.c
vio/vio.c
+1
-17
vio/viosocket.c
vio/viosocket.c
+16
-16
No files found.
Docs/manual.texi
View file @
196f620e
...
...
@@ -1756,13 +1756,6 @@ PHP: A server-side HTML-embedded scripting language.
The Midgard Application Server; a powerful Web development environment
based on MySQL and PHP.
@item @uref{http://www.smartworker.org}
SmartWorker is a platform for Web application development.
@item @uref{http://xsp.lentus.se/}
XSP: e(X)tendible (S)erver (P)ages and is a HTML embedded tag language
written in Java (previously known as XTAGS).
@cindex dbServ
@item @uref{http://www.dbServ.de/}
dbServ is an extension to a web server to integrate database output into
...
...
@@ -1784,28 +1777,12 @@ ForwardSQL: HTML interface to manipulate MySQL databases.
@item @uref{http://www.daa.com.au/~james/www-sql/}
WWW-SQL: Display database information.
@item @uref{http://www.minivend.com/minivend/}
Minivend: A Web shopping cart.
@item @uref{http://www.heitml.com/}
HeiTML: A server-side extension of HTML and a 4GL language at the same time.
@item @uref{http://www.metahtml.com/}
Metahtml: A Dynamic Programming Language for WWW Applications.
@item @uref{http://www.binevolve.com/}
VelocityGen for Perl and Tcl.
@item @uref{http://hawkeye.net/}
Hawkeye Internet Server Suite.
@item @uref{http://www.fastflow.com/}
Network Database Connection For Linux
@item @uref{http://www.wdbi.net/}
WDBI: Web browser as a universal front end to databases which supports
MySQL well.
@item @uref{http://www.webgroove.com/}
WebGroove Script: HTML compiler and server-side scripting language.
...
...
@@ -1818,18 +1795,9 @@ How to use MySQL with ColdFusion on Solaris.
@item @uref{http://calistra.com/MySQL/}
Calistra's ODBC MySQL Administrator.
@cindex Webmerger
@item @uref{http://www.webmerger.com}
Webmerger - This CGI tool interprets files and generates dynamic output
based on a set of simple tags. Ready-to-run drivers for MySQL and
PostgreSQL through ODBC.
@item @uref{http://phpclub.net/}
PHPclub - Tips and tricks for PHP.
@item @uref{http://www.penguinservices.com/scripts}
MySQL and Perl Scripts.
@item @uref{http://www.widgetchuck.com}
The Widgetchuck; Web Site Tools and Gadgets
...
...
@@ -1846,12 +1814,6 @@ and selectable table content reviewing.
@item @uref{http://www.omnis-software.com/products/studio/studio.html}
OMNIS Studio is a rapid application development (RAD) tool.
@cindex Web+
@item @uref{http://www.webplus.com}
talentsoft Web+ 4.6 - a powerful and comprehensive development language for
use in creating web-based client/server applications without writing
complicated, low-level, and time-consuming CGI programs.
@end table
@subheading Database Design Tools with MySQL Support
...
...
@@ -1921,9 +1883,6 @@ qpopmysql - A patch to allow POP3 authentication from a MySQL
database. There's also a link to Paul Khavkine's patch for Procmail to
allow any MTA to deliver to users in a MySQL database.
@item @uref{http://www.pbc.ottawa.on.ca}
Visual Basic class generator for Active X.
@item @uref{http://www.essencesw.com/Software/mysqllib.html}
New Client libraries for the Mac OS Classic (Macintosh).
...
...
@@ -1986,9 +1945,6 @@ A consulting company which mentions MySQL in the right company.
PMP Computer Solutions. Database developers using MySQL and
@code{mSQL}.
@item @uref{http://www.aewa.org/}
Airborne Early Warning Association.
@item @uref{http://www.dedserius.com/y2kmatrix/}
Y2K tester.
@end table
...
...
@@ -2008,11 +1964,11 @@ EasySQL: An ODBC-like driver manager.
@item @uref{http://www.lightlink.com/hessling/rexxsql.html}
A REXX interface to SQL databases.
@item @uref{http://www.mytcl.cx/}
Tcl interface based on tcl-sql with many bugfixes.
@
c @
item @uref{http://www.mytcl.cx/}
@c
Tcl interface based on tcl-sql with many bugfixes.
@item @uref{http://www.binevolve.com/~tdarugar/tcl-sql/}
Tcl interface.
Tcl interface
for MySQL
.
@item @uref{http://www.contrib.andrew.cmu.edu/~shadow/sql.html}
SQL Reference Page with a lot of interesting links.
...
...
@@ -2028,12 +1984,6 @@ SQL Reference Page with a lot of interesting links.
Little6 Inc., An online contract and job finding site that is powered by
MySQL, PHP3, and Linux.
@c Added 990521
@c EMAIL: nh@delec.com (Hillbrecht Nicole)
@item @uref{http://www.delec.com/is/products/prep/examples/BookShelf/index.html}
DELECis - A tool that makes it very easy to create an automatically generated
table documentation. They have used MySQL as an example.
@c Added 990521
@c EMAIL: info@worldrecords.com (Jim Rota)
@item @uref{http://www.worldrecords.com}
...
...
@@ -2056,32 +2006,13 @@ Basic telephone database using @code{DBI}/@code{DBD}.
@item @uref{http://tecfa.unige.ch/guides/java/staf2x/ex/jdbc/coffee-break}
JDBC examples by Daniel K. Schneider.
@item @uref{http://www.spade.com/linux/howto/PostgreSQL-HOWTO-41.html}
SQL BNF
@item @uref{http://www.ooc.com/}
Object Oriented Concepts Inc; CORBA applications with examples in source.
@item @uref{http://www.pbc.ottawa.on.ca/}
DBWiz; Includes an example of how to manage cursors in VB.
@cindex Pluribus
@item @uref{http://keilor.cs.umass.edu/pluribus/}
Pluribus is a free search engine that learns to improve
the quality of its results over time. Pluribus works by recording
which pages a user prefers among those returned for a query. A user
votes for a page by selecting it; Pluribus then uses that knowledge
to improve the quality of the results when someone else submits the
same (or similar) query. Uses PHP and MySQL.
@c EMAIL: paul@sword.damocles.com (Paul Bannister)
@item @uref{http://www.stopbit.com/}
Stopbit - A technology news site using MySQL and PHP.
@item @uref{http://www.linuxsupportline.com/~kalendar/}
KDE based calendar manager - The calendar manager has both single user
(file based) and multi-user (MySQL database) support.
@item @uref{http://www.penguinservices.com/scripts}
Online shopping cart system.
...
...
@@ -2099,9 +2030,6 @@ as BLOBs. All other information is stored on the shared MySQL server.
@subheading General Database Links
@table @asis
@item @uref{http://www.pcslink.com/~ej/dbweb.html}
Database Jump Site
@item @uref{http://black.hole-in-the.net/guy/webdb/}
Homepage of the webdb-l (Web Databases) mailing list.
...
...
@@ -2111,10 +2039,6 @@ Perl @code{DBI}/@code{DBD} modules homepage.
@item @uref{http://www.student.uni-koeln.de/cygwin/}
Cygwin tools. Unix on top of Windows.
@item @uref{http://dbasecentral.com/}
dbasecentral.com; Development and distribution of powerful and easy-to-use
database applications and systems.
@cindex Tek-Tips forums
@cindex forums, Tek-Tips
@item @uref{http://www.tek-tips.com/}
...
...
@@ -45801,8 +45725,6 @@ support MySQL}
@item @uref{http://online.dn.ru, Internet information server}
@item @uref{http://www.stopbit.com, A technology news site}
@item @uref{http://www.worldnetla.net, WorldNet Communications - An Internet Services Provider}
@item @uref{http://www.netizen.com.au/, Netizen: Australian-based Web consultancy}
include/mysql_com.h
View file @
196f620e
...
...
@@ -172,8 +172,8 @@ unsigned long my_net_read(NET *net);
/* The following function is not meant for normal usage */
struct
sockaddr
;
int
my_connect
(
my_socket
s
,
const
struct
sockaddr
*
name
,
uint
namelen
,
uint
timeout
);
int
my_connect
(
my_socket
s
,
const
struct
sockaddr
*
name
,
u
nsigned
int
namelen
,
u
nsigned
int
timeout
);
struct
rand_struct
{
unsigned
long
seed1
,
seed2
,
max_value
;
...
...
libmysqld/Makefile.am
View file @
196f620e
...
...
@@ -57,6 +57,7 @@ sqlsources = convert.cc derror.cc field.cc field_conv.cc filesort.cc \
EXTRA_DIST
=
lib_vio.c
libmysqld_int_a_SOURCES
=
$(libmysqld_sources)
$(libmysqlsources)
$(sqlsources)
libmysqld_a_SOURCES
=
# automake misses these
sql_yacc.cc sql_yacc.h
:
$(top_srcdir)/sql/sql_yacc.yy
...
...
mysys/mf_dirname.c
View file @
196f620e
...
...
@@ -83,7 +83,7 @@ char *convert_dirname(char *to, const char *from, const char *from_end)
#if FN_LIBCHAR != '/' || defined(FN_C_BEFORE_DIR_2)
{
while
(
*
from
&&
*
from
!=
end
)
for
(;
*
from
&&
from
!=
from_end
;
from
++
)
{
if
(
*
from
==
'/'
)
*
to
++=
FN_LIBCHAR
;
...
...
@@ -94,8 +94,9 @@ char *convert_dirname(char *to, const char *from, const char *from_end)
*
to
++=
FN_C_AFTER_DIR
;
#endif
else
*
to
++=
*
from
++
;
*
to
++=
*
from
;
}
*
to
=
0
;
}
#else
/* This is ok even if to == from, becasue we need to cut the string */
...
...
scripts/explain_log.sh
View file @
196f620e
...
...
@@ -279,7 +279,7 @@ sub RunQuery {
if
(
defined
$row
->
{
$_
})
{
#if (($_ eq 'type' ) and ($row->{$_} eq 'ALL')) {
if
(
$row
->
{
type
}
eq
'ALL'
)
{
push
(
@
{
$Param
->
{
ALL
}}
,
"
$
row
->{
$_
}
$_
$Param
->{DB}
$
Param
->{Query}"
)
;
push
(
@
{
$Param
->
{
ALL
}}
,
"
$Param
->{Query}"
)
;
#print ">> $row->{$_} $_ $Param->{DB} $Param->{Query}\n";
}
$Param
->
{
IdxUseCount
}
++
;
...
...
scripts/mysql_install_db.sh
View file @
196f620e
...
...
@@ -232,14 +232,14 @@ then
c_u
=
"
$c_u
)"
c_u
=
"
$c_u
comment='Users and global privileges';"
i_u
=
"INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','NONE',
NULL,NULL,NULL
);
INSERT INTO user VALUES ('
$hostname
','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','NONE',
NULL,NULL,NULL
);
i_u
=
"INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','NONE',
'','',''
);
INSERT INTO user VALUES ('
$hostname
','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','NONE',
'','',''
);
REPLACE INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','NONE',
NULL,NULL,NULL
);
REPLACE INTO user VALUES ('
$hostname
','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','NONE',
NULL,NULL,NULL
);
REPLACE INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','NONE',
'','',''
);
REPLACE INTO user VALUES ('
$hostname
','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','NONE',
'','',''
);
INSERT INTO user VALUES ('localhost','','','N','N','N','N','N','N','N','N','N','N','N','N','N','N','NONE',
NULL,NULL,NULL
);
INSERT INTO user VALUES ('
$hostname
','','','N','N','N','N','N','N','N','N','N','N','N','N','N','N','NONE',
NULL,NULL,NULL
);"
INSERT INTO user VALUES ('localhost','','','N','N','N','N','N','N','N','N','N','N','N','N','N','N','NONE',
'','',''
);
INSERT INTO user VALUES ('
$hostname
','','','N','N','N','N','N','N','N','N','N','N','N','N','N','N','NONE',
'','',''
);"
fi
if
test
!
-f
$mdata
/func.frm
...
...
sql/sql_parse.cc
View file @
196f620e
...
...
@@ -633,6 +633,7 @@ pthread_handler_decl(handle_bootstrap,arg)
length
--
;
buff
[
length
]
=
0
;
thd
->
current_tablenr
=
0
;
thd
->
query_length
=
length
;
thd
->
query
=
thd
->
memdup
(
buff
,
length
+
1
);
thd
->
query_id
=
query_id
++
;
mysql_parse
(
thd
,
thd
->
query
,
length
);
...
...
@@ -692,19 +693,18 @@ int mysql_table_dump(THD* thd, char* db, char* tbl_name, int fd)
thd
->
free_list
=
0
;
thd
->
query
=
tbl_name
;
if
((
error
=
mysqld_dump_create_info
(
thd
,
table
,
-
1
)))
{
my_error
(
ER_GET_ERRNO
,
MYF
(
0
));
goto
err
;
}
thd
->
query_length
=
strlen
(
tbl_name
);
if
((
error
=
mysqld_dump_create_info
(
thd
,
table
,
-
1
)))
{
my_error
(
ER_GET_ERRNO
,
MYF
(
0
));
goto
err
;
}
net_flush
(
&
thd
->
net
);
if
((
error
=
table
->
file
->
dump
(
thd
,
fd
)))
my_error
(
ER_GET_ERRNO
,
MYF
(
0
));
err:
close_thread_tables
(
thd
);
DBUG_RETURN
(
error
);
}
...
...
@@ -872,6 +872,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
thd
->
free_list
=
0
;
table_list
.
name
=
table_list
.
real_name
=
thd
->
strdup
(
packet
);
thd
->
query
=
fields
=
thd
->
strdup
(
strend
(
packet
)
+
1
);
thd
->
query_length
=
strlen
(
thd
->
query
);
mysql_log
.
write
(
thd
,
command
,
"%s %s"
,
table_list
.
real_name
,
fields
);
remove_escape
(
table_list
.
real_name
);
// This can't have wildcards
...
...
@@ -2052,9 +2053,9 @@ mysql_execute_command(void)
goto
error
;
res
=
mysql_table_grant
(
thd
,
tables
,
lex
->
users_list
,
lex
->
columns
,
lex
->
grant
,
lex
->
sql_command
==
SQLCOM_REVOKE
);
if
(
!
res
)
if
(
!
res
)
{
mysql_update_log
.
write
(
thd
,
thd
->
query
,
thd
->
query_length
);
mysql_update_log
.
write
(
thd
,
thd
->
query
,
thd
->
query_length
);
if
(
mysql_bin_log
.
is_open
())
{
Query_log_event
qinfo
(
thd
,
thd
->
query
);
...
...
@@ -2074,7 +2075,7 @@ mysql_execute_command(void)
lex
->
sql_command
==
SQLCOM_REVOKE
);
if
(
!
res
)
{
mysql_update_log
.
write
(
thd
,
thd
->
query
,
thd
->
query_length
);
mysql_update_log
.
write
(
thd
,
thd
->
query
,
thd
->
query_length
);
if
(
mysql_bin_log
.
is_open
())
{
Query_log_event
qinfo
(
thd
,
thd
->
query
);
...
...
sql/sql_show.cc
View file @
196f620e
...
...
@@ -759,17 +759,16 @@ mysqld_dump_create_info(THD *thd, TABLE *table, int fd)
convert
->
convert
((
char
*
)
packet
->
ptr
(),
packet
->
length
());
if
(
fd
<
0
)
{
if
(
my_net_write
(
&
thd
->
net
,
(
char
*
)
packet
->
ptr
(),
packet
->
length
()))
if
(
my_net_write
(
&
thd
->
net
,
(
char
*
)
packet
->
ptr
(),
packet
->
length
()))
DBUG_RETURN
(
-
1
);
VOID
(
net_flush
(
&
thd
->
net
));
}
else
{
if
(
my_write
(
fd
,
(
const
byte
*
)
packet
->
ptr
(),
packet
->
length
(),
MYF
(
MY_WME
)))
if
(
my_write
(
fd
,
(
const
byte
*
)
packet
->
ptr
(),
packet
->
length
(),
MYF
(
MY_WME
)))
DBUG_RETURN
(
-
1
);
}
DBUG_RETURN
(
0
);
}
...
...
sql/sql_yacc.yy
View file @
196f620e
...
...
@@ -3335,7 +3335,7 @@ require_list_element: SUBJECT_SYM TEXT_STRING
}
| CIPHER_SYM TEXT_STRING
{
LEX *lex=
l
ex;
LEX *lex=
L
ex;
if (lex->ssl_cipher)
{
net_printf(&lex->thd->net,ER_DUP_ARGUMENT, "CHIPER");
...
...
vio/vio.c
View file @
196f620e
...
...
@@ -38,26 +38,10 @@
#include <sys/ioctl.h>
#endif
#if defined(__EMX__)
#if defined(__EMX__)
|| defined(OS2)
#define ioctlsocket ioctl
#endif
/* defined(__EMX__) */
#if defined(MSDOS) || defined(__WIN__)
#ifdef __WIN__
#undef errno
#undef EINTR
#undef EAGAIN
#define errno WSAGetLastError()
#define EINTR WSAEINTR
#define EAGAIN WSAEINPROGRESS
#endif
/* __WIN__ */
#define O_NONBLOCK 1
/* For emulation of fcntl() */
#endif
#ifndef EWOULDBLOCK
#define EWOULDBLOCK EAGAIN
#endif
/*
* Helper to fill most of the Vio* with defaults.
*/
...
...
vio/viosocket.c
View file @
196f620e
...
...
@@ -39,23 +39,23 @@
#include <sys/ioctl.h>
#endif
#if defined(__EMX__)
#if !defined(MSDOS) && !defined(__WIN__) && !defined(HAVE_BROKEN_NETINET_INCLUDES) && !defined(__BEOS__)
#include <netinet/ip.h>
#if !defined(alpha_linux_port)
#include <netinet/tcp.h>
#endif
#endif
#if defined(__EMX__) || defined(OS2)
#define ioctlsocket ioctl
#endif
/* defined(__EMX__) */
#if defined(MSDOS) || defined(__WIN__)
#ifdef __WIN__
#undef errno
#undef EINTR
#undef EAGAIN
#define errno WSAGetLastError()
#define EINTR WSAEINTR
#define EAGAIN WSAEINPROGRESS
#endif
/* __WIN__ */
#define O_NONBLOCK 1
/* For emulation of fcntl() */
#endif
#ifndef EWOULDBLOCK
#define
EWOULDBLOCK
EAGAIN
#define
SOCKET_EWOULDBLOCK SOCKET_
EAGAIN
#endif
#ifndef __WIN__
...
...
@@ -76,7 +76,7 @@ void vio_delete(Vio* vio)
int
vio_errno
(
Vio
*
vio
__attribute__
((
unused
)))
{
return
errno
;
/* On Win32 this mapped to WSAGetLastError() */
return
socket_errno
;
/* On Win32 this mapped to WSAGetLastError() */
}
...
...
@@ -129,7 +129,7 @@ int vio_write(Vio * vio, const gptr buf, int size)
#ifndef DBUG_OFF
if
(
r
<
0
)
{
DBUG_PRINT
(
"vio_error"
,
(
"Got error on write: %d"
,
errno
));
DBUG_PRINT
(
"vio_error"
,
(
"Got error on write: %d"
,
socket_
errno
));
}
#endif
/* DBUG_OFF */
DBUG_PRINT
(
"exit"
,
(
"%d"
,
r
));
...
...
@@ -242,8 +242,8 @@ int vio_keepalive(Vio* vio, my_bool set_keep_alive)
my_bool
vio_should_retry
(
Vio
*
vio
__attribute__
((
unused
)))
{
int
en
=
errno
;
return
en
==
EAGAIN
||
en
==
EINTR
||
en
==
EWOULDBLOCK
;
int
en
=
socket_
errno
;
return
en
==
SOCKET_EAGAIN
||
en
==
SOCKET_EINTR
||
en
==
SOCKET_
EWOULDBLOCK
;
}
...
...
@@ -271,7 +271,7 @@ int vio_close(Vio * vio)
}
if
(
r
)
{
DBUG_PRINT
(
"vio_error"
,
(
"close() failed, error: %d"
,
errno
));
DBUG_PRINT
(
"vio_error"
,
(
"close() failed, error: %d"
,
socket_
errno
));
/* FIXME: error handling (not critical for MySQL) */
}
vio
->
type
=
VIO_CLOSED
;
...
...
@@ -310,7 +310,7 @@ my_bool vio_peer_addr(Vio * vio, char *buf)
if
(
getpeername
(
vio
->
sd
,
(
struct
sockaddr
*
)
(
&
(
vio
->
remote
)),
&
addrLen
)
!=
0
)
{
DBUG_PRINT
(
"exit"
,
(
"getpeername, error: %d"
,
errno
));
DBUG_PRINT
(
"exit"
,
(
"getpeername, error: %d"
,
socket_
errno
));
DBUG_RETURN
(
1
);
}
my_inet_ntoa
(
vio
->
remote
.
sin_addr
,
buf
);
...
...
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