mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/magnus/mysql-4.1
This commit is contained in:
@@ -774,3 +774,8 @@ ndb/lib/libndbclient.so
|
|||||||
ndb/lib/libndbclient_extra.so
|
ndb/lib/libndbclient_extra.so
|
||||||
libmysqld/discover.cc
|
libmysqld/discover.cc
|
||||||
include/readline
|
include/readline
|
||||||
|
ndb/config/autom4te.cache/*
|
||||||
|
ndb/config/config.mk
|
||||||
|
ndb/src/common/mgmcommon/printConfig/*.d
|
||||||
|
ndb/src/mgmclient/test_cpcd/*.d
|
||||||
|
*.d
|
||||||
|
@@ -112,6 +112,7 @@ mwagner@work.mysql.com
|
|||||||
mydev@mysql.com
|
mydev@mysql.com
|
||||||
mysql@home.(none)
|
mysql@home.(none)
|
||||||
mysqldev@build.mysql2.com
|
mysqldev@build.mysql2.com
|
||||||
|
ndbdev@ndbmaster.mysql.com
|
||||||
nick@mysql.com
|
nick@mysql.com
|
||||||
nick@nick.leippe.com
|
nick@nick.leippe.com
|
||||||
papa@gbichot.local
|
papa@gbichot.local
|
||||||
@@ -163,6 +164,8 @@ tonu@hundin.mysql.fi
|
|||||||
tonu@volk.internalnet
|
tonu@volk.internalnet
|
||||||
tonu@x153.internalnet
|
tonu@x153.internalnet
|
||||||
tonu@x3.internalnet
|
tonu@x3.internalnet
|
||||||
|
tsmith@build.mysql.com
|
||||||
|
tulin@build.mysql.com
|
||||||
ulli@morbus.(none)
|
ulli@morbus.(none)
|
||||||
venu@hundin.mysql.fi
|
venu@hundin.mysql.fi
|
||||||
venu@myvenu.com
|
venu@myvenu.com
|
||||||
|
@@ -95,6 +95,7 @@ $SI_DESC= <$SUPFILEDIR/StartupItem.Description.plist>;
|
|||||||
$SI_PARAMS= <$SUPFILEDIR/StartupParameters.plist>;
|
$SI_PARAMS= <$SUPFILEDIR/StartupParameters.plist>;
|
||||||
$SI_POST= <$SUPFILEDIR/StartupItem.postinstall>;
|
$SI_POST= <$SUPFILEDIR/StartupItem.postinstall>;
|
||||||
$SI_NAME= "MySQLStartupItem";
|
$SI_NAME= "MySQLStartupItem";
|
||||||
|
$SI_DIR_NAME= "MySQLCOM";
|
||||||
$SI_SCRIPT= <$SUPFILEDIR/MySQL>;
|
$SI_SCRIPT= <$SUPFILEDIR/MySQL>;
|
||||||
@RESOURCES= qw/ ReadMe.txt postinstall preinstall /;
|
@RESOURCES= qw/ ReadMe.txt postinstall preinstall /;
|
||||||
@LICENSES= ("$SRCBASEDIR/COPYING","$SRCBASEDIR/MySQLEULA.txt");
|
@LICENSES= ("$SRCBASEDIR/COPYING","$SRCBASEDIR/MySQLEULA.txt");
|
||||||
@@ -195,16 +196,18 @@ unless ($opt_skip_si)
|
|||||||
&logger("Cleaning up $RESOURCE_DIR");
|
&logger("Cleaning up $RESOURCE_DIR");
|
||||||
&run_command("rm -rf $RESOURCE_DIR/*", "Unable to clean up $RESOURCE_DIR!");
|
&run_command("rm -rf $RESOURCE_DIR/*", "Unable to clean up $RESOURCE_DIR!");
|
||||||
|
|
||||||
&logger("Installing MySQL StartupItem files into $PKGROOT/MySQL");
|
my $SI_DIR= $PKGROOT . "/" . $SI_DIR_NAME;
|
||||||
|
&logger("Installing MySQL StartupItem files into $SI_DIR");
|
||||||
unless($opt_dry_run)
|
unless($opt_dry_run)
|
||||||
{
|
{
|
||||||
mkdir("$PKGROOT/MySQL") or &abort("Error creating $PKGROOT/MySQL");
|
mkdir("$SI_DIR")
|
||||||
copy("$SI_SCRIPT", "$PKGROOT/MySQL/")
|
or &abort("Error creating $SI_DIR");
|
||||||
|
copy("$SI_SCRIPT", "$SI_DIR/")
|
||||||
or &abort("Error copying $SI_SCRIPT!");
|
or &abort("Error copying $SI_SCRIPT!");
|
||||||
chmod(0755, "$PKGROOT/MySQL/" . basename("$SI_SCRIPT"));
|
chmod(0755, "$SI_DIR/" . basename("$SI_SCRIPT"));
|
||||||
copy("$SI_PARAMS", "$PKGROOT/MySQL/")
|
copy("$SI_PARAMS", "$SI_DIR/")
|
||||||
or &abort("Error copying $SI_PARAMS!");
|
or &abort("Error copying $SI_PARAMS!");
|
||||||
chmod(0644, "$PKGROOT/MySQL/" . basename("$SI_PARAMS"));
|
chmod(0644, "$SI_DIR/" . basename("$SI_PARAMS"));
|
||||||
&run_command("chown -R root:wheel $PKGROOT/*", "Cannot chown $PKGROOT!");
|
&run_command("chown -R root:wheel $PKGROOT/*", "Cannot chown $PKGROOT!");
|
||||||
copy("$SI_POST", "$RESOURCE_DIR/postinstall")
|
copy("$SI_POST", "$RESOURCE_DIR/postinstall")
|
||||||
or &abort("Error copying $SI_POST!");
|
or &abort("Error copying $SI_POST!");
|
||||||
|
@@ -29,6 +29,6 @@ typedef struct st_line_buffer
|
|||||||
} LINE_BUFFER;
|
} LINE_BUFFER;
|
||||||
|
|
||||||
extern LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file);
|
extern LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file);
|
||||||
extern LINE_BUFFER *batch_readline_command(my_string str);
|
extern LINE_BUFFER *batch_readline_command(LINE_BUFFER *buffer, my_string str);
|
||||||
extern char *batch_readline(LINE_BUFFER *buffer);
|
extern char *batch_readline(LINE_BUFFER *buffer);
|
||||||
extern void batch_readline_end(LINE_BUFFER *buffer);
|
extern void batch_readline_end(LINE_BUFFER *buffer);
|
||||||
|
@@ -494,7 +494,7 @@ static struct my_option my_long_options[] =
|
|||||||
"No automatic rehashing. One has to use 'rehash' to get table and field completion. This gives a quicker start of mysql and disables rehashing on reconnect. WARNING: options deprecated; use --disable-auto-rehash instead.",
|
"No automatic rehashing. One has to use 'rehash' to get table and field completion. This gives a quicker start of mysql and disables rehashing on reconnect. WARNING: options deprecated; use --disable-auto-rehash instead.",
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"batch", 'B',
|
{"batch", 'B',
|
||||||
"Print results with a tab as separator, each row on new line. Doesn't use history file.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
"Don't use history file. Disable interactive behavior. (Enables --silent)", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"character-sets-dir", OPT_CHARSETS_DIR,
|
{"character-sets-dir", OPT_CHARSETS_DIR,
|
||||||
"Directory where character sets are.", (gptr*) &charsets_dir,
|
"Directory where character sets are.", (gptr*) &charsets_dir,
|
||||||
(gptr*) &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
(gptr*) &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@@ -515,7 +515,7 @@ static struct my_option my_long_options[] =
|
|||||||
(gptr*) ¤t_db, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
(gptr*) ¤t_db, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"delimiter", OPT_DELIMITER, "Delimiter to be used.", (gptr*) &delimiter_str,
|
{"delimiter", OPT_DELIMITER, "Delimiter to be used.", (gptr*) &delimiter_str,
|
||||||
(gptr*) &delimiter_str, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
(gptr*) &delimiter_str, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"execute", 'e', "Execute command and quit. (Output like with --batch).", 0,
|
{"execute", 'e', "Execute command and quit. (Disables --force and history file)", 0,
|
||||||
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"vertical", 'E', "Print the output of a query (rows) vertically.",
|
{"vertical", 'E', "Print the output of a query (rows) vertically.",
|
||||||
(gptr*) &vertical, (gptr*) &vertical, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
|
(gptr*) &vertical, (gptr*) &vertical, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
|
||||||
@@ -597,7 +597,7 @@ static struct my_option my_long_options[] =
|
|||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"reconnect", OPT_RECONNECT, "Reconnect if the connection is lost. Disable with --disable-reconnect. This option is enabled by default.",
|
{"reconnect", OPT_RECONNECT, "Reconnect if the connection is lost. Disable with --disable-reconnect. This option is enabled by default.",
|
||||||
(gptr*) &opt_reconnect, (gptr*) &opt_reconnect, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
(gptr*) &opt_reconnect, (gptr*) &opt_reconnect, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
{"silent", 's', "Be more silent.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0,
|
{"silent", 's', "Be more silent. Print results with a tab as separator, each row on new line.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0,
|
||||||
0, 0},
|
0, 0},
|
||||||
#ifdef HAVE_SMEM
|
#ifdef HAVE_SMEM
|
||||||
{"shared_memory_base_name", OPT_SHARED_MEMORY_BASE_NAME,
|
{"shared_memory_base_name", OPT_SHARED_MEMORY_BASE_NAME,
|
||||||
@@ -755,10 +755,10 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
|||||||
case 'e':
|
case 'e':
|
||||||
status.batch= 1;
|
status.batch= 1;
|
||||||
status.add_to_history= 0;
|
status.add_to_history= 0;
|
||||||
batch_readline_end(status.line_buff); // If multiple -e
|
if (!status.line_buff)
|
||||||
if (!(status.line_buff= batch_readline_command(argument)))
|
ignore_errors= 0; // do it for the first -e only
|
||||||
|
if (!(status.line_buff= batch_readline_command(status.line_buff, argument)))
|
||||||
return 1;
|
return 1;
|
||||||
ignore_errors= 0;
|
|
||||||
break;
|
break;
|
||||||
case 'o':
|
case 'o':
|
||||||
if (argument == disabled_my_option)
|
if (argument == disabled_my_option)
|
||||||
@@ -798,12 +798,9 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
|||||||
verbose++;
|
verbose++;
|
||||||
break;
|
break;
|
||||||
case 'B':
|
case 'B':
|
||||||
if (!status.batch)
|
|
||||||
{
|
|
||||||
status.batch= 1;
|
status.batch= 1;
|
||||||
status.add_to_history= 0;
|
status.add_to_history= 0;
|
||||||
opt_silent++; // more silent
|
set_if_bigger(opt_silent,1); // more silent
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'W':
|
case 'W':
|
||||||
#ifdef __WIN__
|
#ifdef __WIN__
|
||||||
@@ -1108,11 +1105,8 @@ static bool add_line(String &buffer,char *line,char *in_string,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int error= com_go(&buffer, 0);
|
if (com_go(&buffer, 0) > 0) // < 0 is not fatal
|
||||||
if (error)
|
return 1;
|
||||||
{
|
|
||||||
return error < 0 ? 0 : 1; // < 0 is not fatal
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
buffer.length(0);
|
buffer.length(0);
|
||||||
out= line;
|
out= line;
|
||||||
|
@@ -241,10 +241,10 @@ static struct my_option my_long_options[] =
|
|||||||
{"no-data", 'd', "No row information.", (gptr*) &dFlag, (gptr*) &dFlag, 0,
|
{"no-data", 'd', "No row information.", (gptr*) &dFlag, (gptr*) &dFlag, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"no-set-names", 'N',
|
{"no-set-names", 'N',
|
||||||
"'SET NAMES charset_name' will not be put in the output. Deprecated, use --set-charset or --skip-set-charset to enable/disable charset settings instead",
|
"Deprecated, use --set-charset or --skip-set-charset to enable/disable charset settings instead",
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"set-charset", OPT_SET_CHARSET,
|
{"set-charset", OPT_SET_CHARSET,
|
||||||
"'SET NAMES charset_name' will be put in the output",
|
"'SET CHARACTER_SET_CLIENT=default_character_set' will be put in the output",
|
||||||
(gptr*) &opt_set_charset, (gptr*) &opt_set_charset, 0, GET_BOOL, NO_ARG, 1,
|
(gptr*) &opt_set_charset, (gptr*) &opt_set_charset, 0, GET_BOOL, NO_ARG, 1,
|
||||||
0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0},
|
||||||
{"set-variable", 'O',
|
{"set-variable", 'O',
|
||||||
|
@@ -31,7 +31,8 @@ static char *intern_read_line(LINE_BUFFER *buffer,ulong *out_length);
|
|||||||
LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file)
|
LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file)
|
||||||
{
|
{
|
||||||
LINE_BUFFER *line_buff;
|
LINE_BUFFER *line_buff;
|
||||||
if (!(line_buff=(LINE_BUFFER*) my_malloc(sizeof(*line_buff),MYF(MY_WME))))
|
if (!(line_buff=(LINE_BUFFER*)
|
||||||
|
my_malloc(sizeof(*line_buff),MYF(MY_WME | MY_ZEROFILL))))
|
||||||
return 0;
|
return 0;
|
||||||
if (init_line_buffer(line_buff,fileno(file),IO_SIZE,max_size))
|
if (init_line_buffer(line_buff,fileno(file),IO_SIZE,max_size))
|
||||||
{
|
{
|
||||||
@@ -67,10 +68,11 @@ void batch_readline_end(LINE_BUFFER *line_buff)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
LINE_BUFFER *batch_readline_command(my_string str)
|
LINE_BUFFER *batch_readline_command(LINE_BUFFER *line_buff, my_string str)
|
||||||
{
|
{
|
||||||
LINE_BUFFER *line_buff;
|
if (!line_buff)
|
||||||
if (!(line_buff=(LINE_BUFFER*) my_malloc(sizeof(*line_buff),MYF(MY_WME))))
|
if (!(line_buff=(LINE_BUFFER*)
|
||||||
|
my_malloc(sizeof(*line_buff),MYF(MY_WME | MY_ZEROFILL))))
|
||||||
return 0;
|
return 0;
|
||||||
if (init_line_buffer_from_string(line_buff,str))
|
if (init_line_buffer_from_string(line_buff,str))
|
||||||
{
|
{
|
||||||
@@ -88,7 +90,6 @@ LINE_BUFFER *batch_readline_command(my_string str)
|
|||||||
static bool
|
static bool
|
||||||
init_line_buffer(LINE_BUFFER *buffer,File file,ulong size,ulong max_buffer)
|
init_line_buffer(LINE_BUFFER *buffer,File file,ulong size,ulong max_buffer)
|
||||||
{
|
{
|
||||||
bzero((char*) buffer,sizeof(buffer[0]));
|
|
||||||
buffer->file=file;
|
buffer->file=file;
|
||||||
buffer->bufread=size;
|
buffer->bufread=size;
|
||||||
buffer->max_size=max_buffer;
|
buffer->max_size=max_buffer;
|
||||||
@@ -100,19 +101,26 @@ init_line_buffer(LINE_BUFFER *buffer,File file,ulong size,ulong max_buffer)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
init_line_buffer_from_string can be called on the same buffer
|
||||||
|
several times. the resulting buffer will contain a
|
||||||
|
concatenation of all strings separated by spaces
|
||||||
|
*/
|
||||||
static bool init_line_buffer_from_string(LINE_BUFFER *buffer,my_string str)
|
static bool init_line_buffer_from_string(LINE_BUFFER *buffer,my_string str)
|
||||||
{
|
{
|
||||||
uint length;
|
uint old_length=buffer->end - buffer->buffer;
|
||||||
bzero((char*) buffer,sizeof(buffer[0]));
|
uint length= (uint) strlen(str);
|
||||||
length=(uint) strlen(str);
|
|
||||||
if (!(buffer->buffer= buffer->start_of_line= buffer->end_of_line=
|
if (!(buffer->buffer= buffer->start_of_line= buffer->end_of_line=
|
||||||
(char*)my_malloc(length+2,MYF(MY_FAE))))
|
(char*)my_realloc(buffer->buffer, old_length+length+2,
|
||||||
|
MYF(MY_FAE|MY_ALLOW_ZERO_PTR))))
|
||||||
return 1;
|
return 1;
|
||||||
memcpy(buffer->buffer,str,length);
|
buffer->end= buffer->buffer + old_length;
|
||||||
buffer->buffer[length]='\n';
|
if (old_length)
|
||||||
buffer->buffer[length+1]=0;
|
buffer->end[-1]=' ';
|
||||||
buffer->end=buffer->buffer+length+1;
|
memcpy(buffer->end, str, length);
|
||||||
|
buffer->end[length]= '\n';
|
||||||
|
buffer->end[length+1]= 0;
|
||||||
|
buffer->end+= length+1;
|
||||||
buffer->eof=1;
|
buffer->eof=1;
|
||||||
buffer->max_size=1;
|
buffer->max_size=1;
|
||||||
return 0;
|
return 0;
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
INCLUDES = @MT_INCLUDES@ -I$(top_srcdir)/include
|
INCLUDES = @MT_INCLUDES@ -I$(top_srcdir)/include @ndbcluster_includes@
|
||||||
LDADD = @CLIENT_EXTRA_LDFLAGS@ ../mysys/libmysys.a \
|
LDADD = @CLIENT_EXTRA_LDFLAGS@ ../mysys/libmysys.a \
|
||||||
../dbug/libdbug.a ../strings/libmystrings.a
|
../dbug/libdbug.a ../strings/libmystrings.a
|
||||||
bin_PROGRAMS = replace comp_err perror resolveip my_print_defaults \
|
bin_PROGRAMS = replace comp_err perror resolveip my_print_defaults \
|
||||||
|
@@ -23,15 +23,27 @@
|
|||||||
#include <m_string.h>
|
#include <m_string.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <my_getopt.h>
|
#include <my_getopt.h>
|
||||||
|
#ifdef HAVE_NDBCLUSTER_DB
|
||||||
|
#include "../ndb/src/ndbapi/ndberror.c"
|
||||||
|
#endif
|
||||||
|
|
||||||
static my_bool verbose, print_all_codes;
|
static my_bool verbose, print_all_codes;
|
||||||
|
|
||||||
|
#ifdef HAVE_NDBCLUSTER_DB
|
||||||
|
static my_bool ndb_code;
|
||||||
|
static char ndb_string[1024];
|
||||||
|
#endif
|
||||||
|
|
||||||
static struct my_option my_long_options[] =
|
static struct my_option my_long_options[] =
|
||||||
{
|
{
|
||||||
{"help", '?', "Displays this help and exits.", 0, 0, 0, GET_NO_ARG,
|
{"help", '?', "Displays this help and exits.", 0, 0, 0, GET_NO_ARG,
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"info", 'I', "Synonym for --help.", 0, 0, 0, GET_NO_ARG,
|
{"info", 'I', "Synonym for --help.", 0, 0, 0, GET_NO_ARG,
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
#ifdef HAVE_NDBCLUSTER_DB
|
||||||
|
{"ndb", 0, "Ndbcluster storage engine specific error codes.", (gptr*) &ndb_code,
|
||||||
|
(gptr*) &ndb_code, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
|
#endif
|
||||||
#ifdef HAVE_SYS_ERRLIST
|
#ifdef HAVE_SYS_ERRLIST
|
||||||
{"all", 'a', "Print all the error messages and the number.",
|
{"all", 'a', "Print all the error messages and the number.",
|
||||||
(gptr*) &print_all_codes, (gptr*) &print_all_codes, 0, GET_BOOL, NO_ARG,
|
(gptr*) &print_all_codes, (gptr*) &print_all_codes, 0, GET_BOOL, NO_ARG,
|
||||||
@@ -199,6 +211,16 @@ int main(int argc,char *argv[])
|
|||||||
{
|
{
|
||||||
found=0;
|
found=0;
|
||||||
code=atoi(*argv);
|
code=atoi(*argv);
|
||||||
|
#ifdef HAVE_NDBCLUSTER_DB
|
||||||
|
if (ndb_code)
|
||||||
|
{
|
||||||
|
if (ndb_error_string(code, ndb_string, 1024) < 0)
|
||||||
|
msg= 0;
|
||||||
|
else
|
||||||
|
msg= ndb_string;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
msg = strerror(code);
|
msg = strerror(code);
|
||||||
if (msg)
|
if (msg)
|
||||||
{
|
{
|
||||||
|
@@ -191,7 +191,7 @@ enum ha_base_keytype {
|
|||||||
#define HA_UNIQUE_CHECK 256 /* Check the key for uniqueness */
|
#define HA_UNIQUE_CHECK 256 /* Check the key for uniqueness */
|
||||||
#define HA_SPATIAL 1024 /* For spatial search */
|
#define HA_SPATIAL 1024 /* For spatial search */
|
||||||
#define HA_NULL_ARE_EQUAL 2048 /* NULL in key are cmp as equal */
|
#define HA_NULL_ARE_EQUAL 2048 /* NULL in key are cmp as equal */
|
||||||
|
#define HA_GENERATED_KEY 8192 /* Automaticly generated key */
|
||||||
|
|
||||||
/* Automatic bits in key-flag */
|
/* Automatic bits in key-flag */
|
||||||
|
|
||||||
|
@@ -55,14 +55,8 @@ int vio_close_pipe(Vio * vio);
|
|||||||
|
|
||||||
void vio_delete(Vio* vio);
|
void vio_delete(Vio* vio);
|
||||||
int vio_close(Vio* vio);
|
int vio_close(Vio* vio);
|
||||||
|
|
||||||
#ifdef EMBEDDED_LIBRARY
|
|
||||||
void vio_reset(Vio *vio);
|
|
||||||
#else
|
|
||||||
void vio_reset(Vio* vio, enum enum_vio_type type,
|
void vio_reset(Vio* vio, enum enum_vio_type type,
|
||||||
my_socket sd, HANDLE hPipe, my_bool localhost);
|
my_socket sd, HANDLE hPipe, my_bool localhost);
|
||||||
#endif
|
|
||||||
|
|
||||||
int vio_read(Vio *vio, gptr buf, int size);
|
int vio_read(Vio *vio, gptr buf, int size);
|
||||||
int vio_write(Vio *vio, const gptr buf, int size);
|
int vio_write(Vio *vio, const gptr buf, int size);
|
||||||
int vio_blocking(Vio *vio, my_bool onoff, my_bool *old_mode);
|
int vio_blocking(Vio *vio, my_bool onoff, my_bool *old_mode);
|
||||||
|
@@ -129,16 +129,6 @@ ut_str_catenate(
|
|||||||
char* str1, /* in: null-terminated string */
|
char* str1, /* in: null-terminated string */
|
||||||
char* str2); /* in: null-terminated string */
|
char* str2); /* in: null-terminated string */
|
||||||
|
|
||||||
/**************************************************************************
|
|
||||||
Return a copy of the given string. The returned string must be freed
|
|
||||||
using mem_free. */
|
|
||||||
|
|
||||||
char*
|
|
||||||
ut_strdup(
|
|
||||||
/*======*/
|
|
||||||
/* out, own: cnull-terminated string */
|
|
||||||
char* str); /* in: null-terminated string */
|
|
||||||
|
|
||||||
#ifndef UNIV_NONINL
|
#ifndef UNIV_NONINL
|
||||||
#include "ut0mem.ic"
|
#include "ut0mem.ic"
|
||||||
#endif
|
#endif
|
||||||
|
@@ -2314,18 +2314,18 @@ os_file_dirname(
|
|||||||
|
|
||||||
if (last_slash < 0) {
|
if (last_slash < 0) {
|
||||||
/* no slash in the path, return "." */
|
/* no slash in the path, return "." */
|
||||||
return(ut_strdup((char*)"."));
|
return(mem_strdup("."));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ok, there is a slash */
|
/* ok, there is a slash */
|
||||||
|
|
||||||
if (last_slash == 0) {
|
if (last_slash == 0) {
|
||||||
/* last slash is the first char of the path */
|
/* last slash is the first char of the path */
|
||||||
return(ut_strdup((char*)"/"));
|
return(mem_strdup("/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* non-trivial directory component */
|
/* non-trivial directory component */
|
||||||
dir = ut_strdup(path);
|
dir = mem_strdup(path);
|
||||||
dir[last_slash] = 0;
|
dir[last_slash] = 0;
|
||||||
|
|
||||||
return(dir);
|
return(dir);
|
||||||
|
@@ -299,27 +299,3 @@ ut_str_catenate(
|
|||||||
|
|
||||||
return(str);
|
return(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
|
||||||
Return a copy of the given string. The returned string must be freed
|
|
||||||
using mem_free. */
|
|
||||||
|
|
||||||
char*
|
|
||||||
ut_strdup(
|
|
||||||
/*======*/
|
|
||||||
/* out, own: cnull-terminated string */
|
|
||||||
char* str) /* in: null-terminated string */
|
|
||||||
{
|
|
||||||
ulint len;
|
|
||||||
char* copy;
|
|
||||||
|
|
||||||
len = ut_strlen(str);
|
|
||||||
|
|
||||||
copy = mem_alloc(len + 1);
|
|
||||||
|
|
||||||
ut_memcpy(copy, str, len);
|
|
||||||
|
|
||||||
copy[len] = 0;
|
|
||||||
|
|
||||||
return(copy);
|
|
||||||
}
|
|
||||||
|
@@ -42,7 +42,7 @@ my_bool handle_local_infile(MYSQL *mysql, const char *net_filename);
|
|||||||
|
|
||||||
void mysql_read_default_options(struct st_mysql_options *options,
|
void mysql_read_default_options(struct st_mysql_options *options,
|
||||||
const char *filename,const char *group);
|
const char *filename,const char *group);
|
||||||
MYSQL *
|
MYSQL * STDCALL
|
||||||
cli_mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
|
cli_mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
|
||||||
const char *passwd, const char *db,
|
const char *passwd, const char *db,
|
||||||
uint port, const char *unix_socket,ulong client_flag);
|
uint port, const char *unix_socket,ulong client_flag);
|
||||||
|
@@ -295,7 +295,7 @@ uint emb_count_querycache_size(THD *thd)
|
|||||||
cur_row= thd->data->data;
|
cur_row= thd->data->data;
|
||||||
n_rows= thd->data->rows;
|
n_rows= thd->data->rows;
|
||||||
}
|
}
|
||||||
result= 4+8 + (42 + 4*n_rows)*mysql->field_count;
|
result= (uint) (4+8 + (42 + 4*n_rows)*mysql->field_count);
|
||||||
|
|
||||||
for(; field < field_end; field++)
|
for(; field < field_end; field++)
|
||||||
{
|
{
|
||||||
@@ -414,8 +414,8 @@ int emb_load_querycache_result(THD *thd, Querycache_stream *src)
|
|||||||
goto err;
|
goto err;
|
||||||
thd->data= data;
|
thd->data= data;
|
||||||
init_alloc_root(&data->alloc, 8192,0);
|
init_alloc_root(&data->alloc, 8192,0);
|
||||||
row= (MYSQL_ROWS *)alloc_root(&data->alloc, rows * sizeof(MYSQL_ROWS) +
|
row= (MYSQL_ROWS *)alloc_root(&data->alloc, (uint) (rows * sizeof(MYSQL_ROWS) +
|
||||||
rows * (mysql->field_count+1)*sizeof(char*));
|
rows * (mysql->field_count+1)*sizeof(char*)));
|
||||||
end_row= row + rows;
|
end_row= row + rows;
|
||||||
columns= (MYSQL_ROW)end_row;
|
columns= (MYSQL_ROW)end_row;
|
||||||
|
|
||||||
|
@@ -22,6 +22,8 @@ show create table t1;
|
|||||||
Table Create Table
|
Table Create Table
|
||||||
t1 CREATE TABLE `t1` (
|
t1 CREATE TABLE `t1` (
|
||||||
`a` int(11) default NULL,
|
`a` int(11) default NULL,
|
||||||
UNIQUE KEY `constraint_1` (`a`)
|
UNIQUE KEY `constraint_1` (`a`),
|
||||||
|
UNIQUE KEY `key_1` (`a`),
|
||||||
|
UNIQUE KEY `key_2` (`a`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
@@ -155,7 +155,37 @@ t1 CREATE TABLE `t1` (
|
|||||||
`a` int(11) NOT NULL default '0',
|
`a` int(11) NOT NULL default '0',
|
||||||
`b` int(11) default NULL,
|
`b` int(11) default NULL,
|
||||||
PRIMARY KEY (`a`),
|
PRIMARY KEY (`a`),
|
||||||
KEY `b` (`b`)
|
KEY `b` (`b`),
|
||||||
|
KEY `b_2` (`b`),
|
||||||
|
KEY `b_3` (`b`),
|
||||||
|
KEY `b_4` (`b`),
|
||||||
|
KEY `b_5` (`b`),
|
||||||
|
KEY `b_6` (`b`),
|
||||||
|
KEY `b_7` (`b`),
|
||||||
|
KEY `b_8` (`b`),
|
||||||
|
KEY `b_9` (`b`),
|
||||||
|
KEY `b_10` (`b`),
|
||||||
|
KEY `b_11` (`b`),
|
||||||
|
KEY `b_12` (`b`),
|
||||||
|
KEY `b_13` (`b`),
|
||||||
|
KEY `b_14` (`b`),
|
||||||
|
KEY `b_15` (`b`),
|
||||||
|
KEY `b_16` (`b`),
|
||||||
|
KEY `b_17` (`b`),
|
||||||
|
KEY `b_18` (`b`),
|
||||||
|
KEY `b_19` (`b`),
|
||||||
|
KEY `b_20` (`b`),
|
||||||
|
KEY `b_21` (`b`),
|
||||||
|
KEY `b_22` (`b`),
|
||||||
|
KEY `b_23` (`b`),
|
||||||
|
KEY `b_24` (`b`),
|
||||||
|
KEY `b_25` (`b`),
|
||||||
|
KEY `b_26` (`b`),
|
||||||
|
KEY `b_27` (`b`),
|
||||||
|
KEY `b_28` (`b`),
|
||||||
|
KEY `b_29` (`b`),
|
||||||
|
KEY `b_30` (`b`),
|
||||||
|
KEY `b_31` (`b`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 select if(1,'1','0'), month("2002-08-02");
|
create table t1 select if(1,'1','0'), month("2002-08-02");
|
||||||
|
298
mysql-test/r/ctype_latin1.result
Normal file
298
mysql-test/r/ctype_latin1.result
Normal file
@@ -0,0 +1,298 @@
|
|||||||
|
drop table if exists t1;
|
||||||
|
SET NAMES latin1;
|
||||||
|
CREATE TABLE t1 (a char(1) character set latin1);
|
||||||
|
INSERT INTO t1 VALUES (0x00),(0x01),(0x02),(0x03),(0x04),(0x05),(0x06),(0x07);
|
||||||
|
INSERT INTO t1 VALUES (0x08),(0x09),(0x0A),(0x0B),(0x0C),(0x0D),(0x0E),(0x0F);
|
||||||
|
INSERT INTO t1 VALUES (0x10),(0x11),(0x12),(0x13),(0x14),(0x15),(0x16),(0x17);
|
||||||
|
INSERT INTO t1 VALUES (0x18),(0x19),(0x1A),(0x1B),(0x1C),(0x1D),(0x1E),(0x1F);
|
||||||
|
INSERT INTO t1 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27);
|
||||||
|
INSERT INTO t1 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F);
|
||||||
|
INSERT INTO t1 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37);
|
||||||
|
INSERT INTO t1 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F);
|
||||||
|
INSERT INTO t1 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47);
|
||||||
|
INSERT INTO t1 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F);
|
||||||
|
INSERT INTO t1 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57);
|
||||||
|
INSERT INTO t1 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F);
|
||||||
|
INSERT INTO t1 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67);
|
||||||
|
INSERT INTO t1 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F);
|
||||||
|
INSERT INTO t1 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77);
|
||||||
|
INSERT INTO t1 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F);
|
||||||
|
INSERT INTO t1 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87);
|
||||||
|
INSERT INTO t1 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F);
|
||||||
|
INSERT INTO t1 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97);
|
||||||
|
INSERT INTO t1 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F);
|
||||||
|
INSERT INTO t1 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7);
|
||||||
|
INSERT INTO t1 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF);
|
||||||
|
INSERT INTO t1 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7);
|
||||||
|
INSERT INTO t1 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF);
|
||||||
|
INSERT INTO t1 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7);
|
||||||
|
INSERT INTO t1 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF);
|
||||||
|
INSERT INTO t1 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7);
|
||||||
|
INSERT INTO t1 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF);
|
||||||
|
INSERT INTO t1 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7);
|
||||||
|
INSERT INTO t1 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
|
||||||
|
INSERT INTO t1 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7);
|
||||||
|
INSERT INTO t1 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF);
|
||||||
|
SELECT
|
||||||
|
hex(a),
|
||||||
|
hex(@u:=convert(a using utf8)),
|
||||||
|
hex(@l:=convert(@u using latin1)),
|
||||||
|
a=@l FROM t1;
|
||||||
|
hex(a) hex(@u:=convert(a using utf8)) hex(@l:=convert(@u using latin1)) a=@l
|
||||||
|
00 00 00 1
|
||||||
|
01 01 01 1
|
||||||
|
02 02 02 1
|
||||||
|
03 03 03 1
|
||||||
|
04 04 04 1
|
||||||
|
05 05 05 1
|
||||||
|
06 06 06 1
|
||||||
|
07 07 07 1
|
||||||
|
08 08 08 1
|
||||||
|
09 09 09 1
|
||||||
|
0A 0A 0A 1
|
||||||
|
0B 0B 0B 1
|
||||||
|
0C 0C 0C 1
|
||||||
|
0D 0D 0D 1
|
||||||
|
0E 0E 0E 1
|
||||||
|
0F 0F 0F 1
|
||||||
|
10 10 10 1
|
||||||
|
11 11 11 1
|
||||||
|
12 12 12 1
|
||||||
|
13 13 13 1
|
||||||
|
14 14 14 1
|
||||||
|
15 15 15 1
|
||||||
|
16 16 16 1
|
||||||
|
17 17 17 1
|
||||||
|
18 18 18 1
|
||||||
|
19 19 19 1
|
||||||
|
1A 1A 1A 1
|
||||||
|
1B 1B 1B 1
|
||||||
|
1C 1C 1C 1
|
||||||
|
1D 1D 1D 1
|
||||||
|
1E 1E 1E 1
|
||||||
|
1F 1F 1F 1
|
||||||
|
1
|
||||||
|
21 21 21 1
|
||||||
|
22 22 22 1
|
||||||
|
23 23 23 1
|
||||||
|
24 24 24 1
|
||||||
|
25 25 25 1
|
||||||
|
26 26 26 1
|
||||||
|
27 27 27 1
|
||||||
|
28 28 28 1
|
||||||
|
29 29 29 1
|
||||||
|
2A 2A 2A 1
|
||||||
|
2B 2B 2B 1
|
||||||
|
2C 2C 2C 1
|
||||||
|
2D 2D 2D 1
|
||||||
|
2E 2E 2E 1
|
||||||
|
2F 2F 2F 1
|
||||||
|
30 30 30 1
|
||||||
|
31 31 31 1
|
||||||
|
32 32 32 1
|
||||||
|
33 33 33 1
|
||||||
|
34 34 34 1
|
||||||
|
35 35 35 1
|
||||||
|
36 36 36 1
|
||||||
|
37 37 37 1
|
||||||
|
38 38 38 1
|
||||||
|
39 39 39 1
|
||||||
|
3A 3A 3A 1
|
||||||
|
3B 3B 3B 1
|
||||||
|
3C 3C 3C 1
|
||||||
|
3D 3D 3D 1
|
||||||
|
3E 3E 3E 1
|
||||||
|
3F 3F 3F 1
|
||||||
|
40 40 40 1
|
||||||
|
41 41 41 1
|
||||||
|
42 42 42 1
|
||||||
|
43 43 43 1
|
||||||
|
44 44 44 1
|
||||||
|
45 45 45 1
|
||||||
|
46 46 46 1
|
||||||
|
47 47 47 1
|
||||||
|
48 48 48 1
|
||||||
|
49 49 49 1
|
||||||
|
4A 4A 4A 1
|
||||||
|
4B 4B 4B 1
|
||||||
|
4C 4C 4C 1
|
||||||
|
4D 4D 4D 1
|
||||||
|
4E 4E 4E 1
|
||||||
|
4F 4F 4F 1
|
||||||
|
50 50 50 1
|
||||||
|
51 51 51 1
|
||||||
|
52 52 52 1
|
||||||
|
53 53 53 1
|
||||||
|
54 54 54 1
|
||||||
|
55 55 55 1
|
||||||
|
56 56 56 1
|
||||||
|
57 57 57 1
|
||||||
|
58 58 58 1
|
||||||
|
59 59 59 1
|
||||||
|
5A 5A 5A 1
|
||||||
|
5B 5B 5B 1
|
||||||
|
5C 5C 5C 1
|
||||||
|
5D 5D 5D 1
|
||||||
|
5E 5E 5E 1
|
||||||
|
5F 5F 5F 1
|
||||||
|
60 60 60 1
|
||||||
|
61 61 61 1
|
||||||
|
62 62 62 1
|
||||||
|
63 63 63 1
|
||||||
|
64 64 64 1
|
||||||
|
65 65 65 1
|
||||||
|
66 66 66 1
|
||||||
|
67 67 67 1
|
||||||
|
68 68 68 1
|
||||||
|
69 69 69 1
|
||||||
|
6A 6A 6A 1
|
||||||
|
6B 6B 6B 1
|
||||||
|
6C 6C 6C 1
|
||||||
|
6D 6D 6D 1
|
||||||
|
6E 6E 6E 1
|
||||||
|
6F 6F 6F 1
|
||||||
|
70 70 70 1
|
||||||
|
71 71 71 1
|
||||||
|
72 72 72 1
|
||||||
|
73 73 73 1
|
||||||
|
74 74 74 1
|
||||||
|
75 75 75 1
|
||||||
|
76 76 76 1
|
||||||
|
77 77 77 1
|
||||||
|
78 78 78 1
|
||||||
|
79 79 79 1
|
||||||
|
7A 7A 7A 1
|
||||||
|
7B 7B 7B 1
|
||||||
|
7C 7C 7C 1
|
||||||
|
7D 7D 7D 1
|
||||||
|
7E 7E 7E 1
|
||||||
|
7F 7F 7F 1
|
||||||
|
80 E282AC 80 1
|
||||||
|
81 3F 3F 0
|
||||||
|
82 E2809A 82 1
|
||||||
|
83 C692 83 1
|
||||||
|
84 E2809E 84 1
|
||||||
|
85 E280A6 85 1
|
||||||
|
86 E280A0 86 1
|
||||||
|
87 E280A1 87 1
|
||||||
|
88 CB86 88 1
|
||||||
|
89 E280B0 89 1
|
||||||
|
8A C5A0 8A 1
|
||||||
|
8B E280B9 8B 1
|
||||||
|
8C C592 8C 1
|
||||||
|
8D 3F 3F 0
|
||||||
|
8E C5BD 8E 1
|
||||||
|
8F 3F 3F 0
|
||||||
|
90 3F 3F 0
|
||||||
|
91 E28098 91 1
|
||||||
|
92 E28099 92 1
|
||||||
|
93 E2809C 93 1
|
||||||
|
94 E2809D 94 1
|
||||||
|
95 E280A2 95 1
|
||||||
|
96 E28093 96 1
|
||||||
|
97 E28094 97 1
|
||||||
|
98 CB9C 98 1
|
||||||
|
99 E284A2 99 1
|
||||||
|
9A C5A1 9A 1
|
||||||
|
9B E280BA 9B 1
|
||||||
|
9C C593 9C 1
|
||||||
|
9D 3F 3F 0
|
||||||
|
9E C5BE 9E 1
|
||||||
|
9F C5B8 9F 1
|
||||||
|
A0 C2A0 A0 1
|
||||||
|
A1 C2A1 A1 1
|
||||||
|
A2 C2A2 A2 1
|
||||||
|
A3 C2A3 A3 1
|
||||||
|
A4 C2A4 A4 1
|
||||||
|
A5 C2A5 A5 1
|
||||||
|
A6 C2A6 A6 1
|
||||||
|
A7 C2A7 A7 1
|
||||||
|
A8 C2A8 A8 1
|
||||||
|
A9 C2A9 A9 1
|
||||||
|
AA C2AA AA 1
|
||||||
|
AB C2AB AB 1
|
||||||
|
AC C2AC AC 1
|
||||||
|
AD C2AD AD 1
|
||||||
|
AE C2AE AE 1
|
||||||
|
AF C2AF AF 1
|
||||||
|
B0 C2B0 B0 1
|
||||||
|
B1 C2B1 B1 1
|
||||||
|
B2 C2B2 B2 1
|
||||||
|
B3 C2B3 B3 1
|
||||||
|
B4 C2B4 B4 1
|
||||||
|
B5 C2B5 B5 1
|
||||||
|
B6 C2B6 B6 1
|
||||||
|
B7 C2B7 B7 1
|
||||||
|
B8 C2B8 B8 1
|
||||||
|
B9 C2B9 B9 1
|
||||||
|
BA C2BA BA 1
|
||||||
|
BB C2BB BB 1
|
||||||
|
BC C2BC BC 1
|
||||||
|
BD C2BD BD 1
|
||||||
|
BE C2BE BE 1
|
||||||
|
BF C2BF BF 1
|
||||||
|
C0 C380 C0 1
|
||||||
|
C1 C381 C1 1
|
||||||
|
C2 C382 C2 1
|
||||||
|
C3 C383 C3 1
|
||||||
|
C4 C384 C4 1
|
||||||
|
C5 C385 C5 1
|
||||||
|
C6 C386 C6 1
|
||||||
|
C7 C387 C7 1
|
||||||
|
C8 C388 C8 1
|
||||||
|
C9 C389 C9 1
|
||||||
|
CA C38A CA 1
|
||||||
|
CB C38B CB 1
|
||||||
|
CC C38C CC 1
|
||||||
|
CD C38D CD 1
|
||||||
|
CE C38E CE 1
|
||||||
|
CF C38F CF 1
|
||||||
|
D0 C390 D0 1
|
||||||
|
D1 C391 D1 1
|
||||||
|
D2 C392 D2 1
|
||||||
|
D3 C393 D3 1
|
||||||
|
D4 C394 D4 1
|
||||||
|
D5 C395 D5 1
|
||||||
|
D6 C396 D6 1
|
||||||
|
D7 C397 D7 1
|
||||||
|
D8 C398 D8 1
|
||||||
|
D9 C399 D9 1
|
||||||
|
DA C39A DA 1
|
||||||
|
DB C39B DB 1
|
||||||
|
DC C39C DC 1
|
||||||
|
DD C39D DD 1
|
||||||
|
DE C39E DE 1
|
||||||
|
DF C39F DF 1
|
||||||
|
E0 C3A0 E0 1
|
||||||
|
E1 C3A1 E1 1
|
||||||
|
E2 C3A2 E2 1
|
||||||
|
E3 C3A3 E3 1
|
||||||
|
E4 C3A4 E4 1
|
||||||
|
E5 C3A5 E5 1
|
||||||
|
E6 C3A6 E6 1
|
||||||
|
E7 C3A7 E7 1
|
||||||
|
E8 C3A8 E8 1
|
||||||
|
E9 C3A9 E9 1
|
||||||
|
EA C3AA EA 1
|
||||||
|
EB C3AB EB 1
|
||||||
|
EC C3AC EC 1
|
||||||
|
ED C3AD ED 1
|
||||||
|
EE C3AE EE 1
|
||||||
|
EF C3AF EF 1
|
||||||
|
F0 C3B0 F0 1
|
||||||
|
F1 C3B1 F1 1
|
||||||
|
F2 C3B2 F2 1
|
||||||
|
F3 C3B3 F3 1
|
||||||
|
F4 C3B4 F4 1
|
||||||
|
F5 C3B5 F5 1
|
||||||
|
F6 C3B6 F6 1
|
||||||
|
F7 C3B7 F7 1
|
||||||
|
F8 C3B8 F8 1
|
||||||
|
F9 C3B9 F9 1
|
||||||
|
FA C3BA FA 1
|
||||||
|
FB C3BB FB 1
|
||||||
|
FC C3BC FC 1
|
||||||
|
FD C3BD FD 1
|
||||||
|
FE C3BE FE 1
|
||||||
|
FF C3BF FF 1
|
||||||
|
DROP TABLE t1;
|
@@ -82,6 +82,13 @@ Field Type Null Key Default Extra
|
|||||||
SET CHARACTER SET koi8r;
|
SET CHARACTER SET koi8r;
|
||||||
DROP TABLE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
DROP TABLE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||||
SET CHARACTER SET default;
|
SET CHARACTER SET default;
|
||||||
|
SET NAMES UTF8;
|
||||||
|
CREATE TABLE t1 (t text) DEFAULT CHARSET UTF8;
|
||||||
|
INSERT INTO t1 (t) VALUES ('x');
|
||||||
|
SELECT 1 FROM t1 WHERE CONCAT(_latin1'x') = t;
|
||||||
|
1
|
||||||
|
1
|
||||||
|
DROP TABLE t1;
|
||||||
SET CHARACTER SET koi8r;
|
SET CHARACTER SET koi8r;
|
||||||
CREATE DATABASE <20><><EFBFBD><EFBFBD>;
|
CREATE DATABASE <20><><EFBFBD><EFBFBD>;
|
||||||
USE <20><><EFBFBD><EFBFBD>;
|
USE <20><><EFBFBD><EFBFBD>;
|
||||||
|
@@ -371,6 +371,7 @@ t1 0 PRIMARY 2 b A # NULL NULL BTREE
|
|||||||
t1 0 c 1 c A # NULL NULL BTREE
|
t1 0 c 1 c A # NULL NULL BTREE
|
||||||
t1 0 b 1 b A # NULL NULL BTREE
|
t1 0 b 1 b A # NULL NULL BTREE
|
||||||
t1 1 a 1 a A # NULL NULL BTREE
|
t1 1 a 1 a A # NULL NULL BTREE
|
||||||
|
t1 1 a_2 1 a A # NULL NULL BTREE
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (col1 int not null, col2 char(4) not null, primary key(col1));
|
create table t1 (col1 int not null, col2 char(4) not null, primary key(col1));
|
||||||
alter table t1 engine=innodb;
|
alter table t1 engine=innodb;
|
||||||
@@ -1442,3 +1443,101 @@ drop table t1;
|
|||||||
create table t1 (a int) engine=innodb;
|
create table t1 (a int) engine=innodb;
|
||||||
create table t2 like t1;
|
create table t2 like t1;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
create table t1 (id int(11) not null, id2 int(11) not null, unique (id,id2)) engine=innodb;
|
||||||
|
create table t2 (id int(11) not null, constraint t1_id_fk foreign key ( id ) references t1 (id)) engine = innodb;
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`id` int(11) NOT NULL default '0',
|
||||||
|
`id2` int(11) NOT NULL default '0',
|
||||||
|
UNIQUE KEY `id` (`id`,`id2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`id` int(11) NOT NULL default '0',
|
||||||
|
KEY `t1_id_fk` (`id`),
|
||||||
|
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
create index id on t2 (id);
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`id` int(11) NOT NULL default '0',
|
||||||
|
KEY `id` (`id`),
|
||||||
|
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
create index id2 on t2 (id);
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`id` int(11) NOT NULL default '0',
|
||||||
|
KEY `id` (`id`),
|
||||||
|
KEY `id2` (`id`),
|
||||||
|
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
drop index id2 on t2;
|
||||||
|
drop index id on t2;
|
||||||
|
Got one of the listed errors
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`id` int(11) NOT NULL default '0',
|
||||||
|
KEY `id` (`id`),
|
||||||
|
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
drop table t2;
|
||||||
|
create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id,id2) references t1 (id,id2)) engine = innodb;
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`id` int(11) NOT NULL default '0',
|
||||||
|
`id2` int(11) NOT NULL default '0',
|
||||||
|
KEY `t1_id_fk` (`id`,`id2`),
|
||||||
|
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`, `id2`) REFERENCES `t1` (`id`, `id2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
create unique index id on t2 (id,id2);
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`id` int(11) NOT NULL default '0',
|
||||||
|
`id2` int(11) NOT NULL default '0',
|
||||||
|
UNIQUE KEY `id` (`id`,`id2`),
|
||||||
|
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`, `id2`) REFERENCES `t1` (`id`, `id2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
drop table t2;
|
||||||
|
create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2),constraint t1_id_fk foreign key (id2,id) references t1 (id,id2)) engine = innodb;
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`id` int(11) NOT NULL default '0',
|
||||||
|
`id2` int(11) NOT NULL default '0',
|
||||||
|
UNIQUE KEY `id` (`id`,`id2`),
|
||||||
|
KEY `t1_id_fk` (`id2`,`id`),
|
||||||
|
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id2`, `id`) REFERENCES `t1` (`id`, `id2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
drop table t2;
|
||||||
|
create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2), constraint t1_id_fk foreign key (id) references t1 (id)) engine = innodb;
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`id` int(11) NOT NULL default '0',
|
||||||
|
`id2` int(11) NOT NULL default '0',
|
||||||
|
UNIQUE KEY `id` (`id`,`id2`),
|
||||||
|
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
drop table t2;
|
||||||
|
create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2),constraint t1_id_fk foreign key (id2,id) references t1 (id,id2)) engine = innodb;
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`id` int(11) NOT NULL default '0',
|
||||||
|
`id2` int(11) NOT NULL default '0',
|
||||||
|
UNIQUE KEY `id` (`id`,`id2`),
|
||||||
|
KEY `t1_id_fk` (`id2`,`id`),
|
||||||
|
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id2`, `id`) REFERENCES `t1` (`id`, `id2`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
drop table t2;
|
||||||
|
create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id2,id) references t1 (id)) engine = innodb;
|
||||||
|
ERROR HY000: Can't create table './test/t2.frm' (errno: 150)
|
||||||
|
drop table t1;
|
||||||
|
@@ -105,6 +105,18 @@ select min(a) from t1;
|
|||||||
min(a)
|
min(a)
|
||||||
-0.010
|
-0.010
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
create table t1 (a float(200,100), b double(200,100));
|
||||||
|
insert t1 values (1.0, 2.0);
|
||||||
|
select * from t1;
|
||||||
|
a b
|
||||||
|
1.000000000000000000000000000000 2.000000000000000000000000000000
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` float(200,30) default NULL,
|
||||||
|
`b` double(200,30) default NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
drop table t1;
|
||||||
create table t1 (f float(54));
|
create table t1 (f float(54));
|
||||||
ERROR 42000: Incorrect column specifier for column 'f'
|
ERROR 42000: Incorrect column specifier for column 'f'
|
||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
|
55
mysql-test/t/ctype_latin1.test
Normal file
55
mysql-test/t/ctype_latin1.test
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
#
|
||||||
|
# Tests with the latin1 character set
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
#
|
||||||
|
# WL 1494: Treat latin1 as cp1252 for unicode conversion
|
||||||
|
#
|
||||||
|
|
||||||
|
SET NAMES latin1;
|
||||||
|
CREATE TABLE t1 (a char(1) character set latin1);
|
||||||
|
INSERT INTO t1 VALUES (0x00),(0x01),(0x02),(0x03),(0x04),(0x05),(0x06),(0x07);
|
||||||
|
INSERT INTO t1 VALUES (0x08),(0x09),(0x0A),(0x0B),(0x0C),(0x0D),(0x0E),(0x0F);
|
||||||
|
INSERT INTO t1 VALUES (0x10),(0x11),(0x12),(0x13),(0x14),(0x15),(0x16),(0x17);
|
||||||
|
INSERT INTO t1 VALUES (0x18),(0x19),(0x1A),(0x1B),(0x1C),(0x1D),(0x1E),(0x1F);
|
||||||
|
INSERT INTO t1 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27);
|
||||||
|
INSERT INTO t1 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F);
|
||||||
|
INSERT INTO t1 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37);
|
||||||
|
INSERT INTO t1 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F);
|
||||||
|
INSERT INTO t1 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47);
|
||||||
|
INSERT INTO t1 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F);
|
||||||
|
INSERT INTO t1 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57);
|
||||||
|
INSERT INTO t1 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F);
|
||||||
|
INSERT INTO t1 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67);
|
||||||
|
INSERT INTO t1 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F);
|
||||||
|
INSERT INTO t1 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77);
|
||||||
|
INSERT INTO t1 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F);
|
||||||
|
INSERT INTO t1 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87);
|
||||||
|
INSERT INTO t1 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F);
|
||||||
|
INSERT INTO t1 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97);
|
||||||
|
INSERT INTO t1 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F);
|
||||||
|
INSERT INTO t1 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7);
|
||||||
|
INSERT INTO t1 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF);
|
||||||
|
INSERT INTO t1 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7);
|
||||||
|
INSERT INTO t1 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF);
|
||||||
|
INSERT INTO t1 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7);
|
||||||
|
INSERT INTO t1 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF);
|
||||||
|
INSERT INTO t1 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7);
|
||||||
|
INSERT INTO t1 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF);
|
||||||
|
INSERT INTO t1 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7);
|
||||||
|
INSERT INTO t1 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
|
||||||
|
INSERT INTO t1 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7);
|
||||||
|
INSERT INTO t1 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF);
|
||||||
|
|
||||||
|
#
|
||||||
|
# 0x81 0x8D 0x8F 0x90 0x9D are undefined in cp1252
|
||||||
|
#
|
||||||
|
SELECT
|
||||||
|
hex(a),
|
||||||
|
hex(@u:=convert(a using utf8)),
|
||||||
|
hex(@l:=convert(@u using latin1)),
|
||||||
|
a=@l FROM t1;
|
||||||
|
DROP TABLE t1;
|
@@ -56,6 +56,13 @@ SET CHARACTER SET koi8r;
|
|||||||
DROP TABLE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
DROP TABLE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||||
SET CHARACTER SET default;
|
SET CHARACTER SET default;
|
||||||
|
|
||||||
|
# Test for Item_func_conv_charset::fix_fields (bug #3704)
|
||||||
|
SET NAMES UTF8;
|
||||||
|
CREATE TABLE t1 (t text) DEFAULT CHARSET UTF8;
|
||||||
|
INSERT INTO t1 (t) VALUES ('x');
|
||||||
|
SELECT 1 FROM t1 WHERE CONCAT(_latin1'x') = t;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
SET CHARACTER SET koi8r;
|
SET CHARACTER SET koi8r;
|
||||||
CREATE DATABASE <20><><EFBFBD><EFBFBD>;
|
CREATE DATABASE <20><><EFBFBD><EFBFBD>;
|
||||||
USE <20><><EFBFBD><EFBFBD>;
|
USE <20><><EFBFBD><EFBFBD>;
|
||||||
@@ -71,4 +78,3 @@ SET NAMES koi8r;
|
|||||||
SELECT hex('<27><><EFBFBD><EFBFBD>');
|
SELECT hex('<27><><EFBFBD><EFBFBD>');
|
||||||
SET character_set_connection=cp1251;
|
SET character_set_connection=cp1251;
|
||||||
SELECT hex('<27><><EFBFBD><EFBFBD>');
|
SELECT hex('<27><><EFBFBD><EFBFBD>');
|
||||||
|
|
||||||
|
@@ -1044,3 +1044,46 @@ drop table t1;
|
|||||||
create table t1 (a int) engine=innodb;
|
create table t1 (a int) engine=innodb;
|
||||||
create table t2 like t1;
|
create table t2 like t1;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Test of automaticly created foreign keys
|
||||||
|
#
|
||||||
|
|
||||||
|
create table t1 (id int(11) not null, id2 int(11) not null, unique (id,id2)) engine=innodb;
|
||||||
|
create table t2 (id int(11) not null, constraint t1_id_fk foreign key ( id ) references t1 (id)) engine = innodb;
|
||||||
|
show create table t1;
|
||||||
|
show create table t2;
|
||||||
|
create index id on t2 (id);
|
||||||
|
show create table t2;
|
||||||
|
create index id2 on t2 (id);
|
||||||
|
show create table t2;
|
||||||
|
drop index id2 on t2;
|
||||||
|
--error 1025,1025
|
||||||
|
drop index id on t2;
|
||||||
|
show create table t2;
|
||||||
|
drop table t2;
|
||||||
|
|
||||||
|
create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id,id2) references t1 (id,id2)) engine = innodb;
|
||||||
|
show create table t2;
|
||||||
|
create unique index id on t2 (id,id2);
|
||||||
|
show create table t2;
|
||||||
|
drop table t2;
|
||||||
|
|
||||||
|
# Check foreign key columns created in different order than key columns
|
||||||
|
create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2),constraint t1_id_fk foreign key (id2,id) references t1 (id,id2)) engine = innodb;
|
||||||
|
show create table t2;
|
||||||
|
drop table t2;
|
||||||
|
|
||||||
|
create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2), constraint t1_id_fk foreign key (id) references t1 (id)) engine = innodb;
|
||||||
|
show create table t2;
|
||||||
|
drop table t2;
|
||||||
|
|
||||||
|
create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2),constraint t1_id_fk foreign key (id2,id) references t1 (id,id2)) engine = innodb;
|
||||||
|
show create table t2;
|
||||||
|
drop table t2;
|
||||||
|
|
||||||
|
# Test error handling
|
||||||
|
--error 1005
|
||||||
|
create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id2,id) references t1 (id)) engine = innodb;
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
@@ -71,7 +71,7 @@ show status like 'key_blocks_used';
|
|||||||
# Following results differs on 64 and 32 bit systems because of different
|
# Following results differs on 64 and 32 bit systems because of different
|
||||||
# pointer sizes, which takes up different amount of space in key cache
|
# pointer sizes, which takes up different amount of space in key cache
|
||||||
|
|
||||||
--replace_result 1812 KEY_BLOCKS_UNUSED 1793 KEY_BLOCKS_UNUSED
|
--replace_result 1812 KEY_BLOCKS_UNUSED 1793 KEY_BLOCKS_UNUSED 1674 KEY_BLOCKS_UNUSED 1818 KEY_BLOCKS_UNUSED
|
||||||
show status like 'key_blocks_unused';
|
show status like 'key_blocks_unused';
|
||||||
|
|
||||||
insert into t1 values (1, 'qqqq'), (11, 'yyyy');
|
insert into t1 values (1, 'qqqq'), (11, 'yyyy');
|
||||||
@@ -84,7 +84,7 @@ update t1 set p=2 where p=1;
|
|||||||
update t2 set i=2 where i=1;
|
update t2 set i=2 where i=1;
|
||||||
|
|
||||||
show status like 'key_blocks_used';
|
show status like 'key_blocks_used';
|
||||||
--replace_result 1808 KEY_BLOCKS_UNUSED 1789 KEY_BLOCKS_UNUSED
|
--replace_result 1808 KEY_BLOCKS_UNUSED 1789 KEY_BLOCKS_UNUSED 1670 KEY_BLOCKS_UNUSED 1814 KEY_BLOCKS_UNUSED
|
||||||
show status like 'key_blocks_unused';
|
show status like 'key_blocks_unused';
|
||||||
|
|
||||||
cache index t1 key (`primary`) in keycache1;
|
cache index t1 key (`primary`) in keycache1;
|
||||||
@@ -146,7 +146,7 @@ cache index t1,t2 in default;
|
|||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
|
|
||||||
show status like 'key_blocks_used';
|
show status like 'key_blocks_used';
|
||||||
--replace_result 1812 KEY_BLOCKS_UNUSED 1793 KEY_BLOCKS_UNUSED
|
--replace_result 1812 KEY_BLOCKS_UNUSED 1793 KEY_BLOCKS_UNUSED 1674 KEY_BLOCKS_UNUSED 1818 KEY_BLOCKS_UNUSED
|
||||||
show status like 'key_blocks_unused';
|
show status like 'key_blocks_unused';
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
|
@@ -54,6 +54,12 @@ select a from t1 order by a;
|
|||||||
select min(a) from t1;
|
select min(a) from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
create table t1 (a float(200,100), b double(200,100));
|
||||||
|
insert t1 values (1.0, 2.0);
|
||||||
|
select * from t1;
|
||||||
|
show create table t1;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
# Errors
|
# Errors
|
||||||
|
|
||||||
--error 1063
|
--error 1063
|
||||||
|
@@ -117,10 +117,12 @@ int my_lock(File fd, int locktype, my_off_t start, my_off_t length,
|
|||||||
#if defined(HAVE_FCNTL)
|
#if defined(HAVE_FCNTL)
|
||||||
{
|
{
|
||||||
struct flock lock;
|
struct flock lock;
|
||||||
|
|
||||||
lock.l_type= (short) locktype;
|
lock.l_type= (short) locktype;
|
||||||
lock.l_whence=0L;
|
lock.l_whence= SEEK_SET;
|
||||||
lock.l_start=(long) start;
|
lock.l_start= (off_t) start;
|
||||||
lock.l_len=(long) length;
|
lock.l_len= (off_t) length;
|
||||||
|
|
||||||
if (MyFlags & MY_DONT_WAIT)
|
if (MyFlags & MY_DONT_WAIT)
|
||||||
{
|
{
|
||||||
if (fcntl(fd,F_SETLK,&lock) != -1) /* Check if we can lock */
|
if (fcntl(fd,F_SETLK,&lock) != -1) /* Check if we can lock */
|
||||||
|
29
ndb/Defs.mk
29
ndb/Defs.mk
@@ -21,62 +21,43 @@ LIBPREFIX := lib
|
|||||||
fixpath = $1
|
fixpath = $1
|
||||||
ar_rcs = $(AR_RCS) $1 $2
|
ar_rcs = $(AR_RCS) $1 $2
|
||||||
#check-odbc = $(findstring sqlext.h, $(wildcard /usr/include/sqlext.h) $(wildcard /usr/local/include/sqlext.h))
|
#check-odbc = $(findstring sqlext.h, $(wildcard /usr/include/sqlext.h) $(wildcard /usr/local/include/sqlext.h))
|
||||||
CCFLAGS_TOP += -DHAVE_STRCASECMP
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(NDB_OS), WIN32)
|
ifeq ($(NDB_OS), WIN32)
|
||||||
CCFLAGS_TOP += -DHAVE_STRDUP
|
|
||||||
NDB_STRLCPY := Y
|
|
||||||
NDB_STRLCAT := Y
|
|
||||||
SHLIBEXT := dll
|
SHLIBEXT := dll
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(NDB_OS), LINUX)
|
ifeq ($(NDB_OS), LINUX)
|
||||||
CCFLAGS_TOP += -DHAVE_STRDUP
|
|
||||||
NDB_STRLCAT := Y
|
|
||||||
NDB_STRLCPY := Y
|
|
||||||
SHLIBEXT := so
|
SHLIBEXT := so
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(NDB_OS), SOLARIS)
|
ifeq ($(NDB_OS), SOLARIS)
|
||||||
CCFLAGS_TOP += -DHAVE_STRDUP
|
|
||||||
NDB_STRLCAT := Y
|
|
||||||
NDB_STRLCPY := Y
|
|
||||||
SHLIBEXT := so
|
SHLIBEXT := so
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(NDB_OS), HPUX)
|
ifeq ($(NDB_OS), HPUX)
|
||||||
CCFLAGS_TOP += -DHAVE_STRDUP
|
|
||||||
NDB_STRLCAT := Y
|
|
||||||
NDB_STRLCPY := Y
|
|
||||||
SHLIBEXT := sl
|
SHLIBEXT := sl
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(NDB_OS), MACOSX)
|
ifeq ($(NDB_OS), MACOSX)
|
||||||
CCFLAGS_TOP += -DHAVE_STRLCAT
|
|
||||||
CCFLAGS_TOP += -DHAVE_STRLCAT
|
|
||||||
CCFLAGS_TOP += -DHAVE_STRLCPY
|
|
||||||
CCFLAGS_TOP += -DNDBOUT_UINTPTR
|
CCFLAGS_TOP += -DNDBOUT_UINTPTR
|
||||||
SHLIBEXT := dylib
|
SHLIBEXT := dylib
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(NDB_OS), OSE)
|
ifeq ($(NDB_OS), OSE)
|
||||||
NDB_STRDUP := Y
|
|
||||||
NDB_STRLCAT := Y
|
|
||||||
NDB_STRLCPY := Y
|
|
||||||
SHLIBEXT := so
|
SHLIBEXT := so
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(NDB_OS), SOFTOSE)
|
ifeq ($(NDB_OS), SOFTOSE)
|
||||||
NDB_STRDUP := Y
|
|
||||||
NDB_STRLCAT := Y
|
|
||||||
NDB_STRLCPY := Y
|
|
||||||
SHLIBEXT := so
|
SHLIBEXT := so
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(NDB_SCI), Y)
|
ifeq ($(NDB_SCI), Y)
|
||||||
CCFLAGS_TOP += -DHAVE_SCI
|
CCFLAGS_TOP += -DHAVE_NDB_SCI
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(NDB_SHM), Y)
|
||||||
|
CCFLAGS_TOP += -DHAVE_NDB_SHM
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(findstring OSE, $(NDB_OS)),)
|
ifneq ($(findstring OSE, $(NDB_OS)),)
|
||||||
|
@@ -227,7 +227,7 @@ CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/include/util) \
|
|||||||
BIN_TARGET_LIBS += logger general portlib
|
BIN_TARGET_LIBS += logger general portlib
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/include)
|
CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/include) -I$(call fixpath,$(NDB_TOP)/../include)
|
||||||
|
|
||||||
ifeq ($(NDB_SCI), Y)
|
ifeq ($(NDB_SCI), Y)
|
||||||
BIN_TARGET_LIBS += sisci
|
BIN_TARGET_LIBS += sisci
|
||||||
|
@@ -6,6 +6,13 @@ DIRS := src test tools examples
|
|||||||
replace-targets := all clean
|
replace-targets := all clean
|
||||||
NDB_RELEASE := $(shell ../scripts/mysql_config --version)
|
NDB_RELEASE := $(shell ../scripts/mysql_config --version)
|
||||||
|
|
||||||
|
all:
|
||||||
|
$(MAKE) -C src
|
||||||
|
$(MAKE) -C test/src
|
||||||
|
$(MAKE) -C tools
|
||||||
|
$(MAKE) -C test/ndbapi/flexBench
|
||||||
|
$(MAKE) -C test/tools/waiter
|
||||||
|
|
||||||
include $(NDB_TOP)/Epilogue.mk
|
include $(NDB_TOP)/Epilogue.mk
|
||||||
|
|
||||||
_libs_test : _bins_src
|
_libs_test : _bins_src
|
||||||
@@ -15,7 +22,7 @@ _bins_src : _libs_src
|
|||||||
_bins_tools : _bins_src
|
_bins_tools : _bins_src
|
||||||
|
|
||||||
# always release compile except for ndbapi static lib
|
# always release compile except for ndbapi static lib
|
||||||
all:
|
old-all:
|
||||||
$(MAKE) -C src/ndbapi libs
|
$(MAKE) -C src/ndbapi libs
|
||||||
$(MAKE) libs NDB_VERSION=RELEASE
|
$(MAKE) libs NDB_VERSION=RELEASE
|
||||||
$(MAKE) bins NDB_VERSION=RELEASE
|
$(MAKE) bins NDB_VERSION=RELEASE
|
||||||
|
@@ -11,6 +11,11 @@ then
|
|||||||
NDB_SCI=N
|
NDB_SCI=N
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z "$NDB_SHM" ]
|
||||||
|
then
|
||||||
|
NDB_SHM=N
|
||||||
|
fi
|
||||||
|
|
||||||
os=`uname -s`
|
os=`uname -s`
|
||||||
case $os in
|
case $os in
|
||||||
Linux)
|
Linux)
|
||||||
|
@@ -63,20 +63,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
|
|
||||||
#include <NdbApi.hpp>
|
#include <NdbApi.hpp>
|
||||||
#include <NdbScanFilter.hpp>
|
#include <NdbScanFilter.hpp>
|
||||||
#include <iostream> // Used for cout
|
#include <iostream> // Used for cout
|
||||||
|
|
||||||
#ifdef SOLARIS
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined LINUX || defined MACOSX
|
|
||||||
#include <time.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper sleep function
|
* Helper sleep function
|
||||||
*/
|
*/
|
||||||
|
@@ -85,21 +85,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
|
|
||||||
#include <NdbApi.hpp>
|
#include <NdbApi.hpp>
|
||||||
#include <NdbScanFilter.hpp>
|
#include <NdbScanFilter.hpp>
|
||||||
// Used for cout
|
// Used for cout
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#ifdef SOLARIS
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined LINUX || defined MACOSX
|
|
||||||
#include <time.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper sleep function
|
* Helper sleep function
|
||||||
*/
|
*/
|
||||||
|
@@ -24,7 +24,6 @@
|
|||||||
#define SignalLoggerManager_H
|
#define SignalLoggerManager_H
|
||||||
|
|
||||||
|
|
||||||
#include <NdbStdio.h>
|
|
||||||
#include <kernel_types.h>
|
#include <kernel_types.h>
|
||||||
#include <BlockNumbers.h>
|
#include <BlockNumbers.h>
|
||||||
#include <TransporterDefinitions.hpp>
|
#include <TransporterDefinitions.hpp>
|
||||||
@@ -153,7 +152,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_logDistributed;
|
bool m_logDistributed;
|
||||||
int m_ownNodeId;
|
Uint32 m_ownNodeId;
|
||||||
|
|
||||||
FILE * outputStream;
|
FILE * outputStream;
|
||||||
int log(int cmd, BlockNumber bno, LogMode logMode);
|
int log(int cmd, BlockNumber bno, LogMode logMode);
|
||||||
|
@@ -17,8 +17,7 @@
|
|||||||
#ifndef _LOG_LEVEL_HPP
|
#ifndef _LOG_LEVEL_HPP
|
||||||
#define _LOG_LEVEL_HPP
|
#define _LOG_LEVEL_HPP
|
||||||
|
|
||||||
#include <ndb_types.h>
|
#include <ndb_global.h>
|
||||||
#include <assert.h>
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
#include "SignalData.hpp"
|
#include "SignalData.hpp"
|
||||||
#include <NodeBitmask.hpp>
|
#include <NodeBitmask.hpp>
|
||||||
#include <NdbString.h>
|
|
||||||
#include <signaldata/DictTabInfo.hpp>
|
#include <signaldata/DictTabInfo.hpp>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -17,11 +17,9 @@
|
|||||||
#ifndef SIGNAL_DATA_H
|
#ifndef SIGNAL_DATA_H
|
||||||
#define SIGNAL_DATA_H
|
#define SIGNAL_DATA_H
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
#include <ndb_limits.h>
|
#include <ndb_limits.h>
|
||||||
#include <kernel_types.h>
|
#include <kernel_types.h>
|
||||||
#include <NdbStdio.h>
|
|
||||||
#include <NdbConstant.hpp>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#ifndef NDB_ASSERT
|
#ifndef NDB_ASSERT
|
||||||
#ifdef VM_TRACE
|
#ifdef VM_TRACE
|
||||||
|
@@ -17,8 +17,8 @@
|
|||||||
#ifndef SIGNAL_DATA_PRINT_H
|
#ifndef SIGNAL_DATA_PRINT_H
|
||||||
#define SIGNAL_DATA_PRINT_H
|
#define SIGNAL_DATA_PRINT_H
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
#include <kernel_types.h>
|
#include <kernel_types.h>
|
||||||
#include <NdbStdio.h>
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Typedef for a Signal Data Print Function
|
* Typedef for a Signal Data Print Function
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "LogHandler.hpp"
|
#include "LogHandler.hpp"
|
||||||
|
|
||||||
class File;
|
class File_class;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logs messages to a file. The log file will be archived depending on
|
* Logs messages to a file. The log file will be archived depending on
|
||||||
@@ -104,7 +104,7 @@ private:
|
|||||||
int m_maxNoFiles;
|
int m_maxNoFiles;
|
||||||
long m_maxFileSize;
|
long m_maxFileSize;
|
||||||
unsigned int m_maxLogEntries;
|
unsigned int m_maxLogEntries;
|
||||||
File* m_pLogFile;
|
File_class* m_pLogFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
#include "Logger.hpp"
|
#include "Logger.hpp"
|
||||||
|
|
||||||
#include <NdbStdio.h> // Defines NULL
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class is the base class for all log handlers. A log handler is
|
* This class is the base class for all log handlers. A log handler is
|
||||||
|
@@ -17,8 +17,8 @@
|
|||||||
#ifndef Logger_H
|
#ifndef Logger_H
|
||||||
#define Logger_H
|
#define Logger_H
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
#include <BaseString.hpp>
|
#include <BaseString.hpp>
|
||||||
#include <stdarg.h>
|
|
||||||
|
|
||||||
class LogHandler;
|
class LogHandler;
|
||||||
class LogHandlerList;
|
class LogHandlerList;
|
||||||
|
@@ -80,13 +80,13 @@ extern "C" {
|
|||||||
* NDB Cluster node types
|
* NDB Cluster node types
|
||||||
*/
|
*/
|
||||||
enum ndb_mgm_node_type {
|
enum ndb_mgm_node_type {
|
||||||
NDB_MGM_NODE_TYPE_UNKNOWN = -1, ///< Node type not known
|
NDB_MGM_NODE_TYPE_UNKNOWN = -1, /*/< Node type not known*/
|
||||||
NDB_MGM_NODE_TYPE_API = 0, ///< An application node (API)
|
NDB_MGM_NODE_TYPE_API = 0, /*/< An application node (API)*/
|
||||||
NDB_MGM_NODE_TYPE_NDB = 1, ///< A database node (DB)
|
NDB_MGM_NODE_TYPE_NDB = 1, /*/< A database node (DB)*/
|
||||||
NDB_MGM_NODE_TYPE_MGM = 2, ///< A management server node (MGM)
|
NDB_MGM_NODE_TYPE_MGM = 2, /*/< A management server node (MGM)*/
|
||||||
|
|
||||||
NDB_MGM_NODE_TYPE_MIN = 0, ///< Min valid value
|
NDB_MGM_NODE_TYPE_MIN = 0, /*/< Min valid value*/
|
||||||
NDB_MGM_NODE_TYPE_MAX = 2 ///< Max valid value
|
NDB_MGM_NODE_TYPE_MAX = 2 /*/< Max valid value*/
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -22,8 +22,8 @@
|
|||||||
//******************************************************************************
|
//******************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
#include <ndb_global.h> // exit
|
||||||
#include <NdbOut.hpp>
|
#include <NdbOut.hpp>
|
||||||
#include <stdlib.h> // exit
|
|
||||||
|
|
||||||
#define REPORT_WARNING(message) \
|
#define REPORT_WARNING(message) \
|
||||||
ndbout << "WARNING: " << message << endl
|
ndbout << "WARNING: " << message << endl
|
||||||
|
89
ndb/include/ndb_global.h
Normal file
89
ndb/include/ndb_global.h
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
|
||||||
|
#ifndef NDBGLOBAL_H
|
||||||
|
#define NDBGLOBAL_H
|
||||||
|
|
||||||
|
#include <my_global.h>
|
||||||
|
|
||||||
|
#if defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(WIN32)
|
||||||
|
#define NDB_WIN32
|
||||||
|
#else
|
||||||
|
#undef NDB_WIN32
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <m_string.h>
|
||||||
|
#include <m_ctype.h>
|
||||||
|
#include <ndb_types.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#ifdef HAVE_STDARG_H
|
||||||
|
#include <stdarg.h>
|
||||||
|
#endif
|
||||||
|
#ifdef TIME_WITH_SYS_TIME
|
||||||
|
#include <time.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_FCNTL_H
|
||||||
|
#include <fcntl.h>
|
||||||
|
#endif
|
||||||
|
#include <sys/param.h>
|
||||||
|
#ifdef HAVE_SYS_STAT_H
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#endif
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#ifdef HAVE_SYS_WAIT_H
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_MMAN_H
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef NDB_WIN32
|
||||||
|
#include <winsock2.h>
|
||||||
|
#include <ws2tcpip.h>
|
||||||
|
|
||||||
|
#define DIR_SEPARATOR "\\"
|
||||||
|
#define PATH_MAX 256
|
||||||
|
|
||||||
|
#pragma warning(disable: 4503 4786)
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define DIR_SEPARATOR "/"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef NDB_VC98
|
||||||
|
#define STATIC_CONST(x) enum { x }
|
||||||
|
#else
|
||||||
|
#define STATIC_CONST(x) static const Uint32 x
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#include <new>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
#ifndef HAVE_STRDUP
|
||||||
|
extern char * strdup(const char *s);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_STRLCPY
|
||||||
|
extern size_t strlcpy (char *dst, const char *src, size_t dst_sz);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_STRLCAT
|
||||||
|
extern size_t strlcat (char *dst, const char *src, size_t dst_sz);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_STRCASECMP
|
||||||
|
extern int strcasecmp(const char *s1, const char *s2);
|
||||||
|
extern int strncasecmp(const char *s1, const char *s2, size_t n);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
7
ndb/include/ndb_net.h
Normal file
7
ndb/include/ndb_net.h
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
#ifndef NDBNET_H
|
||||||
|
#define NDBNET_H
|
||||||
|
|
||||||
|
#include <my_net.h>
|
||||||
|
|
||||||
|
#endif
|
@@ -21,9 +21,6 @@
|
|||||||
#ifndef SYS_TYPES_H
|
#ifndef SYS_TYPES_H
|
||||||
#define SYS_TYPES_H
|
#define SYS_TYPES_H
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
typedef char Int8;
|
typedef char Int8;
|
||||||
typedef unsigned char Uint8;
|
typedef unsigned char Uint8;
|
||||||
typedef short Int16;
|
typedef short Int16;
|
||||||
|
@@ -17,9 +17,6 @@
|
|||||||
#ifndef NDB_VERSION_H
|
#ifndef NDB_VERSION_H
|
||||||
#define NDB_VERSION_H
|
#define NDB_VERSION_H
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include <version.h>
|
#include <version.h>
|
||||||
|
|
||||||
#define MAKE_VERSION(A,B,C) (((A) << 16) | ((B) << 8) | ((C) << 0))
|
#define MAKE_VERSION(A,B,C) (((A) << 16) | ((B) << 8) | ((C) << 0))
|
||||||
@@ -47,7 +44,7 @@
|
|||||||
* Used by transporter and when communicating with
|
* Used by transporter and when communicating with
|
||||||
* managment server
|
* managment server
|
||||||
*/
|
*/
|
||||||
//#define NDB_VERSION_ID 0
|
/*#define NDB_VERSION_ID 0*/
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -860,9 +860,9 @@
|
|||||||
|
|
||||||
#include <ndb_types.h>
|
#include <ndb_types.h>
|
||||||
#include <ndbapi_limits.h>
|
#include <ndbapi_limits.h>
|
||||||
#include "AttrType.hpp"
|
#include <AttrType.hpp>
|
||||||
#include <NdbError.hpp>
|
#include <NdbError.hpp>
|
||||||
#include "NdbDictionary.hpp"
|
#include <NdbDictionary.hpp>
|
||||||
|
|
||||||
class NdbObjectIdMap;
|
class NdbObjectIdMap;
|
||||||
class NdbOperation;
|
class NdbOperation;
|
||||||
@@ -1673,7 +1673,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
struct StartTransactionNodeSelectionData {
|
struct StartTransactionNodeSelectionData {
|
||||||
StartTransactionNodeSelectionData():
|
StartTransactionNodeSelectionData():
|
||||||
fragment2PrimaryNodeMap(NULL) {};
|
fragment2PrimaryNodeMap(0) {};
|
||||||
Uint32 kValue;
|
Uint32 kValue;
|
||||||
Uint32 hashValueMask;
|
Uint32 hashValueMask;
|
||||||
Uint32 hashpointerValue;
|
Uint32 hashpointerValue;
|
||||||
|
@@ -18,9 +18,8 @@
|
|||||||
#define NdbConnection_H
|
#define NdbConnection_H
|
||||||
|
|
||||||
#include <ndb_types.h>
|
#include <ndb_types.h>
|
||||||
#include "AttrType.hpp"
|
#include <AttrType.hpp>
|
||||||
#include <NdbError.hpp>
|
#include <NdbError.hpp>
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
class NdbConnection;
|
class NdbConnection;
|
||||||
class NdbOperation;
|
class NdbOperation;
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
#ifndef NDB_ERROR_HPP
|
#ifndef NDB_ERROR_HPP
|
||||||
#define NDB_ERROR_HPP
|
#define NDB_ERROR_HPP
|
||||||
|
|
||||||
|
#include <ndberror.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @struct NdbError
|
* @struct NdbError
|
||||||
* @brief Contains error information
|
* @brief Contains error information
|
||||||
@@ -51,7 +53,7 @@ struct NdbError {
|
|||||||
* The error code indicate success<br>
|
* The error code indicate success<br>
|
||||||
* (Includes classification: NdbError::NoError)
|
* (Includes classification: NdbError::NoError)
|
||||||
*/
|
*/
|
||||||
Success = 0,
|
Success = ndberror_st_success,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The error code indicates a temporary error.
|
* The error code indicates a temporary error.
|
||||||
@@ -61,7 +63,7 @@ struct NdbError {
|
|||||||
* NdbError::OverloadError, NdbError::NodeShutdown
|
* NdbError::OverloadError, NdbError::NodeShutdown
|
||||||
* and NdbError::TimeoutExpired.)
|
* and NdbError::TimeoutExpired.)
|
||||||
*/
|
*/
|
||||||
TemporaryError = 1,
|
TemporaryError = ndberror_st_temporary,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The error code indicates a permanent error.<br>
|
* The error code indicates a permanent error.<br>
|
||||||
@@ -71,14 +73,14 @@ struct NdbError {
|
|||||||
* NdbError::UserDefinedError, NdbError::InternalError, and,
|
* NdbError::UserDefinedError, NdbError::InternalError, and,
|
||||||
* NdbError::FunctionNotImplemented.)
|
* NdbError::FunctionNotImplemented.)
|
||||||
*/
|
*/
|
||||||
PermanentError = 2,
|
PermanentError = ndberror_st_permanent,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The result/status is unknown.<br>
|
* The result/status is unknown.<br>
|
||||||
* (Includes classifications: NdbError::UnknownResultError, and
|
* (Includes classifications: NdbError::UnknownResultError, and
|
||||||
* NdbError::UnknownErrorCode.)
|
* NdbError::UnknownErrorCode.)
|
||||||
*/
|
*/
|
||||||
UnknownResult = 3
|
UnknownResult = ndberror_st_unknown
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -88,85 +90,85 @@ struct NdbError {
|
|||||||
/**
|
/**
|
||||||
* Success. No error occurred.
|
* Success. No error occurred.
|
||||||
*/
|
*/
|
||||||
NoError = 0,
|
NoError = ndberror_cl_none,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Error in application program.
|
* Error in application program.
|
||||||
*/
|
*/
|
||||||
ApplicationError = 1,
|
ApplicationError = ndberror_cl_application,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Read operation failed due to missing record.
|
* Read operation failed due to missing record.
|
||||||
*/
|
*/
|
||||||
NoDataFound = 2,
|
NoDataFound = ndberror_cl_no_data_found,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* E.g. inserting a tuple with a primary key already existing
|
* E.g. inserting a tuple with a primary key already existing
|
||||||
* in the table.
|
* in the table.
|
||||||
*/
|
*/
|
||||||
ConstraintViolation = 3,
|
ConstraintViolation = ndberror_cl_constraint_violation,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Error in creating table or usage of table.
|
* Error in creating table or usage of table.
|
||||||
*/
|
*/
|
||||||
SchemaError = 4,
|
SchemaError = ndberror_cl_schema_error,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Error occurred in interpreted program.
|
* Error occurred in interpreted program.
|
||||||
*/
|
*/
|
||||||
UserDefinedError = 5,
|
UserDefinedError = ndberror_cl_user_defined,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* E.g. insufficient memory for data or indexes.
|
* E.g. insufficient memory for data or indexes.
|
||||||
*/
|
*/
|
||||||
InsufficientSpace = 6,
|
InsufficientSpace = ndberror_cl_insufficient_space,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* E.g. too many active transactions.
|
* E.g. too many active transactions.
|
||||||
*/
|
*/
|
||||||
TemporaryResourceError = 7,
|
TemporaryResourceError = ndberror_cl_temporary_resource,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Temporary failures which are probably inflicted by a node
|
* Temporary failures which are probably inflicted by a node
|
||||||
* recovery in progress. Examples: information sent between
|
* recovery in progress. Examples: information sent between
|
||||||
* application and NDB lost, distribution change.
|
* application and NDB lost, distribution change.
|
||||||
*/
|
*/
|
||||||
NodeRecoveryError = 8,
|
NodeRecoveryError = ndberror_cl_node_recovery,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* E.g. out of log file space.
|
* E.g. out of log file space.
|
||||||
*/
|
*/
|
||||||
OverloadError = 9,
|
OverloadError = ndberror_cl_overload,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Timeouts, often inflicted by deadlocks in NDB.
|
* Timeouts, often inflicted by deadlocks in NDB.
|
||||||
*/
|
*/
|
||||||
TimeoutExpired = 10,
|
TimeoutExpired = ndberror_cl_timeout_expired,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Is is unknown whether the transaction was committed or not.
|
* Is is unknown whether the transaction was committed or not.
|
||||||
*/
|
*/
|
||||||
UnknownResultError = 11,
|
UnknownResultError = ndberror_cl_unknown_result,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A serious error in NDB has occurred.
|
* A serious error in NDB has occurred.
|
||||||
*/
|
*/
|
||||||
InternalError = 12,
|
InternalError = ndberror_cl_internal_error,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A function used is not yet implemented.
|
* A function used is not yet implemented.
|
||||||
*/
|
*/
|
||||||
FunctionNotImplemented = 13,
|
FunctionNotImplemented = ndberror_cl_function_not_implemented,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Error handler could not determine correct error code.
|
* Error handler could not determine correct error code.
|
||||||
*/
|
*/
|
||||||
UnknownErrorCode = 14,
|
UnknownErrorCode = ndberror_cl_unknown_error_code,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Node shutdown
|
* Node shutdown
|
||||||
*/
|
*/
|
||||||
NodeShutdown = 15
|
NodeShutdown = ndberror_cl_node_shutdown
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -204,6 +206,22 @@ struct NdbError {
|
|||||||
message = 0;
|
message = 0;
|
||||||
details = 0;
|
details = 0;
|
||||||
}
|
}
|
||||||
|
NdbError(const ndberror_struct & ndberror){
|
||||||
|
status = (NdbError::Status) ndberror.status;
|
||||||
|
classification = (NdbError::Classification) ndberror.classification;
|
||||||
|
code = ndberror.code;
|
||||||
|
message = ndberror.message;
|
||||||
|
details = ndberror.details;
|
||||||
|
}
|
||||||
|
operator ndberror_struct() const {
|
||||||
|
ndberror_struct ndberror;
|
||||||
|
ndberror.status = (ndberror_status_enum) status;
|
||||||
|
ndberror.classification = (ndberror_classification_enum) classification;
|
||||||
|
ndberror.code = code;
|
||||||
|
ndberror.message = message;
|
||||||
|
ndberror.details = details;
|
||||||
|
return ndberror;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class NdbOut& operator <<(class NdbOut&, const NdbError &);
|
class NdbOut& operator <<(class NdbOut&, const NdbError &);
|
||||||
|
@@ -157,8 +157,8 @@ public:
|
|||||||
* the attribute, or a NULL pointer
|
* the attribute, or a NULL pointer
|
||||||
* (indicating error).
|
* (indicating error).
|
||||||
*/
|
*/
|
||||||
NdbRecAttr *getValue(const char *anAttrName, char *aValue = NULL);
|
NdbRecAttr *getValue(const char *anAttrName, char *aValue = 0);
|
||||||
NdbRecAttr *getPreValue(const char *anAttrName, char *aValue = NULL);
|
NdbRecAttr *getPreValue(const char *anAttrName, char *aValue = 0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves event resultset if available, inserted into the NdbRecAttrs
|
* Retrieves event resultset if available, inserted into the NdbRecAttrs
|
||||||
@@ -172,7 +172,7 @@ public:
|
|||||||
* overflow and *pOverRun will indicate the number of events that have
|
* overflow and *pOverRun will indicate the number of events that have
|
||||||
* overwritten.
|
* overwritten.
|
||||||
*/
|
*/
|
||||||
int next(int *pOverRun=NULL);
|
int next(int *pOverRun=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* In the current implementation a nodefailiure may cause loss of events,
|
* In the current implementation a nodefailiure may cause loss of events,
|
||||||
|
@@ -17,14 +17,11 @@
|
|||||||
#ifndef NdbOperation_H
|
#ifndef NdbOperation_H
|
||||||
#define NdbOperation_H
|
#define NdbOperation_H
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <assert.h>
|
|
||||||
|
|
||||||
#include <ndb_types.h>
|
#include <ndb_types.h>
|
||||||
#include "AttrType.hpp"
|
|
||||||
#include "NdbError.hpp"
|
#include <AttrType.hpp>
|
||||||
#include "NdbReceiver.hpp"
|
#include <NdbError.hpp>
|
||||||
#include <stdlib.h>
|
#include <NdbReceiver.hpp>
|
||||||
|
|
||||||
class Ndb;
|
class Ndb;
|
||||||
class NdbApiSignal;
|
class NdbApiSignal;
|
||||||
@@ -480,8 +477,8 @@ public:
|
|||||||
* the attribute, or a NULL pointer
|
* the attribute, or a NULL pointer
|
||||||
* (indicating error).
|
* (indicating error).
|
||||||
*/
|
*/
|
||||||
NdbRecAttr* getValue(const char* anAttrName, char* aValue = NULL);
|
NdbRecAttr* getValue(const char* anAttrName, char* aValue = 0);
|
||||||
NdbRecAttr* getValue(Uint32 anAttrId, char* aValue = NULL);
|
NdbRecAttr* getValue(Uint32 anAttrId, char* aValue = 0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Define an attribute to set or update in query.
|
* Define an attribute to set or update in query.
|
||||||
@@ -925,7 +922,7 @@ protected:
|
|||||||
virtual int equal_impl(const NdbColumnImpl* anAttrObject,
|
virtual int equal_impl(const NdbColumnImpl* anAttrObject,
|
||||||
const char* aValue,
|
const char* aValue,
|
||||||
Uint32 len);
|
Uint32 len);
|
||||||
NdbRecAttr* getValue(const NdbColumnImpl* anAttrObject, char* aValue = NULL);
|
NdbRecAttr* getValue(const NdbColumnImpl* anAttrObject, char* aValue = 0);
|
||||||
int setValue(const NdbColumnImpl* anAttrObject, const char* aValue, Uint32 len);
|
int setValue(const NdbColumnImpl* anAttrObject, const char* aValue, Uint32 len);
|
||||||
int incValue(const NdbColumnImpl* anAttrObject, Uint32 aValue);
|
int incValue(const NdbColumnImpl* anAttrObject, Uint32 aValue);
|
||||||
int incValue(const NdbColumnImpl* anAttrObject, Uint64 aValue);
|
int incValue(const NdbColumnImpl* anAttrObject, Uint64 aValue);
|
||||||
|
@@ -17,9 +17,6 @@
|
|||||||
#ifndef NdbRecAttr_H
|
#ifndef NdbRecAttr_H
|
||||||
#define NdbRecAttr_H
|
#define NdbRecAttr_H
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include <ndb_types.h>
|
|
||||||
#include <NdbDictionary.hpp>
|
#include <NdbDictionary.hpp>
|
||||||
#include "AttrType.hpp"
|
#include "AttrType.hpp"
|
||||||
|
|
||||||
@@ -427,9 +424,9 @@ inline
|
|||||||
void
|
void
|
||||||
NdbRecAttr::release()
|
NdbRecAttr::release()
|
||||||
{
|
{
|
||||||
if (theStorageX != NULL) {
|
if (theStorageX != 0) {
|
||||||
delete [] theStorageX;
|
delete [] theStorageX;
|
||||||
theStorageX = NULL;
|
theStorageX = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -437,10 +434,10 @@ inline
|
|||||||
void
|
void
|
||||||
NdbRecAttr::init()
|
NdbRecAttr::init()
|
||||||
{
|
{
|
||||||
theStorageX = NULL;
|
theStorageX = 0;
|
||||||
theValue = NULL;
|
theValue = 0;
|
||||||
theRef = NULL;
|
theRef = 0;
|
||||||
theNext = NULL;
|
theNext = 0;
|
||||||
theAttrId = 0xFFFF;
|
theAttrId = 0xFFFF;
|
||||||
theNULLind = -1;
|
theNULLind = -1;
|
||||||
}
|
}
|
||||||
@@ -470,7 +467,7 @@ inline
|
|||||||
bool
|
bool
|
||||||
NdbRecAttr::copyoutRequired() const
|
NdbRecAttr::copyoutRequired() const
|
||||||
{
|
{
|
||||||
return theRef != theValue && theValue != NULL;
|
return theRef != theValue && theValue != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
inline
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
#define NdbReceiver_H
|
#define NdbReceiver_H
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_INTERNAL // Not part of public interface
|
#ifndef DOXYGEN_SHOULD_SKIP_INTERNAL // Not part of public interface
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <ndb_types.h>
|
||||||
|
|
||||||
class Ndb;
|
class Ndb;
|
||||||
class NdbReceiver
|
class NdbReceiver
|
||||||
|
@@ -172,25 +172,6 @@ SetValueRec::SetValueRec() :
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
SetValueRec::~SetValueRec()
|
|
||||||
{
|
|
||||||
if ((stype == SET_STRING_ATTR1) ||
|
|
||||||
(stype == SET_INT32_ATTR1) ||
|
|
||||||
(stype == SET_UINT32_ATTR1) ||
|
|
||||||
(stype == SET_INT64_ATTR1) ||
|
|
||||||
(stype == SET_UINT64_ATTR1) ||
|
|
||||||
(stype == SET_FLOAT_ATTR1) ||
|
|
||||||
(stype == SET_DOUBLE_ATTR1))
|
|
||||||
free(anAttrName);
|
|
||||||
|
|
||||||
if ((stype == SET_STRING_ATTR1) ||
|
|
||||||
(stype == SET_STRING_ATTR2))
|
|
||||||
free(stringStruct.aStringValue);
|
|
||||||
if (next) delete next;
|
|
||||||
next = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
class SetValueRecList {
|
class SetValueRecList {
|
||||||
public:
|
public:
|
||||||
SetValueRecList();
|
SetValueRecList();
|
||||||
|
@@ -18,11 +18,9 @@
|
|||||||
#define NdbSchemaOp_H
|
#define NdbSchemaOp_H
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED
|
#ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED
|
||||||
|
|
||||||
#include <ndb_types.h>
|
#include "NdbDictionary.hpp"
|
||||||
#include "AttrType.hpp"
|
#include "AttrType.hpp"
|
||||||
#include "NdbSchemaCon.hpp"
|
#include "NdbSchemaCon.hpp"
|
||||||
#include <stdlib.h>
|
|
||||||
#include "NdbDictionary.hpp"
|
|
||||||
|
|
||||||
class NdbApiSignal;
|
class NdbApiSignal;
|
||||||
class Ndb;
|
class Ndb;
|
||||||
|
98
ndb/include/ndbapi/ndberror.h
Normal file
98
ndb/include/ndbapi/ndberror.h
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
/* Copyright (C) 2003 MySQL AB
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
|
#ifndef NDBERROR_H
|
||||||
|
#define NDBERROR_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ndberror_st_success = 0,
|
||||||
|
ndberror_st_temporary = 1,
|
||||||
|
ndberror_st_permanent = 2,
|
||||||
|
ndberror_st_unknown = 3
|
||||||
|
} ndberror_status_enum;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ndberror_cl_none = 0,
|
||||||
|
ndberror_cl_application = 1,
|
||||||
|
ndberror_cl_no_data_found = 2,
|
||||||
|
ndberror_cl_constraint_violation = 3,
|
||||||
|
ndberror_cl_schema_error = 4,
|
||||||
|
ndberror_cl_user_defined = 5,
|
||||||
|
ndberror_cl_insufficient_space = 6,
|
||||||
|
ndberror_cl_temporary_resource = 7,
|
||||||
|
ndberror_cl_node_recovery = 8,
|
||||||
|
ndberror_cl_overload = 9,
|
||||||
|
ndberror_cl_timeout_expired = 10,
|
||||||
|
ndberror_cl_unknown_result = 11,
|
||||||
|
ndberror_cl_internal_error = 12,
|
||||||
|
ndberror_cl_function_not_implemented = 13,
|
||||||
|
ndberror_cl_unknown_error_code = 14,
|
||||||
|
ndberror_cl_node_shutdown = 15
|
||||||
|
} ndberror_classification_enum;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error status.
|
||||||
|
*/
|
||||||
|
ndberror_status_enum status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error type
|
||||||
|
*/
|
||||||
|
ndberror_classification_enum classification;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error code
|
||||||
|
*/
|
||||||
|
int code;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error message
|
||||||
|
*/
|
||||||
|
const char * message;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The detailed description. This is extra information regarding the
|
||||||
|
* error which is not included in the error message.
|
||||||
|
*
|
||||||
|
* @note Is NULL when no details specified
|
||||||
|
*/
|
||||||
|
char * details;
|
||||||
|
|
||||||
|
} ndberror_struct;
|
||||||
|
|
||||||
|
|
||||||
|
typedef ndberror_status_enum ndberror_status;
|
||||||
|
typedef ndberror_classification_enum ndberror_classification;
|
||||||
|
|
||||||
|
const char *ndberror_status_message(ndberror_status);
|
||||||
|
const char *ndberror_classification_message(ndberror_classification);
|
||||||
|
void ndberror_update(ndberror_struct *);
|
||||||
|
int ndb_error_string(int err_no, char *str, unsigned int size);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
@@ -102,11 +102,9 @@
|
|||||||
|
|
||||||
/* --- Include files ---- */
|
/* --- Include files ---- */
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
#include <defs/pcn_types.h>
|
#include <defs/pcn_types.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
|
|
||||||
/* --- Types and definitions --- */
|
/* --- Types and definitions --- */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -17,16 +17,9 @@
|
|||||||
#ifndef PCN_TYPES_H
|
#ifndef PCN_TYPES_H
|
||||||
#define PCN_TYPES_H
|
#define PCN_TYPES_H
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <ndb_global.h>
|
||||||
#include <NdbUnistd.h>
|
|
||||||
|
|
||||||
#ifdef NDB_MACOSX
|
|
||||||
typedef unsigned int Size_t;
|
|
||||||
#elif defined(NDB_SPARC_64)
|
|
||||||
typedef unsigned int Size_t;
|
|
||||||
#else
|
|
||||||
typedef size_t Size_t;
|
typedef size_t Size_t;
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef int Boolean_t;
|
typedef int Boolean_t;
|
||||||
|
|
||||||
|
@@ -1,28 +0,0 @@
|
|||||||
/* Copyright (C) 2003 MySQL AB
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
|
||||||
|
|
||||||
#ifndef NDB_CONSTANT_HPP
|
|
||||||
#define NDB_CONSTANT_HPP
|
|
||||||
|
|
||||||
#include <ndb_types.h>
|
|
||||||
|
|
||||||
#ifdef NDB_VC98
|
|
||||||
#define STATIC_CONST(x) enum { x }
|
|
||||||
#else
|
|
||||||
#define STATIC_CONST(x) static const Uint32 x
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@@ -17,8 +17,7 @@
|
|||||||
#ifndef NDB_MEM_H
|
#ifndef NDB_MEM_H
|
||||||
#define NDB_MEM_H
|
#define NDB_MEM_H
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <ndb_global.h>
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
#ifndef NDB_MUTEX_H
|
#ifndef NDB_MUTEX_H
|
||||||
#define NDB_MUTEX_H
|
#define NDB_MUTEX_H
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
|
|
||||||
#ifdef NDB_WIN32
|
#ifdef NDB_WIN32
|
||||||
#include <winsock2.h>
|
#include <winsock2.h>
|
||||||
#include <ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
@@ -34,7 +36,7 @@ typedef SEMAPHORE NdbMutex;
|
|||||||
#elif defined NDB_WIN32
|
#elif defined NDB_WIN32
|
||||||
typedef CRITICAL_SECTION NdbMutex;
|
typedef CRITICAL_SECTION NdbMutex;
|
||||||
#else
|
#else
|
||||||
#include <pthread.h>
|
#include <my_pthread.h>
|
||||||
typedef pthread_mutex_t NdbMutex;
|
typedef pthread_mutex_t NdbMutex;
|
||||||
#define NDB_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
|
#define NDB_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
|
||||||
#endif
|
#endif
|
||||||
|
@@ -17,6 +17,9 @@
|
|||||||
#ifndef NDB_TCP_H
|
#ifndef NDB_TCP_H
|
||||||
#define NDB_TCP_H
|
#define NDB_TCP_H
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
|
#include <ndb_net.h>
|
||||||
|
|
||||||
#if defined NDB_OSE || defined NDB_SOFTOSE
|
#if defined NDB_OSE || defined NDB_SOFTOSE
|
||||||
/**
|
/**
|
||||||
* Include files needed
|
* Include files needed
|
||||||
@@ -24,7 +27,6 @@
|
|||||||
#include "inet.h"
|
#include "inet.h"
|
||||||
|
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
#define NDB_NONBLOCK FNDELAY
|
#define NDB_NONBLOCK FNDELAY
|
||||||
#define NDB_SOCKET_TYPE int
|
#define NDB_SOCKET_TYPE int
|
||||||
@@ -38,65 +40,13 @@ typedef int socklen_t;
|
|||||||
|
|
||||||
#define InetErrno (* inet_errno())
|
#define InetErrno (* inet_errno())
|
||||||
|
|
||||||
#endif
|
#elif NDB_WIN32
|
||||||
|
|
||||||
#if defined NDB_SOLARIS || defined NDB_HPUX || defined NDB_IBMAIX || defined NDB_TRU64X
|
|
||||||
/**
|
|
||||||
* Include files needed
|
|
||||||
*/
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <netinet/in.h>
|
|
||||||
#include <netinet/tcp.h>
|
|
||||||
#include <arpa/inet.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include <netdb.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
|
|
||||||
#define NDB_NONBLOCK O_NONBLOCK
|
|
||||||
#define NDB_SOCKET_TYPE int
|
|
||||||
#define NDB_INVALID_SOCKET -1
|
|
||||||
#define NDB_CLOSE_SOCKET(x) close(x)
|
|
||||||
|
|
||||||
#define InetErrno errno
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined NDB_LINUX || defined NDB_MACOSX
|
|
||||||
/**
|
|
||||||
* Include files needed
|
|
||||||
*/
|
|
||||||
#include <sys/time.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <netinet/in.h>
|
|
||||||
#include <netinet/tcp.h>
|
|
||||||
#include <arpa/inet.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include <netdb.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
|
|
||||||
#define NDB_NONBLOCK O_NONBLOCK
|
|
||||||
#define NDB_SOCKET_TYPE int
|
|
||||||
#define NDB_INVALID_SOCKET -1
|
|
||||||
#define NDB_CLOSE_SOCKET(x) close(x)
|
|
||||||
|
|
||||||
#define InetErrno errno
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef NDB_WIN32
|
|
||||||
/**
|
/**
|
||||||
* Include files needed
|
* Include files needed
|
||||||
*/
|
*/
|
||||||
#include <winsock2.h>
|
#include <winsock2.h>
|
||||||
#include <ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
#define InetErrno WSAGetLastError()
|
#define InetErrno WSAGetLastError()
|
||||||
#define EWOULDBLOCK WSAEWOULDBLOCK
|
#define EWOULDBLOCK WSAEWOULDBLOCK
|
||||||
@@ -104,14 +54,23 @@ typedef int socklen_t;
|
|||||||
#define NDB_INVALID_SOCKET INVALID_SOCKET
|
#define NDB_INVALID_SOCKET INVALID_SOCKET
|
||||||
#define NDB_CLOSE_SOCKET(x) closesocket(x)
|
#define NDB_CLOSE_SOCKET(x) closesocket(x)
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef NDB_MACOSX
|
|
||||||
#define NDB_SOCKLEN_T socklen_t
|
|
||||||
#else
|
#else
|
||||||
#define NDB_SOCKLEN_T int
|
|
||||||
|
/**
|
||||||
|
* Include files needed
|
||||||
|
*/
|
||||||
|
#include <netdb.h>
|
||||||
|
|
||||||
|
#define NDB_NONBLOCK O_NONBLOCK
|
||||||
|
#define NDB_SOCKET_TYPE int
|
||||||
|
#define NDB_INVALID_SOCKET -1
|
||||||
|
#define NDB_CLOSE_SOCKET(x) close(x)
|
||||||
|
|
||||||
|
#define InetErrno errno
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define NDB_SOCKLEN_T SOCKET_SIZE_TYPE
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@@ -17,8 +17,7 @@
|
|||||||
#ifndef NDB_THREAD_H
|
#ifndef NDB_THREAD_H
|
||||||
#define NDB_THREAD_H
|
#define NDB_THREAD_H
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <ndb_global.h>
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@@ -42,7 +42,7 @@ NDB_TICKS NdbTick_CurrentMillisecond(void);
|
|||||||
*/
|
*/
|
||||||
int NdbTick_CurrentMicrosecond(NDB_TICKS * secs, Uint32 * micros);
|
int NdbTick_CurrentMicrosecond(NDB_TICKS * secs, Uint32 * micros);
|
||||||
|
|
||||||
//#define TIME_MEASUREMENT
|
/*#define TIME_MEASUREMENT*/
|
||||||
#ifdef TIME_MEASUREMENT
|
#ifdef TIME_MEASUREMENT
|
||||||
|
|
||||||
struct MicroSecondTimer {
|
struct MicroSecondTimer {
|
||||||
|
@@ -1,39 +0,0 @@
|
|||||||
/* Copyright (C) 2003 MySQL AB
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
|
||||||
|
|
||||||
#ifndef NDB_UNISTD_H
|
|
||||||
#define NDB_UNISTD_H
|
|
||||||
|
|
||||||
#ifdef NDB_WIN32
|
|
||||||
#include <winsock2.h>
|
|
||||||
#include <ws2tcpip.h>
|
|
||||||
#include <windows.h>
|
|
||||||
#include <limits.h>
|
|
||||||
|
|
||||||
#define DIR_SEPARATOR "\\"
|
|
||||||
#define PATH_MAX 256
|
|
||||||
|
|
||||||
#pragma warning(disable: 4503 4786)
|
|
||||||
|
|
||||||
#else
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <limits.h>
|
|
||||||
|
|
||||||
#define DIR_SEPARATOR "/"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@@ -17,8 +17,8 @@
|
|||||||
#ifndef TransporterDefinitions_H
|
#ifndef TransporterDefinitions_H
|
||||||
#define TransporterDefinitions_H
|
#define TransporterDefinitions_H
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
#include <kernel_types.h>
|
#include <kernel_types.h>
|
||||||
#include <string.h>
|
|
||||||
#include <NdbOut.hpp>
|
#include <NdbOut.hpp>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -17,9 +17,7 @@
|
|||||||
#ifndef __UTIL_BASESTRING_HPP_INCLUDED__
|
#ifndef __UTIL_BASESTRING_HPP_INCLUDED__
|
||||||
#define __UTIL_BASESTRING_HPP_INCLUDED__
|
#define __UTIL_BASESTRING_HPP_INCLUDED__
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ndb_global.h>
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include <Vector.hpp>
|
#include <Vector.hpp>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -17,12 +17,9 @@
|
|||||||
#ifndef NDB_BITMASK_H
|
#ifndef NDB_BITMASK_H
|
||||||
#define NDB_BITMASK_H
|
#define NDB_BITMASK_H
|
||||||
|
|
||||||
#include <ndb_types.h>
|
#include <ndb_global.h>
|
||||||
#include <NdbConstant.hpp>
|
|
||||||
|
|
||||||
#ifndef NDB_ASSERT
|
#ifndef NDB_ASSERT
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#define NDB_ASSERT(x, s) \
|
#define NDB_ASSERT(x, s) \
|
||||||
do { if (!(x)) { printf("%s\n", s); abort(); } } while (0)
|
do { if (!(x)) { printf("%s\n", s); abort(); } } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
@@ -17,8 +17,7 @@
|
|||||||
#ifndef FILE_H
|
#ifndef FILE_H
|
||||||
#define FILE_H
|
#define FILE_H
|
||||||
|
|
||||||
#include <NdbStdio.h>
|
#include <ndb_global.h>
|
||||||
#include <NdbConstant.hpp>
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class provides a file abstraction . It has operations
|
* This class provides a file abstraction . It has operations
|
||||||
@@ -26,7 +25,7 @@
|
|||||||
*
|
*
|
||||||
* @version #@ $Id: File.hpp,v 1.5 2002/04/26 13:15:38 ejonore Exp $
|
* @version #@ $Id: File.hpp,v 1.5 2002/04/26 13:15:38 ejonore Exp $
|
||||||
*/
|
*/
|
||||||
class File
|
class File_class
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
@@ -65,7 +64,7 @@ public:
|
|||||||
/**
|
/**
|
||||||
* Default constructor.
|
* Default constructor.
|
||||||
*/
|
*/
|
||||||
File();
|
File_class();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new File with the specified filename and file mode.
|
* Creates a new File with the specified filename and file mode.
|
||||||
@@ -76,12 +75,12 @@ public:
|
|||||||
* @param aFileName a filename.
|
* @param aFileName a filename.
|
||||||
* @param mode the mode which the file should be opened/created with, default "r".
|
* @param mode the mode which the file should be opened/created with, default "r".
|
||||||
*/
|
*/
|
||||||
File(const char* aFileName, const char* mode = "r");
|
File_class(const char* aFileName, const char* mode = "r");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destructor.
|
* Destructor.
|
||||||
*/
|
*/
|
||||||
~File();
|
~File_class();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Opens/creates the file. If open() fails then 'errno' and perror()
|
* Opens/creates the file. If open() fails then 'errno' and perror()
|
||||||
@@ -198,9 +197,9 @@ private:
|
|||||||
char m_fileName[MAX_FILE_NAME_SIZE];
|
char m_fileName[MAX_FILE_NAME_SIZE];
|
||||||
const char* m_fileMode;
|
const char* m_fileMode;
|
||||||
/* Prohibit */
|
/* Prohibit */
|
||||||
File(const File& aCopy);
|
File_class (const File_class& aCopy);
|
||||||
File operator = (const File&);
|
File_class operator = (const File_class&);
|
||||||
bool operator == (const File&);
|
bool operator == (const File_class&);
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
#ifndef INPUT_STREAM_HPP
|
#ifndef INPUT_STREAM_HPP
|
||||||
#define INPUT_STREAM_HPP
|
#define INPUT_STREAM_HPP
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <ndb_global.h>
|
||||||
#include <NdbTCP.h>
|
#include <NdbTCP.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
#ifndef __NDB_AUTO_PTR_HPP
|
#ifndef __NDB_AUTO_PTR_HPP
|
||||||
#define __NDB_AUTO_PTR_HPP
|
#define __NDB_AUTO_PTR_HPP
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <ndb_global.h>
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
class NdbAutoPtr {
|
class NdbAutoPtr {
|
||||||
|
@@ -1,48 +0,0 @@
|
|||||||
/* Copyright (C) 2003 MySQL AB
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
|
||||||
|
|
||||||
#ifndef __NDBSTRING_H_INCLUDED__
|
|
||||||
#define __NDBSTRING_H_INCLUDED__
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef HAVE_STRDUP
|
|
||||||
extern char * strdup(const char *s);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef HAVE_STRLCPY
|
|
||||||
extern size_t strlcpy (char *dst, const char *src, size_t dst_sz);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef HAVE_STRLCAT
|
|
||||||
extern size_t strlcat (char *dst, const char *src, size_t dst_sz);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef HAVE_STRCASECMP
|
|
||||||
extern int strcasecmp(const char *s1, const char *s2);
|
|
||||||
extern int strncasecmp(const char *s1, const char *s2, size_t n);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* !__NDBSTRING_H_INCLUDED__ */
|
|
@@ -17,7 +17,7 @@
|
|||||||
#ifndef OUTPUT_STREAM_HPP
|
#ifndef OUTPUT_STREAM_HPP
|
||||||
#define OUTPUT_STREAM_HPP
|
#define OUTPUT_STREAM_HPP
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <ndb_global.h>
|
||||||
#include <NdbTCP.h>
|
#include <NdbTCP.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -17,10 +17,7 @@
|
|||||||
#ifndef PROPERTIES_HPP
|
#ifndef PROPERTIES_HPP
|
||||||
#define PROPERTIES_HPP
|
#define PROPERTIES_HPP
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <ndb_global.h>
|
||||||
#include <string.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <ndb_types.h>
|
|
||||||
#include <BaseString.hpp>
|
#include <BaseString.hpp>
|
||||||
#include <UtilBuffer.hpp>
|
#include <UtilBuffer.hpp>
|
||||||
|
|
||||||
|
@@ -17,8 +17,7 @@
|
|||||||
#ifndef SIMPLE_PROPERTIES_HPP
|
#ifndef SIMPLE_PROPERTIES_HPP
|
||||||
#define SIMPLE_PROPERTIES_HPP
|
#define SIMPLE_PROPERTIES_HPP
|
||||||
|
|
||||||
#include <ndb_types.h>
|
#include <ndb_global.h>
|
||||||
#include <stddef.h> // offsetof
|
|
||||||
#include <NdbOut.hpp>
|
#include <NdbOut.hpp>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -17,9 +17,7 @@
|
|||||||
#ifndef __BUFFER_HPP_INCLUDED__
|
#ifndef __BUFFER_HPP_INCLUDED__
|
||||||
#define __BUFFER_HPP_INCLUDED__
|
#define __BUFFER_HPP_INCLUDED__
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <ndb_global.h>
|
||||||
#include <errno.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
/* This class represents a buffer of binary data, where you can append
|
/* This class represents a buffer of binary data, where you can append
|
||||||
* data at the end, and later read the entire bunch.
|
* data at the end, and later read the entire bunch.
|
||||||
|
@@ -17,9 +17,8 @@
|
|||||||
#ifndef NDB_VECTOR_HPP
|
#ifndef NDB_VECTOR_HPP
|
||||||
#define NDB_VECTOR_HPP
|
#define NDB_VECTOR_HPP
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <ndb_global.h>
|
||||||
#include <NdbMutex.h>
|
#include <NdbMutex.h>
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
struct Vector {
|
struct Vector {
|
||||||
|
@@ -52,7 +52,7 @@
|
|||||||
#ifndef __GETARG_H__
|
#ifndef __GETARG_H__
|
||||||
#define __GETARG_H__
|
#define __GETARG_H__
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <ndb_global.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@@ -17,8 +17,9 @@
|
|||||||
#ifndef _SOCKET_IO_H
|
#ifndef _SOCKET_IO_H
|
||||||
#define _SOCKET_IO_H
|
#define _SOCKET_IO_H
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
|
|
||||||
#include <NdbTCP.h>
|
#include <NdbTCP.h>
|
||||||
#include <stdarg.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
#ifndef UUCODE_H
|
#ifndef UUCODE_H
|
||||||
#define UUCODE_H
|
#define UUCODE_H
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <ndb_global.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@@ -14,11 +14,7 @@
|
|||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
#include <NdbUnistd.h>
|
#include <ndb_global.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <NdbStdio.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <NdbApi.hpp>
|
#include <NdbApi.hpp>
|
||||||
#include <common/common.hpp>
|
#include <common/common.hpp>
|
||||||
#include "DiagArea.hpp"
|
#include "DiagArea.hpp"
|
||||||
|
@@ -14,14 +14,8 @@
|
|||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
#include <NdbUnistd.h>
|
#include <ndb_global.h>
|
||||||
#include <NdbStdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <limits.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include "DataField.hpp"
|
#include "DataField.hpp"
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
#ifndef INT_MAX
|
#ifndef INT_MAX
|
||||||
#define INT_MAX (2147483647)
|
#define INT_MAX (2147483647)
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
#include "DataType.hpp"
|
#include "DataType.hpp"
|
||||||
#include <NdbStdio.h>
|
|
||||||
|
|
||||||
// SqlType
|
// SqlType
|
||||||
|
|
||||||
|
@@ -14,9 +14,7 @@
|
|||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
#include <new>
|
#include <ndb_global.h>
|
||||||
#include <string.h>
|
|
||||||
#include <NdbStdio.h>
|
|
||||||
#include "OdbcData.hpp"
|
#include "OdbcData.hpp"
|
||||||
|
|
||||||
OdbcData::OdbcData() :
|
OdbcData::OdbcData() :
|
||||||
|
@@ -14,16 +14,14 @@
|
|||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
|
|
||||||
#include "DebuggerNames.hpp"
|
#include "DebuggerNames.hpp"
|
||||||
|
|
||||||
#include <BlockNumbers.h>
|
#include <BlockNumbers.h>
|
||||||
#include <GlobalSignalNumbers.h>
|
#include <GlobalSignalNumbers.h>
|
||||||
#include <signaldata/SignalDataPrint.hpp>
|
#include <signaldata/SignalDataPrint.hpp>
|
||||||
|
|
||||||
#include <NdbStdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
static const char * localSignalNames[MAX_GSN+1];
|
static const char * localSignalNames[MAX_GSN+1];
|
||||||
static SignalDataPrintFunction localPrintFunctions[MAX_GSN+1];
|
static SignalDataPrintFunction localPrintFunctions[MAX_GSN+1];
|
||||||
static const char * localBlockNames[NO_OF_BLOCKS];
|
static const char * localBlockNames[NO_OF_BLOCKS];
|
||||||
|
@@ -14,6 +14,8 @@
|
|||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
|
|
||||||
#include "EventLogger.hpp"
|
#include "EventLogger.hpp"
|
||||||
|
|
||||||
#include <NdbConfig.h>
|
#include <NdbConfig.h>
|
||||||
@@ -22,10 +24,6 @@
|
|||||||
#include <GrepEvent.hpp>
|
#include <GrepEvent.hpp>
|
||||||
#include <NodeState.hpp>
|
#include <NodeState.hpp>
|
||||||
#include <version.h>
|
#include <version.h>
|
||||||
#include <NdbStdio.h>
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// PUBLIC
|
// PUBLIC
|
||||||
|
@@ -14,15 +14,11 @@
|
|||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
|
#include <ndb_global.h>
|
||||||
|
|
||||||
#include "SignalLoggerManager.hpp"
|
#include "SignalLoggerManager.hpp"
|
||||||
#include <LongSignal.hpp>
|
#include <LongSignal.hpp>
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <assert.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <NdbString.h>
|
|
||||||
|
|
||||||
#include <DebuggerNames.hpp>
|
#include <DebuggerNames.hpp>
|
||||||
|
|
||||||
SignalLoggerManager::SignalLoggerManager()
|
SignalLoggerManager::SignalLoggerManager()
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
|
|
||||||
#include <NdbStdio.h>
|
|
||||||
#include <kernel_types.h>
|
#include <kernel_types.h>
|
||||||
#include <BlockNumbers.h>
|
#include <BlockNumbers.h>
|
||||||
#include <signaldata/CloseComReqConf.hpp>
|
#include <signaldata/CloseComReqConf.hpp>
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
|
|
||||||
#include <NdbStdio.h>
|
|
||||||
#include <kernel_types.h>
|
#include <kernel_types.h>
|
||||||
#include <BlockNumbers.h>
|
#include <BlockNumbers.h>
|
||||||
#include <signaldata/DihContinueB.hpp>
|
#include <signaldata/DihContinueB.hpp>
|
||||||
|
@@ -26,7 +26,7 @@ printCREATE_FRAGMENTATION_REQ(FILE * output, const Uint32 * theData,
|
|||||||
fprintf(output, " noOfFragments: %x\n", sig->noOfFragments);
|
fprintf(output, " noOfFragments: %x\n", sig->noOfFragments);
|
||||||
fprintf(output, " fragmentNode: %x\n", sig->fragmentNode);
|
fprintf(output, " fragmentNode: %x\n", sig->fragmentNode);
|
||||||
if (sig->primaryTableId == RNIL)
|
if (sig->primaryTableId == RNIL)
|
||||||
fprintf(output, " primaryTableId: none\n", sig->primaryTableId);
|
fprintf(output, " primaryTableId: none\n");
|
||||||
else
|
else
|
||||||
fprintf(output, " primaryTableId: %x\n", sig->primaryTableId);
|
fprintf(output, " primaryTableId: %x\n", sig->primaryTableId);
|
||||||
return true;
|
return true;
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
|
|
||||||
#include <NdbStdio.h>
|
|
||||||
#include <kernel_types.h>
|
#include <kernel_types.h>
|
||||||
#include <BlockNumbers.h>
|
#include <BlockNumbers.h>
|
||||||
#include <signaldata/PrepFailReqRef.hpp>
|
#include <signaldata/PrepFailReqRef.hpp>
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
|
|
||||||
#include <NdbStdio.h>
|
|
||||||
#include <kernel_types.h>
|
#include <kernel_types.h>
|
||||||
#include <BlockNumbers.h>
|
#include <BlockNumbers.h>
|
||||||
#include <signaldata/SystemError.hpp>
|
#include <signaldata/SystemError.hpp>
|
||||||
|
@@ -19,10 +19,10 @@
|
|||||||
**
|
**
|
||||||
** Main editing routines for editline library.
|
** Main editing routines for editline library.
|
||||||
*/
|
*/
|
||||||
|
#include <ndb_global.h>
|
||||||
|
|
||||||
#include "editline_internal.h"
|
#include "editline_internal.h"
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <ctype.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Manifest constants.
|
** Manifest constants.
|
||||||
|
@@ -19,9 +19,8 @@
|
|||||||
** Internal header file for editline library.
|
** Internal header file for editline library.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <ndb_global.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#if defined(SYS_UNIX)
|
#if defined(SYS_UNIX)
|
||||||
#include "unix.h"
|
#include "unix.h"
|
||||||
#endif /* defined(SYS_UNIX) */
|
#endif /* defined(SYS_UNIX) */
|
||||||
|
@@ -15,8 +15,7 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <ndb_global.h>
|
||||||
#include <malloc.h>
|
|
||||||
|
|
||||||
|
|
||||||
char* readline(const char* prompt)
|
char* readline(const char* prompt)
|
||||||
|
@@ -20,11 +20,7 @@
|
|||||||
** A "micro-shell" to test editline library.
|
** A "micro-shell" to test editline library.
|
||||||
** If given any arguments, commands aren't executed.
|
** If given any arguments, commands aren't executed.
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <ndb_global.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include <NdbString.h>
|
|
||||||
#include <editline/editline.h>
|
#include <editline/editline.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@@ -14,16 +14,10 @@
|
|||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
#include "FileLogHandler.hpp"
|
#include <FileLogHandler.hpp>
|
||||||
|
|
||||||
#include <File.hpp>
|
#include <File.hpp>
|
||||||
|
|
||||||
#include <NdbStdio.h>
|
|
||||||
#include <sys/param.h>
|
|
||||||
|
|
||||||
#include <errno.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// PUBLIC
|
// PUBLIC
|
||||||
//
|
//
|
||||||
@@ -35,7 +29,7 @@ FileLogHandler::FileLogHandler() :
|
|||||||
m_maxLogEntries(MAX_LOG_ENTRIES)
|
m_maxLogEntries(MAX_LOG_ENTRIES)
|
||||||
|
|
||||||
{
|
{
|
||||||
m_pLogFile = new File("logger.log", "a+");
|
m_pLogFile = new File_class("logger.log", "a+");
|
||||||
}
|
}
|
||||||
|
|
||||||
FileLogHandler::FileLogHandler(const char* aFileName,
|
FileLogHandler::FileLogHandler(const char* aFileName,
|
||||||
@@ -47,7 +41,7 @@ FileLogHandler::FileLogHandler(const char* aFileName,
|
|||||||
m_maxFileSize(maxFileSize),
|
m_maxFileSize(maxFileSize),
|
||||||
m_maxLogEntries(maxLogEntries)
|
m_maxLogEntries(maxLogEntries)
|
||||||
{
|
{
|
||||||
m_pLogFile = new File(aFileName, "a+");
|
m_pLogFile = new File_class(aFileName, "a+");
|
||||||
}
|
}
|
||||||
|
|
||||||
FileLogHandler::~FileLogHandler()
|
FileLogHandler::~FileLogHandler()
|
||||||
@@ -166,10 +160,10 @@ FileLogHandler::createNewFile()
|
|||||||
::snprintf(newName, sizeof(newName),
|
::snprintf(newName, sizeof(newName),
|
||||||
"%s.%d", m_pLogFile->getName(), fileNo++);
|
"%s.%d", m_pLogFile->getName(), fileNo++);
|
||||||
|
|
||||||
} while (File::exists(newName));
|
} while (File_class::exists(newName));
|
||||||
|
|
||||||
m_pLogFile->close();
|
m_pLogFile->close();
|
||||||
if (!File::rename(m_pLogFile->getName(), newName))
|
if (!File_class::rename(m_pLogFile->getName(), newName))
|
||||||
{
|
{
|
||||||
setErrorCode(errno);
|
setErrorCode(errno);
|
||||||
rc = false;
|
rc = false;
|
||||||
@@ -201,7 +195,7 @@ FileLogHandler::setFilename(const BaseString &filename) {
|
|||||||
close();
|
close();
|
||||||
if(m_pLogFile)
|
if(m_pLogFile)
|
||||||
delete m_pLogFile;
|
delete m_pLogFile;
|
||||||
m_pLogFile = new File(filename.c_str(), "a+");
|
m_pLogFile = new File_class(filename.c_str(), "a+");
|
||||||
open();
|
open();
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
@@ -17,9 +17,6 @@
|
|||||||
#include "LogHandler.hpp"
|
#include "LogHandler.hpp"
|
||||||
|
|
||||||
#include <NdbTick.h>
|
#include <NdbTick.h>
|
||||||
#include <NdbString.h>
|
|
||||||
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// PUBLIC
|
// PUBLIC
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user