Added a new directory structure and fixed boost compiler problems.
This commit is contained in:
parent
4cc301f415
commit
8f8798fa53
@ -9,24 +9,24 @@
|
||||
#
|
||||
# Set debug flags
|
||||
#
|
||||
# DEBUG :=
|
||||
DEBUG := Y
|
||||
# DEBUGGER :=
|
||||
# DEBUGGER_PATH :=
|
||||
# DEBUGGER_BIN :=
|
||||
#
|
||||
# Set build env
|
||||
#
|
||||
UNIX :=
|
||||
UNIX := Y
|
||||
|
||||
#
|
||||
# Set path for root directory, that is, path to directory where
|
||||
# makefile.inc and build_gateway.inc are located.
|
||||
# ROOT_PATH is used in makefile.
|
||||
#
|
||||
ROOT_PATH :=
|
||||
ROOT_PATH := /home/jan/skysql/maxscale
|
||||
|
||||
# MARIADB_SRC_PATH may be defined either as an environment variable or
|
||||
# specifically here
|
||||
ifndef $(MARIADB_SRC_PATH)
|
||||
MARIADB_SRC_PATH :=
|
||||
MARIADB_SRC_PATH := /home/jan/mysql/5.5
|
||||
endif
|
||||
|
@ -1,34 +1,18 @@
|
||||
project (mysql-5.6-labs-binary-log-api)
|
||||
cmake_minimum_required (VERSION 2.6)
|
||||
project (mariadb-replication-listener-api)
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
set(MySQL_BINLOG_VERSION_MAJOR "0")
|
||||
set(MySQL_BINLOG_VERSION_MINOR "0.1")
|
||||
set(MRL_VERSION "${MySQL_BINLOG_VERSION_MAJOR}.${MySQL_BINLOG_VERSION_MINOR}")
|
||||
# This configuration file builds both the static and shared version of
|
||||
# the library.
|
||||
set(replication_sources
|
||||
access_method_factory.cpp
|
||||
binlog_driver.cpp tcp_driver.cpp
|
||||
binary_log.cpp protocol.cpp binlog_event.cpp
|
||||
gtid.cpp resultset_iterator.cpp value.cpp row_of_fields.cpp)
|
||||
|
||||
set(CMAKE_VERSION_STRING "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}")
|
||||
# Find MySQL client library and header files
|
||||
find_library(MySQL_LIBRARY NAMES libmysqld.a PATHS
|
||||
/usr/lib64/mysql /usr/lib/mysql /usr/local/mysql/lib ${MARIADB_SRC_PATH}/lib)
|
||||
|
||||
# Options for building
|
||||
option(WITH_SERVER_TESTS
|
||||
"Build the unit test suite with tests requiring a server"
|
||||
OFF)
|
||||
|
||||
# GTest download variables
|
||||
set(GTEST_VERSION "1.5.0")
|
||||
set(GTEST_PACKAGE_NAME "gtest-${GTEST_VERSION}")
|
||||
set(GTEST_TARBALL "${GTEST_PACKAGE_NAME}.tar.gz")
|
||||
set(GTEST_DOWNLOAD_URL "http://googletest.googlecode.com/files/${GTEST_TARBALL}")
|
||||
if(NOT DOWNLOAD_ROOT)
|
||||
set(DOWNLOAD_ROOT ${CMAKE_SOURCE_DIR}/source_downloads)
|
||||
endif()
|
||||
set(GTEST_SOURCE_DIR ${DOWNLOAD_ROOT}/${GTEST_PACKAGE_NAME})
|
||||
|
||||
# General settings
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
|
||||
include_directories(include)
|
||||
link_directories(${PROJECT_BINARY_DIR}/lib)
|
||||
|
||||
# ---------- Find Boost Headers/Libraries -----------------------
|
||||
SET(Boost_DEBUG FALSE)
|
||||
SET(Boost_FIND_REQUIRED TRUE)
|
||||
SET(Boost_FIND_QUIETLY TRUE)
|
||||
@ -36,124 +20,28 @@ SET(Boost_USE_STATIC_LIBS FALSE)
|
||||
SET(Boost_ADDITIONAL_VERSIONS "1.41" "1.41.0")
|
||||
FIND_PACKAGE(Boost REQUIRED system thread)
|
||||
|
||||
# --------- Find crypt
|
||||
FIND_LIBRARY(LIB_CRYPTO crypto /opt/local/lib /opt/lib /usr/lib /usr/local/lib)
|
||||
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
|
||||
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
|
||||
|
||||
# Locate Google Test package and enable tests if it is found
|
||||
find_package(GTest ${GTEST_VERSION} QUIET)
|
||||
include_directories(${MARIADB_SRC_PATH})
|
||||
include_directories(/usr/local/mysql/include)
|
||||
include_directories(../../utils)
|
||||
include_directories(.)
|
||||
|
||||
if (NOT GTEST_FOUND)
|
||||
if (NOT ENABLE_DOWNLOADS)
|
||||
# Give one-time warning
|
||||
if (NOT ONETIME_GTEST_WARNING)
|
||||
message(STATUS
|
||||
"Googletest was not found. gtest-based unit tests will be disabled. "
|
||||
"You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and "
|
||||
"build required components from source.")
|
||||
SET(ONETIME_GTEST_WARNING 1 CACHE INTERNAL "")
|
||||
endif (NOT ONETIME_GTEST_WARNING)
|
||||
else (NOT ENABLE_DOWNLOADS)
|
||||
# Download gtest source
|
||||
if (NOT EXISTS ${GTEST_SOURCE_DIR} AND
|
||||
NOT EXISTS ${DOWNLOAD_ROOT}/${GTEST_TARBALL})
|
||||
if (${CMAKE_VERSION_STRING} LESS "2.8")
|
||||
# In versions earlier than 2.8, try wget for downloading
|
||||
find_program(WGET_EXECUTABLE wget)
|
||||
mark_as_advanced(WGET_EXECUTABLE)
|
||||
if (WGET_EXECUTABLE)
|
||||
if (NOT EXISTS ${DOWNLOAD_ROOT})
|
||||
make_directory(${DOWNLOAD_ROOT})
|
||||
endif (NOT EXISTS ${DOWNLOAD_ROOT})
|
||||
execute_process(COMMAND ${WGET_EXECUTABLE} -T 30 ${GTEST_DOWNLOAD_URL}
|
||||
WORKING_DIRECTORY ${DOWNLOAD_ROOT} RESULT_VARIABLE ERR)
|
||||
if (ERR EQUAL 0)
|
||||
SET(DOWNLOAD_SUCCEEDED 1)
|
||||
endif (ERR EQUAL 0)
|
||||
endif (WGET_EXECUTABLE)
|
||||
else (${CMAKE_VERSION_STRING} LESS "2.8")
|
||||
# Use CMake builtin download capabilities
|
||||
file(DOWNLOAD ${GTEST_DOWNLOAD_URL} ${DOWNLOAD_ROOT}/${GTEST_TARBALL}
|
||||
TIMEOUT 30
|
||||
STATUS ERR)
|
||||
if (ERR EQUAL 0)
|
||||
SET(DOWNLOAD_SUCCEEDED 1)
|
||||
endif (ERR EQUAL 0)
|
||||
endif(${CMAKE_VERSION_STRING} LESS "2.8")
|
||||
# Configure for building static library
|
||||
add_library(replication_static STATIC ${replication_sources})
|
||||
target_link_libraries(replication_static ${CYPTO} ${Boost_LIBRARIES} ${MySQL_LIBRARY})
|
||||
set_target_properties(replication_static PROPERTIES
|
||||
OUTPUT_NAME "replication")
|
||||
|
||||
if (NOT DOWNLOAD_SUCCEEDED)
|
||||
message(STATUS
|
||||
"To enable google test, please download ${GTEST_DOWNLOAD_URL} "
|
||||
"to the directory ${DOWNLOAD_ROOT}")
|
||||
else (NOT DOWNLOAD_SUCCEEDED)
|
||||
message(STATUS
|
||||
"Successfully downloaded ${GTEST_DOWNLOAD_URL} to ${DOWNLOAD_ROOT}")
|
||||
# Unpack tarball
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xfz "${DOWNLOAD_ROOT}/${GTEST_TARBALL}"
|
||||
WORKING_DIRECTORY "${DOWNLOAD_ROOT}"
|
||||
OUTPUT_QUIET
|
||||
ERROR_QUIET
|
||||
)
|
||||
set(GTEST_DOWNLOADED 1 CACHE INTERNAL "")
|
||||
set(GTEST_FOUND 1 CACHE INTERNAL "")
|
||||
endif (NOT DOWNLOAD_SUCCEEDED)
|
||||
else(NOT EXISTS ${GTEST_SOURCE_DIR} AND NOT EXISTS ${DOWNLOAD_ROOT}/${GTEST_TARBALL})
|
||||
set(GTEST_DOWNLOADED 1 CACHE INTERNAL "")
|
||||
set(GTEST_FOUND 1 CACHE INTERNAL "")
|
||||
endif(NOT EXISTS ${GTEST_SOURCE_DIR} AND NOT EXISTS ${DOWNLOAD_ROOT}/${GTEST_TARBALL})
|
||||
endif (NOT ENABLE_DOWNLOADS)
|
||||
endif (NOT GTEST_FOUND)
|
||||
# Configure for building shared library
|
||||
add_library(replication_shared SHARED ${replication_sources})
|
||||
target_link_libraries(replication_shared ${CYPTO} ${Boost_LIBRARIES} ${MySQL_LIBRARY})
|
||||
|
||||
if (GTEST_DOWNLOADED)
|
||||
# Build gtest library
|
||||
include_directories(
|
||||
${GTEST_SOURCE_DIR}
|
||||
${GTEST_SOURCE_DIR}/include
|
||||
)
|
||||
add_library(gtest STATIC ${GTEST_SOURCE_DIR}/src/gtest-all.cc)
|
||||
|
||||
# Set CMake variables to make FindPackage(GTest) happy next time.
|
||||
SET(GTEST_FOUND 1 CACHE INTERNAL "")
|
||||
SET(GTEST_LIBRARY gtest CACHE INTERNAL "")
|
||||
SET(GTEST_LIBRARIES gtest CACHE INTERNAL "")
|
||||
SET(GTEST_MAIN_LIBRARY no_gtest_main_library CACHE INTERNAL "")
|
||||
SET(GTEST_INCLUDE_DIRS ${GTEST_SOURCE_DIR}/include CACHE INTERNAL "")
|
||||
SET(GTEST_INCLUDE_DIR "${GTEST_SOURCE_DIR}/include" CACHE INTERNAL "")
|
||||
endif (GTEST_DOWNLOADED)
|
||||
set_target_properties(replication_shared PROPERTIES
|
||||
VERSION 0.1 SOVERSION 1
|
||||
OUTPUT_NAME "replication")
|
||||
|
||||
if(GTEST_FOUND)
|
||||
message(STATUS "Tests from subdirectory 'tests' added")
|
||||
enable_testing(true)
|
||||
include_directories(${GTEST_INCLUDE_DIRS})
|
||||
add_subdirectory(tests)
|
||||
endif(GTEST_FOUND)
|
||||
|
||||
add_subdirectory(src)
|
||||
|
||||
# -- Build the examples
|
||||
add_subdirectory(examples EXCLUDE_FROM_ALL)
|
||||
|
||||
# Configure installation
|
||||
install(DIRECTORY include DESTINATION . FILES_MATCHING PATTERN "*.h")
|
||||
|
||||
include(InstallRequiredSystemLibraries)
|
||||
|
||||
# Configure packaging
|
||||
SET(CPACK_PACKAGE_NAME "mysql-5.6-labs-binary-log-api")
|
||||
SET(CPACK_PACKAGE_VERSION_MAJOR "${MySQL_BINLOG_VERSION_MAJOR}")
|
||||
SET(CPACK_PACKAGE_VERSION_MINOR "${MySQL_BINLOG_VERSION_MINOR}")
|
||||
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
|
||||
"mysql-5.6-labs-binary-log-api: a MySQL client library for interfacing with the binary log mechanism.")
|
||||
|
||||
SET(CPACK_GENERATOR "STGZ;TGZ;TZ;DEB;RPM")
|
||||
|
||||
# Get package name correctly formatted with name, version, and platform
|
||||
execute_process(COMMAND uname -m OUTPUT_VARIABLE SYSTEM_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
SET(CPACK_PACKAGE_FILE_NAME
|
||||
"${CPACK_PACKAGE_NAME}.${MRL_VERSION}.${CMAKE_SYSTEM_NAME}.${SYSTEM_ARCH}")
|
||||
|
||||
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Oracle Corporation")
|
||||
|
||||
include(CPack)
|
||||
install(TARGETS replication_shared LIBRARY DESTINATION lib)
|
||||
install(TARGETS replication_static ARCHIVE DESTINATION lib)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,4 @@
|
||||
This repository was forked from https://launchpad.net/mysql-replication-listener.
|
||||
---
|
||||
|
||||
The MySQL Replicant Library is a C++ library for reading MySQL
|
||||
replication events, either by connecting to a server or by reading
|
||||
from a file. To handle reading from a server, it includes a very
|
||||
simple client.
|
||||
|
||||
This code was forked from https://github.com/SponsorPay/mysql-replication-listener
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
@ -13,24 +6,6 @@ Dependencies
|
||||
You need to have CMake version 2.8 or later and Boost version 1.35.0
|
||||
or later since Asio is required.
|
||||
|
||||
To be able to run the unit tests, you have to have Google Test
|
||||
installed. Google Test will be automatically installed if cmake is
|
||||
called as:
|
||||
|
||||
cmake . -DENABLE_DOWNLOADS=1
|
||||
|
||||
|
||||
Directory structure
|
||||
-------------------
|
||||
|
||||
.
|
||||
|-- doc Documentation
|
||||
|-- examples Examples
|
||||
| `-- mysql2lucene Example application replicating rows to SOLR
|
||||
|-- include Include files
|
||||
|-- src Source files for library
|
||||
`-- tests Unit test files and directories
|
||||
|
||||
|
||||
Building
|
||||
--------
|
||||
@ -40,29 +15,3 @@ To build the entire package, it is first necessary to run CMake to build all the
|
||||
cmake .
|
||||
make -j4
|
||||
|
||||
Some of the examples are using third-party software, which can require
|
||||
extra parameters to be given to CMake.
|
||||
|
||||
If you want to perform an out-of-source build, you can just create a
|
||||
build directory and execute CMake there.
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake <source directory>
|
||||
make -j4
|
||||
|
||||
|
||||
Building the mysql2lucene Example
|
||||
---------------------------------
|
||||
|
||||
To build the mysql2lucene example, it is necessary to ensure that the
|
||||
'FindCLucene.cmake' is in the CMAKE_MODULE_PATH, which on my machine
|
||||
require me to write:
|
||||
|
||||
cmake . -DCMAKE_MODULE_PATH:String=/usr/share/kde4/apps/cmake/modules
|
||||
|
||||
In addition, there is a bug in the packaging of CLucene on Ubuntu in
|
||||
that the 'clucene-config.h' file is placed in '/usr/lib/CLucene' but
|
||||
not in '/usr/include/CLucene', causing compiler failure when
|
||||
attempting to use CLucene. The 'CMakeLists.txt' file hacks around this
|
||||
by adding the libraries explicitly, but it seems unnecessary.
|
||||
|
@ -19,11 +19,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
*/
|
||||
#include "access_method_factory.h"
|
||||
#include "tcp_driver.h"
|
||||
#include "file_driver.h"
|
||||
|
||||
using mysql::system::Binary_log_driver;
|
||||
using mysql::system::Binlog_tcp_driver;
|
||||
using mysql::system::Binlog_file_driver;
|
||||
|
||||
/**
|
||||
Parse the body of a MySQL URI.
|
||||
@ -81,22 +79,6 @@ static Binary_log_driver *parse_mysql_url(const char *body, size_t len)
|
||||
}
|
||||
|
||||
|
||||
static Binary_log_driver *parse_file_url(const char *body, size_t length)
|
||||
{
|
||||
/* Find the beginning of the file name */
|
||||
if (strncmp(body, "//", 2) != 0)
|
||||
return 0;
|
||||
|
||||
/*
|
||||
Since we don't support host information yet, there should be a
|
||||
slash after the initial "//".
|
||||
*/
|
||||
if (body[2] != '/')
|
||||
return 0;
|
||||
|
||||
return new Binlog_file_driver(body + 2);
|
||||
}
|
||||
|
||||
/**
|
||||
URI parser information.
|
||||
*/
|
||||
@ -110,7 +92,6 @@ struct Parser {
|
||||
*/
|
||||
static Parser url_parser[] = {
|
||||
{ "mysql", parse_mysql_url },
|
||||
{ "file", parse_file_url },
|
||||
};
|
||||
|
||||
Binary_log_driver *
|
@ -33,11 +33,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
#include "binlog_event.h"
|
||||
#include "binlog_driver.h"
|
||||
#include "tcp_driver.h"
|
||||
#include "file_driver.h"
|
||||
#include "basic_content_handler.h"
|
||||
#include "basic_transaction_parser.h"
|
||||
#include "field_iterator.h"
|
||||
#include "rowset.h"
|
||||
#include "access_method_factory.h"
|
||||
#include "gtid.h"
|
||||
|
Binary file not shown.
@ -1,22 +0,0 @@
|
||||
project(examples)
|
||||
cmake_minimum_required (VERSION 2.6)
|
||||
|
||||
link_directories(${PROJECT_BUILD_DIR}/lib)
|
||||
include_directories(${PROJECT_BUILD_DIR}/include)
|
||||
|
||||
# Find MySQL client library and header files
|
||||
find_path(MySQL_INCLUDE_DIR mysql.h
|
||||
/usr/local/include/mysql /usr/include/mysql)
|
||||
include_directories(${MySQL_INCLUDE_DIR})
|
||||
include_directories(../../table_replication_consistency)
|
||||
include_directories(../../utils)
|
||||
|
||||
|
||||
# Create build rules for all the simple examples that only require a
|
||||
# single file.
|
||||
foreach(prog basic-1 basic-2 jan_test)
|
||||
ADD_EXECUTABLE(${prog} ${prog}.cpp /usr/local/mysql/lib/libmysqld.a)
|
||||
TARGET_LINK_LIBRARIES(${prog} replication boost_system boost_thread pthread aio crypt ${MySQL_LIBRARY})
|
||||
endforeach()
|
||||
|
||||
add_subdirectory(mysql2lucene EXCLUDE_FROM_ALL)
|
@ -1,36 +0,0 @@
|
||||
#include "binlog_api.h"
|
||||
|
||||
/**
|
||||
@file basic-1
|
||||
@author Mats Kindahl <mats.kindahl@oracle.com>
|
||||
|
||||
This is a basic example that just opens a binary log either from a
|
||||
file or a server and print out what events are found. It uses a
|
||||
simple event loop and checks information in the events using a
|
||||
switch.
|
||||
*/
|
||||
|
||||
using mysql::Binary_log;
|
||||
using mysql::system::create_transport;
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
|
||||
if (argc != 2) {
|
||||
std::cerr << "Usage: basic-2 <uri>" << std::endl;
|
||||
exit(2);
|
||||
}
|
||||
|
||||
Binary_log binlog(create_transport(argv[1]));
|
||||
binlog.connect();
|
||||
|
||||
Binary_log_event *event;
|
||||
|
||||
while (true) {
|
||||
int result = binlog.wait_for_next_event(&event);
|
||||
if (result == ERR_EOF)
|
||||
break;
|
||||
std::cout << "Found event of type "
|
||||
<< event->get_event_type()
|
||||
<< std::endl;
|
||||
}
|
||||
}
|
@ -1,94 +0,0 @@
|
||||
#include "binlog_api.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
/*
|
||||
Here is a basic system using the event loop to fetch context events
|
||||
and store them in an associative array.
|
||||
*/
|
||||
using mysql::Binary_log;
|
||||
using mysql::system::create_transport;
|
||||
using mysql::system::get_event_type_str;
|
||||
using mysql::User_var_event;
|
||||
|
||||
/**
|
||||
* Class to maintain variable values.
|
||||
*/
|
||||
template <class AssociativeContainer>
|
||||
class Save_variables : public Content_handler {
|
||||
public:
|
||||
Save_variables(AssociativeContainer& container)
|
||||
: m_var(container)
|
||||
{
|
||||
}
|
||||
|
||||
Binary_log_event *process_event(User_var_event *event) {
|
||||
m_var[event->name] = event->value;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
private:
|
||||
AssociativeContainer &m_var;
|
||||
};
|
||||
|
||||
|
||||
template <class AssociativeContainer>
|
||||
class Replace_variables : public Content_handler {
|
||||
public:
|
||||
Replace_variables(AssociativeContainer& variables)
|
||||
: m_var(variables)
|
||||
{
|
||||
}
|
||||
|
||||
Binary_log_event *process_event(Query_event *event) {
|
||||
std::string *query = &event->query;
|
||||
size_t start, end = 0;
|
||||
while (true) {
|
||||
start = query->find_first_of("@", end);
|
||||
if (start == std::string::npos)
|
||||
break;
|
||||
end = query->find_first_not_of("abcdefghijklmnopqrstuvwxyz", start+1);
|
||||
std::string key = query->substr(start + 1, end - start - 1);
|
||||
query->replace(start, end - start, "'" + m_var[key] + "'");
|
||||
}
|
||||
return event;
|
||||
}
|
||||
private:
|
||||
AssociativeContainer &m_var;
|
||||
};
|
||||
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
typedef std::map<std::string, std::string> Map;
|
||||
|
||||
if (argc != 2) {
|
||||
std::cerr << "Usage: basic-2 <uri>" << std::endl;
|
||||
exit(2);
|
||||
}
|
||||
|
||||
Binary_log binlog(create_transport(argv[1]));
|
||||
binlog.connect();
|
||||
|
||||
binlog.set_position(4);
|
||||
|
||||
Map variables;
|
||||
Save_variables<Map> save_variables(variables);
|
||||
binlog.content_handler_pipeline()->push_back(&save_variables);
|
||||
Replace_variables<Map> replace_variables(variables);
|
||||
binlog.content_handler_pipeline()->push_back(&replace_variables);
|
||||
|
||||
while (true) {
|
||||
Binary_log_event *event;
|
||||
int result = binlog.wait_for_next_event(&event);
|
||||
if (result == ERR_EOF)
|
||||
break;
|
||||
switch (event->get_event_type()) {
|
||||
case QUERY_EVENT:
|
||||
std::cout << static_cast<Query_event*>(event)->query
|
||||
<< std::endl;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,218 +0,0 @@
|
||||
#include "binlog_api.h"
|
||||
#include "my_pthread.h"
|
||||
#include "listener_exception.h"
|
||||
#include "table_replication_consistency.h"
|
||||
#include <getopt.h>
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
#include <map>
|
||||
#include <sstream>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <regex.h>
|
||||
#include <algorithm>
|
||||
#include <mysql.h>
|
||||
|
||||
using mysql::Binary_log;
|
||||
using mysql::system::create_transport;
|
||||
using namespace std;
|
||||
using namespace mysql::system;
|
||||
|
||||
static char* server_options[] = {
|
||||
"jan_test",
|
||||
"--datadir=/tmp/",
|
||||
"--skip-innodb",
|
||||
"--default-storage-engine=myisam",
|
||||
NULL
|
||||
};
|
||||
|
||||
const int num_elements = (sizeof(server_options) / sizeof(char *)) - 1;
|
||||
|
||||
static char* server_groups[] = {
|
||||
"libmysqld_server",
|
||||
"libmysqld_client",
|
||||
"libmysqld_server",
|
||||
"libmysqld_server", NULL
|
||||
};
|
||||
|
||||
void* binlog_reader(void * arg)
|
||||
{
|
||||
replication_listener_t *rlt = (replication_listener_t*)arg;
|
||||
char *uri = rlt->server_url;
|
||||
map<int, string> tid2tname;
|
||||
map<int, string>::iterator tb_it;
|
||||
pthread_t id = pthread_self();
|
||||
string database_dot_table;
|
||||
const char* server_type;
|
||||
Gtid gtid();
|
||||
|
||||
try {
|
||||
Binary_log binlog(create_transport(uri));
|
||||
binlog.connect();
|
||||
|
||||
server_type = binlog.get_mysql_server_type_str();
|
||||
|
||||
cout << "Server " << uri << " type: " << server_type << endl;
|
||||
|
||||
Binary_log_event *event;
|
||||
|
||||
while (true) {
|
||||
Log_event_header *lheader;
|
||||
|
||||
int result = binlog.wait_for_next_event(&event);
|
||||
|
||||
if (result == ERR_EOF)
|
||||
break;
|
||||
|
||||
lheader = event->header();
|
||||
|
||||
switch(event->get_event_type()) {
|
||||
|
||||
case QUERY_EVENT: {
|
||||
Query_event *qevent = dynamic_cast<Query_event *>(event);
|
||||
|
||||
std::cout << "Thread: " << id << " server_id " << lheader->server_id
|
||||
<< " position " << lheader->next_position << " : Found event of type "
|
||||
<< event->get_event_type()
|
||||
<< " txt " << get_event_type_str(event->get_event_type())
|
||||
<< " query " << qevent->query << " db " << qevent->db_name
|
||||
<< std::endl;
|
||||
break;
|
||||
}
|
||||
|
||||
case GTID_EVENT_MARIADB:
|
||||
case GTID_EVENT_MYSQL: {
|
||||
Gtid_event *gevent = dynamic_cast<Gtid_event *>(event);
|
||||
|
||||
std::cout << "Thread: " << id << " server_id " << lheader->server_id
|
||||
<< " position " << lheader->next_position << " : Found event of type "
|
||||
<< event->get_event_type()
|
||||
<< " txt " << get_event_type_str(event->get_event_type())
|
||||
<< " GTID " << std::string((char *)gevent->m_gtid.get_gtid())
|
||||
<< " GTID " << gevent->m_gtid.get_string()
|
||||
<< std::endl;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case TABLE_MAP_EVENT: {
|
||||
Table_map_event *table_map_event= dynamic_cast<Table_map_event*>(event);
|
||||
database_dot_table= table_map_event->db_name;
|
||||
database_dot_table.append(".");
|
||||
database_dot_table.append(table_map_event->table_name);
|
||||
tid2tname[table_map_event->table_id]= database_dot_table;
|
||||
break;
|
||||
}
|
||||
|
||||
case WRITE_ROWS_EVENT:
|
||||
case UPDATE_ROWS_EVENT:
|
||||
case DELETE_ROWS_EVENT: {
|
||||
Row_event *revent = dynamic_cast<Row_event*>(event);
|
||||
tb_it= tid2tname.begin();
|
||||
tb_it= tid2tname.find(revent->table_id);
|
||||
if (tb_it != tid2tname.end())
|
||||
{
|
||||
database_dot_table= tb_it->second;
|
||||
}
|
||||
|
||||
std::cout << "Thread: " << id << " server_id " << lheader->server_id
|
||||
<< " position " << lheader->next_position << " : Found event of type "
|
||||
<< event->get_event_type()
|
||||
<< " txt " << get_event_type_str(event->get_event_type())
|
||||
<< " table " << revent->table_id
|
||||
<< " tb " << database_dot_table
|
||||
<< std::endl;
|
||||
break;
|
||||
|
||||
}
|
||||
default:
|
||||
break;
|
||||
} // switch
|
||||
} // while
|
||||
} // try
|
||||
catch(ListenerException e)
|
||||
{
|
||||
std::cerr << "Listener exception: " << e.what() << std::endl;
|
||||
}
|
||||
catch(boost::system::error_code e)
|
||||
{
|
||||
std::cerr << "Listener system error: " << e.message() << std::endl;
|
||||
}
|
||||
// Try and catch all exceptions
|
||||
catch(std::exception const& e)
|
||||
{
|
||||
std::cerr << "Listener other error: " << e.what() << std::endl;
|
||||
}
|
||||
// Rest of them
|
||||
catch(...)
|
||||
{
|
||||
std::cerr << "Unknown exception: " << std::endl;
|
||||
// Re-Throw this one.
|
||||
// It was not handled so you want to make sure it is handled correctly by
|
||||
// the OS. So just allow the exception to keep propagating.
|
||||
throw;
|
||||
}
|
||||
|
||||
pthread_exit(NULL);
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
|
||||
int number_of_args = argc;
|
||||
int i=0,k=0;
|
||||
pthread_t *tid=NULL;
|
||||
char *uri;
|
||||
replication_listener_t *mrl;
|
||||
int err=0;
|
||||
|
||||
tid = (pthread_t*)malloc(sizeof(pthread_t) * argc);
|
||||
mrl = (replication_listener_t*)calloc(argc, sizeof(replication_listener_t));
|
||||
|
||||
if (argc < 2) {
|
||||
std::cerr << "Usage: basic-2 <uri>" << std::endl;
|
||||
exit(2);
|
||||
}
|
||||
|
||||
if (mysql_library_init(num_elements, server_options, server_groups)) {
|
||||
std::cerr << "Failed to init MySQL server" << std::endl;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
argc =0;
|
||||
while(argc != number_of_args)
|
||||
{
|
||||
uri= argv[argc++];
|
||||
|
||||
if ( strncmp("mysql://", uri, 8) == 0) {
|
||||
|
||||
mrl[i].server_url = uri;
|
||||
|
||||
if (argc == 1) {
|
||||
mrl[i].is_master = 1;
|
||||
}
|
||||
|
||||
err = pthread_create(&(tid[i++]), NULL, &binlog_reader, (void *)&mrl[i]);
|
||||
|
||||
if (err ) {
|
||||
perror(NULL);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}//end of outer while loop
|
||||
|
||||
for(k=0; k < i; k++)
|
||||
{
|
||||
err = pthread_join(tid[k], (void **)&(mrl[k]));
|
||||
|
||||
if (err) {
|
||||
perror(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
exit(0);
|
||||
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
project (mysql2lucene)
|
||||
|
||||
find_package(CLucene)
|
||||
|
||||
add_executable(mysql2lucene
|
||||
main.cpp table_delete.cpp table_index.cpp
|
||||
table_insert.cpp table_update.cpp)
|
||||
include_directories(${CLUCENE_INCLUDE_DIR} ${CLUCENE_LIBRARY_DIR})
|
||||
target_link_libraries(mysql2lucene ${CLUCENE_LIBRARY} replication_static)
|
@ -1,34 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* File: globals.h
|
||||
* Author: thek
|
||||
*
|
||||
* Created on den 15 juni 2010, 09:37
|
||||
*/
|
||||
|
||||
#ifndef _GLOBALS_H
|
||||
#define _GLOBALS_H
|
||||
#include <string>
|
||||
#include "binlog_api.h"
|
||||
extern std::string cl_index_file;
|
||||
|
||||
#endif /* _GLOBALS_H */
|
@ -1,212 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* File: main.cpp
|
||||
* Author: thek
|
||||
*
|
||||
* Created on den 12 maj 2010, 14:47
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <boost/foreach.hpp>
|
||||
#include "binlog_api.h"
|
||||
|
||||
#include "table_update.h"
|
||||
#include "table_delete.h"
|
||||
#include "table_insert.h"
|
||||
|
||||
#include "table_index.h"
|
||||
|
||||
using mysql::system::create_transport;
|
||||
using mysql::Binary_log;
|
||||
|
||||
std::string cl_index_file;
|
||||
|
||||
class Incident_handler : public mysql::Content_handler
|
||||
{
|
||||
public:
|
||||
Incident_handler() : mysql::Content_handler() {}
|
||||
|
||||
Binary_log_event *process_event(mysql::Incident_event *incident)
|
||||
{
|
||||
std::cout << "Event type: "
|
||||
<< mysql::system::get_event_type_str(incident->get_event_type())
|
||||
<< " length: " << incident->header()->event_length
|
||||
<< " next pos: " << incident->header()->next_position
|
||||
<< std::endl;
|
||||
std::cout << "type= "
|
||||
<< (unsigned)incident->type
|
||||
<< " message= "
|
||||
<< incident->message
|
||||
<< std::endl
|
||||
<< std::endl;
|
||||
/* Consume the event */
|
||||
delete incident;
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
class Applier : public mysql::Content_handler
|
||||
{
|
||||
public:
|
||||
Applier(Table_index *index)
|
||||
{
|
||||
m_table_index= index;
|
||||
}
|
||||
|
||||
mysql::Binary_log_event *process_event(mysql::Row_event *rev)
|
||||
{
|
||||
boost::uint64_t table_id= rev->table_id;
|
||||
Int2event_map::iterator ti_it= m_table_index->find(table_id);
|
||||
if (ti_it == m_table_index->end ())
|
||||
{
|
||||
std::cout << "Table id "
|
||||
<< table_id
|
||||
<< " was not registered by any preceding table map event."
|
||||
<< std::endl;
|
||||
return rev;
|
||||
}
|
||||
/*
|
||||
Each row event contains multiple rows and fields. The Row_iterator
|
||||
allows us to iterate one row at a time.
|
||||
*/
|
||||
mysql::Row_event_set rows(rev, ti_it->second);
|
||||
/*
|
||||
Create a fuly qualified table name
|
||||
*/
|
||||
std::ostringstream os;
|
||||
os << ti_it->second->db_name << '.' << ti_it->second->table_name;
|
||||
mysql::Row_event_set::iterator it= rows.begin();
|
||||
do {
|
||||
mysql::Row_of_fields fields= *it;
|
||||
if (rev->get_event_type() == mysql::WRITE_ROWS_EVENT)
|
||||
table_insert(os.str(),fields);
|
||||
if (rev->get_event_type() == mysql::UPDATE_ROWS_EVENT)
|
||||
{
|
||||
++it;
|
||||
mysql::Row_of_fields fields2= *it;
|
||||
table_update(os.str(),fields,fields2);
|
||||
}
|
||||
if (rev->get_event_type() == mysql::DELETE_ROWS_EVENT)
|
||||
table_delete(os.str(),fields);
|
||||
} while (++it != rows.end());
|
||||
|
||||
/* Consume the event */
|
||||
delete rev;
|
||||
return 0;
|
||||
}
|
||||
private:
|
||||
Table_index *m_table_index;
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
if (argc != 3)
|
||||
{
|
||||
fprintf(stderr,"Usage:\n\nmysql2lucene URL\n\nExample:\n\nmysql2lucene mysql://root@127.0.0.1:3306 myindexfile\n\n");
|
||||
return (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
Binary_log binlog(create_transport(argv[1]));
|
||||
|
||||
|
||||
cl_index_file.append (argv[2]);
|
||||
|
||||
/*
|
||||
Attach a custom event content handlers
|
||||
*/
|
||||
Incident_handler incident_hndlr;
|
||||
Table_index table_event_hdlr;
|
||||
Applier replay_hndlr(&table_event_hdlr);
|
||||
|
||||
binlog.content_handler_pipeline()->push_back(&table_event_hdlr);
|
||||
binlog.content_handler_pipeline()->push_back(&incident_hndlr);
|
||||
binlog.content_handler_pipeline()->push_back(&replay_hndlr);
|
||||
|
||||
if (binlog.connect())
|
||||
{
|
||||
fprintf(stderr,"Can't connect to the master.\n");
|
||||
return (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
binlog.set_position("searchbin.000001", 4);
|
||||
|
||||
bool quit= false;
|
||||
while(!quit)
|
||||
{
|
||||
/*
|
||||
Pull events from the master. This is the heart beat of the event listener.
|
||||
*/
|
||||
Binary_log_event *event;
|
||||
binlog.wait_for_next_event(&event);
|
||||
|
||||
/*
|
||||
Print the event
|
||||
*/
|
||||
std::cout << "Event type: "
|
||||
<< mysql::system::get_event_type_str(event->get_event_type())
|
||||
<< " length: " << event->header()->event_length
|
||||
<< " next pos: " << event->header()->next_position
|
||||
<< std::endl;
|
||||
|
||||
/*
|
||||
Perform a special action based on event type
|
||||
*/
|
||||
|
||||
switch(event->header()->type_code)
|
||||
{
|
||||
case mysql::QUERY_EVENT:
|
||||
{
|
||||
const mysql::Query_event *qev= static_cast<const mysql::Query_event *>(event);
|
||||
std::cout << "query= "
|
||||
<< qev->query
|
||||
<< " db= "
|
||||
<< qev->db_name
|
||||
<< std::endl
|
||||
<< std::endl;
|
||||
if (qev->query.find("DROP TABLE REPLICATION_LISTENER") != std::string::npos)
|
||||
{
|
||||
quit= true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case mysql::ROTATE_EVENT:
|
||||
{
|
||||
mysql::Rotate_event *rot= static_cast<mysql::Rotate_event *>(event);
|
||||
std::cout << "filename= "
|
||||
<< rot->binlog_file.c_str()
|
||||
<< " pos= "
|
||||
<< rot->binlog_pos
|
||||
<< std::endl
|
||||
<< std::endl;
|
||||
}
|
||||
break;
|
||||
|
||||
} // end switch
|
||||
delete event;
|
||||
} // end loop
|
||||
return (EXIT_SUCCESS);
|
||||
}
|
@ -1,96 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "globals.h"
|
||||
#include "table_delete.h"
|
||||
|
||||
#include <CLucene.h>
|
||||
|
||||
CL_NS_USE(index)
|
||||
CL_NS_USE(util)
|
||||
CL_NS_USE(store)
|
||||
CL_NS_USE(search)
|
||||
CL_NS_USE(document)
|
||||
CL_NS_USE(queryParser)
|
||||
CL_NS_USE(analysis)
|
||||
CL_NS_USE2(analysis,standard)
|
||||
|
||||
void table_delete(std::string table_name, mysql::Row_of_fields &fields)
|
||||
{
|
||||
|
||||
mysql::Row_of_fields::iterator field_it= fields.begin();
|
||||
/*
|
||||
* First column must be an integer key value
|
||||
*/
|
||||
if (!(field_it->type() == mysql::system::MYSQL_TYPE_LONG ||
|
||||
field_it->type() == mysql::system::MYSQL_TYPE_SHORT ||
|
||||
field_it->type() == mysql::system::MYSQL_TYPE_LONGLONG))
|
||||
return;
|
||||
|
||||
int field_id= 0;
|
||||
std::string key;
|
||||
std::string combined_key;
|
||||
mysql::Converter converter;
|
||||
converter.to(key, *field_it);
|
||||
combined_key.append (table_name);
|
||||
combined_key.append ("_");
|
||||
combined_key.append (key);
|
||||
do {
|
||||
/*
|
||||
Each row contains a vector of Value objects. The converter
|
||||
allows us to transform the value into another
|
||||
representation.
|
||||
Only index fields which might contain searchable information.
|
||||
*/
|
||||
if (field_it->type() == mysql::system::MYSQL_TYPE_VARCHAR ||
|
||||
field_it->type() == mysql::system::MYSQL_TYPE_MEDIUM_BLOB ||
|
||||
field_it->type() == mysql::system::MYSQL_TYPE_BLOB)
|
||||
{
|
||||
std::string str;
|
||||
converter.to(str, *field_it);
|
||||
StandardAnalyzer an;
|
||||
IndexReader *reader;
|
||||
/*
|
||||
* Create a Lucene index writer
|
||||
*/
|
||||
if ( IndexReader::indexExists(cl_index_file.c_str()) )
|
||||
{
|
||||
if ( IndexReader::isLocked(cl_index_file.c_str()) )
|
||||
{
|
||||
std::cout << "Index was locked; unlocking it."
|
||||
<< std::endl;
|
||||
IndexReader::unlock(cl_index_file.c_str());
|
||||
}
|
||||
reader= IndexReader::open(cl_index_file.c_str());
|
||||
}
|
||||
|
||||
std::cout << "Deleting index '"
|
||||
<< combined_key
|
||||
<< "'" << std::endl;
|
||||
TCHAR *combined_key_w= STRDUP_AtoW(combined_key.c_str ());
|
||||
Term uniqueKey(_T("id"),combined_key_w);
|
||||
reader->deleteDocuments(&uniqueKey);
|
||||
delete combined_key_w;
|
||||
reader->close();
|
||||
delete reader;
|
||||
break;
|
||||
}
|
||||
} while(++field_it != fields.end());
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* File: table_delete.h
|
||||
* Author: thek
|
||||
*
|
||||
* Created on den 17 juni 2010, 14:28
|
||||
*/
|
||||
|
||||
#ifndef _TABLE_DELETE_H
|
||||
#define _TABLE_DELETE_H
|
||||
#include <string>
|
||||
#include "binlog_api.h"
|
||||
|
||||
void table_delete(std::string table_name, mysql::Row_of_fields &fields);
|
||||
|
||||
#endif /* _TABLE_DELETE_H */
|
@ -1,54 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "table_index.h"
|
||||
|
||||
mysql::Binary_log_event *Table_index::process_event(mysql::Table_map_event *tm)
|
||||
{
|
||||
if (find(tm->table_id) == end())
|
||||
insert(Event_index_element(tm->table_id,tm));
|
||||
|
||||
/* Consume this event so it won't be deallocated beneith our feet */
|
||||
return 0;
|
||||
}
|
||||
|
||||
Table_index::~Table_index ()
|
||||
{
|
||||
Int2event_map::iterator it= begin();
|
||||
do
|
||||
{
|
||||
delete it->second;
|
||||
} while( ++it != end());
|
||||
}
|
||||
|
||||
int Table_index::get_table_name(int table_id, std::string out)
|
||||
{
|
||||
iterator it;
|
||||
if ((it= find(table_id)) == end())
|
||||
{
|
||||
std::stringstream os;
|
||||
os << "unknown_table_" << table_id;
|
||||
out.append(os.str());
|
||||
return 1;
|
||||
}
|
||||
|
||||
out.append(it->second->table_name);
|
||||
return 0;
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* File: table_index.h
|
||||
* Author: thek
|
||||
*
|
||||
* Created on den 8 september 2010, 13:47
|
||||
*/
|
||||
|
||||
#ifndef TABLE_INDEX_H
|
||||
#define TABLE_INDEX_H
|
||||
#include "binlog_event.h"
|
||||
#include <map>
|
||||
#include "basic_content_handler.h"
|
||||
|
||||
typedef std::pair<boost::uint64_t, mysql::Table_map_event *> Event_index_element;
|
||||
typedef std::map<boost::uint64_t, mysql::Table_map_event *> Int2event_map;
|
||||
|
||||
class Table_index : public mysql::Content_handler, public Int2event_map
|
||||
{
|
||||
public:
|
||||
mysql::Binary_log_event *process_event(mysql::Table_map_event *tm);
|
||||
|
||||
~Table_index();
|
||||
|
||||
int get_table_name(int table_id, std::string out);
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif /* TABLE_INDEX_H */
|
@ -1,152 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "globals.h"
|
||||
#include "table_insert.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <CLucene.h>
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
CL_NS_USE(index)
|
||||
CL_NS_USE(util)
|
||||
CL_NS_USE(store)
|
||||
CL_NS_USE(search)
|
||||
CL_NS_USE(document)
|
||||
CL_NS_USE(queryParser)
|
||||
CL_NS_USE(analysis)
|
||||
CL_NS_USE2(analysis,standard)
|
||||
|
||||
void table_insert(std::string table_name, mysql::Row_of_fields &fields)
|
||||
{
|
||||
mysql::Row_of_fields::iterator field_it= fields.begin();
|
||||
/*
|
||||
* First column must be an integer key value
|
||||
*/
|
||||
if (!(field_it->type() == mysql::system::MYSQL_TYPE_LONG ||
|
||||
field_it->type() == mysql::system::MYSQL_TYPE_SHORT ||
|
||||
field_it->type() == mysql::system::MYSQL_TYPE_LONGLONG))
|
||||
return;
|
||||
|
||||
Document *doc= new Document();
|
||||
IndexWriter* writer = NULL;
|
||||
StandardAnalyzer an;
|
||||
mysql::Converter converter;
|
||||
bool found_searchable= false;
|
||||
int col= 0;
|
||||
TCHAR *w_table_name;
|
||||
TCHAR *w_str;
|
||||
TCHAR *w_key_str;
|
||||
TCHAR *w_combined_key;
|
||||
std::string aggstr;
|
||||
|
||||
/*
|
||||
* Create a Lucene index writer
|
||||
*/
|
||||
if ( IndexReader::indexExists(cl_index_file.c_str()) )
|
||||
{
|
||||
if ( IndexReader::isLocked(cl_index_file.c_str()) )
|
||||
{
|
||||
printf("Index was locked... unlocking it.\n");
|
||||
IndexReader::unlock(cl_index_file.c_str());
|
||||
}
|
||||
writer = new IndexWriter( cl_index_file.c_str(), &an, false);
|
||||
}else{
|
||||
writer = new IndexWriter( cl_index_file.c_str() ,&an, true);
|
||||
}
|
||||
writer->setMaxFieldLength(IndexWriter::DEFAULT_MAX_FIELD_LENGTH);
|
||||
|
||||
/*
|
||||
* Save the presumed table key for later use when we discover if this row
|
||||
* should be indexed.
|
||||
*/
|
||||
std::string key;
|
||||
converter.to(key, *field_it);
|
||||
|
||||
do {
|
||||
/*
|
||||
Each row contains a vector of Value objects. The converter
|
||||
allows us to transform the value into another
|
||||
representation.
|
||||
Only index fields which might contain searchable information.
|
||||
*/
|
||||
if (field_it->type() == mysql::system::MYSQL_TYPE_VARCHAR ||
|
||||
field_it->type() == mysql::system::MYSQL_TYPE_MEDIUM_BLOB ||
|
||||
field_it->type() == mysql::system::MYSQL_TYPE_BLOB)
|
||||
{
|
||||
std::string str;
|
||||
converter.to(str, *field_it);
|
||||
if (!found_searchable)
|
||||
{
|
||||
std::string combined_key;
|
||||
combined_key.append(table_name);
|
||||
combined_key.append("_");
|
||||
combined_key.append(key);
|
||||
w_table_name= STRDUP_AtoW(table_name.c_str());
|
||||
Field *table_field= new Field(_T("table"),w_table_name, Field::STORE_YES | Field::INDEX_UNTOKENIZED);
|
||||
doc->add( *table_field );
|
||||
found_searchable= true;
|
||||
w_key_str= STRDUP_AtoW(key.c_str());
|
||||
Field *key_field= new Field(_T("row_id"),w_key_str, Field::STORE_YES | Field::INDEX_UNTOKENIZED);
|
||||
doc->add(*key_field);
|
||||
w_combined_key= STRDUP_AtoW(combined_key.c_str());
|
||||
Field *combined_key_field= new Field(_T("id"),w_combined_key, Field::STORE_YES | Field::INDEX_UNTOKENIZED);
|
||||
doc->add(*combined_key_field);
|
||||
}
|
||||
/*
|
||||
* Aggregate all searchable information into one string. The key is the
|
||||
* qualified table name.
|
||||
*/
|
||||
aggstr.append(" "); // This separator helps us loosing important tokens.
|
||||
aggstr.append(str);
|
||||
++col;
|
||||
}
|
||||
} while(++field_it != fields.end());
|
||||
if (found_searchable)
|
||||
{
|
||||
std::cout << "Indexing "
|
||||
<< aggstr.length()
|
||||
<< " characters in table '"
|
||||
<< table_name
|
||||
<< "' using key value '"
|
||||
<< key
|
||||
<< "'."
|
||||
<< std::endl;
|
||||
std::cout.flush ();
|
||||
w_str= STRDUP_AtoW(aggstr.c_str());
|
||||
Field *content_field= new Field(_T("text"),w_str, Field::STORE_YES | Field::INDEX_TOKENIZED);
|
||||
doc->add( *content_field );
|
||||
}
|
||||
writer->addDocument(doc);
|
||||
writer->close();
|
||||
|
||||
/*
|
||||
* Clean up dynamic allocations during indexing
|
||||
*/
|
||||
if (found_searchable)
|
||||
{
|
||||
free(w_table_name);
|
||||
free(w_str);
|
||||
free(w_key_str);
|
||||
free(w_combined_key);
|
||||
}
|
||||
delete(doc);
|
||||
delete(writer);
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* File: table_insert.h
|
||||
* Author: thek
|
||||
*
|
||||
* Created on den 15 juni 2010, 09:34
|
||||
*/
|
||||
|
||||
#ifndef _TABLE_INSERT_H
|
||||
#define _TABLE_INSERT_H
|
||||
|
||||
#include <string>
|
||||
#include "binlog_api.h"
|
||||
|
||||
void table_insert(std::string table_name, mysql::Row_of_fields &fields);
|
||||
|
||||
#endif /* _TABLE_INSERT_H */
|
@ -1,37 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "table_update.h"
|
||||
#include "table_insert.h"
|
||||
#include "table_delete.h"
|
||||
|
||||
void table_update(std::string table_name, mysql::Row_of_fields &old_fields, mysql::Row_of_fields &new_fields)
|
||||
{
|
||||
/*
|
||||
Find previous entry and delete it.
|
||||
*/
|
||||
table_delete(table_name, old_fields);
|
||||
|
||||
/*
|
||||
Insert new entry.
|
||||
*/
|
||||
table_insert(table_name, new_fields);
|
||||
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* File: table_update.h
|
||||
* Author: thek
|
||||
*
|
||||
* Created on den 17 juni 2010, 14:27
|
||||
*/
|
||||
|
||||
#ifndef _TABLE_UPDATE_H
|
||||
#define _TABLE_UPDATE_H
|
||||
#include <string>
|
||||
#include "binlog_api.h"
|
||||
void table_update(std::string table_name, mysql::Row_of_fields &old_fields, mysql::Row_of_fields &new_fields);
|
||||
|
||||
#endif /* _TABLE_UPDATE_H */
|
@ -1,35 +0,0 @@
|
||||
DROP DATABASE NEW1;
|
||||
DROP DATABASE NEW2;
|
||||
CREATE DATABASE NEW1;
|
||||
CREATE DATABASE NEW2;
|
||||
USE NEW1;
|
||||
CREATE TABLE NEW_TEST1(A INT NOT NULL PRIMARY KEY, B INT) ENGINE=INNODB;
|
||||
CREATE TABLE NEW_TEST2(A INT NOT NULL PRIMARY KEY, B INT) ENGINE=INNODB;
|
||||
USE NEW2;
|
||||
CREATE TABLE NEW_TEST3(A INT NOT NULL PRIMARY KEY, B INT) ENGINE=INNODB;
|
||||
CREATE TABLE NEW_TEST4(A INT NOT NULL PRIMARY KEY, B INT) ENGINE=INNODB;
|
||||
USE NEW1;
|
||||
INSERT INTO NEW_TEST1 VALUES (1,1),(2,2)(3,3),(4,4);
|
||||
INSERT INTO NEW_TEST1 VALUES (5,5),(6,2)(7,3),(8,4);
|
||||
INSERT INTO NEW_TEST2 VALUES (1,1),(2,2)(3,3),(4,4);
|
||||
INSERT INTO NEW_TEST2 VALUES (5,5),(6,2)(7,3),(8,4);
|
||||
INSERT INTO NEW_TEST1 VALUES (9,9);
|
||||
USE NEW2;
|
||||
INSERT INTO NEW_TEST3 VALUES (1,1),(2,2)(3,3),(4,4);
|
||||
INSERT INTO NEW_TEST3 VALUES (5,5),(6,2)(7,3),(8,4);
|
||||
INSERT INTO NEW_TEST4 VALUES (1,1),(2,2)(3,3),(4,4);
|
||||
INSERT INTO NEW_TEST4 VALUES (5,5),(6,2)(7,3),(8,4);
|
||||
INSERT INTO NEW_TEST4 VALUES (9,9);
|
||||
COMMIT;
|
||||
USE NEW1;
|
||||
UPDATE NEW_TEST1 SET B = B + 1;
|
||||
USE NEW2;
|
||||
UPDATE NEW_TEST4 SET B = B + 1;
|
||||
COMMIT;
|
||||
DELETE FROM NEW1.NEW_TEST2 WHERE A = 3;
|
||||
DELETE FROM NEW2.NEW_TEST3 WHERE A = 3;
|
||||
UPDATE NEW1.NEW_TEST1 SET B = B + 5 WHERE A = 4;
|
||||
UPDATE NEW2.NEW_TEST4 SET B = B + 5 WHERE A = 4;
|
||||
USE NEW1;
|
||||
DROP TABLE NEW_TEST1;
|
||||
DROP TABLE NEW2.NEW_TEST3;
|
@ -24,6 +24,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
#include "value.h"
|
||||
#include "row_of_fields.h"
|
||||
#include <vector>
|
||||
#include <mysql.h>
|
||||
|
||||
using namespace mysql;
|
||||
|
||||
@ -31,7 +32,7 @@ namespace mysql {
|
||||
|
||||
bool is_null(unsigned char *bitmap, int index);
|
||||
|
||||
int lookup_metadata_field_size(enum mysql::system::enum_field_types field_type);
|
||||
int lookup_metadata_field_size(enum enum_field_types field_type);
|
||||
boost::uint32_t extract_metadata(const Table_map_event *map, int col_no);
|
||||
|
||||
template <class Iterator_value_type >
|
||||
@ -88,7 +89,7 @@ size_t Row_event_iterator<Iterator_value_type>::fields(Iterator_value_type& fiel
|
||||
++row_field_col_index;
|
||||
unsigned int type= m_table_map->columns[col_no]&0xFF;
|
||||
boost::uint32_t metadata= extract_metadata(m_table_map, col_no);
|
||||
mysql::Value val((enum mysql::system::enum_field_types)type,
|
||||
mysql::Value val((enum enum_field_types)type,
|
||||
metadata,
|
||||
(const char *)&m_row_event->row[field_offset]);
|
||||
if (is_null((unsigned char *)&nullbits[0], col_no ))
|
||||
@ -152,7 +153,7 @@ Row_event_iterator< Iterator_value_type >&
|
||||
for(unsigned col_no=0; col_no < m_table_map->columns.size(); ++col_no)
|
||||
{
|
||||
++row_field_col_index;
|
||||
mysql::Value val((enum mysql::system::enum_field_types)m_table_map->columns[col_no],
|
||||
mysql::Value val((enum enum_field_types)m_table_map->columns[col_no],
|
||||
m_table_map->metadata[col_no],
|
||||
(const char *)&m_row_event->row[m_field_offset]);
|
||||
if (!is_null((unsigned char *)&nullbits[0], col_no))
|
@ -1,16 +0,0 @@
|
||||
require 'formula'
|
||||
|
||||
class MysqlReplicationListener < Formula
|
||||
url 'https://bitbucket.org/winebarrel/mysql-replication-listener.git', :tag => '0.0.47-10'
|
||||
homepage 'https://bitbucket.org/winebarrel/mysql-replication-listener'
|
||||
|
||||
depends_on 'cmake'
|
||||
depends_on 'boost'
|
||||
#depends_on 'openssl'
|
||||
|
||||
def install
|
||||
system 'cmake', '.'
|
||||
system 'make'
|
||||
system 'make install'
|
||||
end
|
||||
end
|
@ -1,92 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef _FILE_DRIVER_H
|
||||
#define _FILE_DRIVER_H
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "binlog_api.h"
|
||||
#include "binlog_driver.h"
|
||||
#include "protocol.h"
|
||||
|
||||
#define MAGIC_NUMBER_SIZE 4
|
||||
|
||||
namespace mysql {
|
||||
namespace system {
|
||||
|
||||
class Binlog_file_driver
|
||||
: public Binary_log_driver
|
||||
{
|
||||
public:
|
||||
template <class TFilename>
|
||||
Binlog_file_driver(const TFilename& filename = TFilename(),
|
||||
unsigned int offset = 0)
|
||||
: Binary_log_driver(filename, offset)
|
||||
{
|
||||
}
|
||||
|
||||
int connect(Gtid gtid = Gtid());
|
||||
int disconnect();
|
||||
int wait_for_next_event(mysql::Binary_log_event **event);
|
||||
int set_position(const std::string &str, unsigned long position);
|
||||
int get_position(std::string *str, unsigned long *position);
|
||||
|
||||
int set_position_gtid(const Gtid gtid)
|
||||
{
|
||||
return 0; // TODO
|
||||
}
|
||||
|
||||
int fetch_server_version(const std::string& user,
|
||||
const std::string& passwd,
|
||||
const std::string& host,
|
||||
long port)
|
||||
{
|
||||
return 0; // TODO
|
||||
}
|
||||
|
||||
void shutdown()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
unsigned long m_binlog_file_size;
|
||||
|
||||
/*
|
||||
Bytes that has been read so for from the file.
|
||||
Updated after every event is read.
|
||||
*/
|
||||
unsigned long m_bytes_read;
|
||||
|
||||
std::ifstream m_binlog_file;
|
||||
|
||||
Log_event_header m_event_log_header;
|
||||
};
|
||||
|
||||
} // namespace mysql::system
|
||||
} // namespace mysql
|
||||
|
||||
#endif /* _FILE_DRIVER_H */
|
@ -1,53 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef _UTILITIES_H
|
||||
#define _UTILITIES_H
|
||||
|
||||
#include "value.h"
|
||||
#include "protocol.h"
|
||||
|
||||
|
||||
using namespace mysql;
|
||||
|
||||
namespace mysql {
|
||||
|
||||
typedef enum
|
||||
{
|
||||
Q_FLAGS2_CODE= 0,
|
||||
Q_SQL_MODE_CODE,
|
||||
Q_CATALOG_CODE,
|
||||
Q_AUTO_INCREMENT,
|
||||
Q_CHARSET_CODE,
|
||||
Q_TIME_ZONE_CODE,
|
||||
Q_CATALOG_NZ_CODE,
|
||||
Q_LC_TIME_NAMES_CODE,
|
||||
Q_CHARSET_DATABASE_CODE,
|
||||
Q_TABLE_MAP_FOR_UPDATE_CODE,
|
||||
Q_MASTER_DATA_WRITTEN_CODE,
|
||||
Q_INVOKER
|
||||
} enum_var_types;
|
||||
|
||||
int server_var_decoder (std::map<std::string, mysql::Value> *my_var_map,
|
||||
std::vector<boost::uint8_t > variables);
|
||||
|
||||
}
|
||||
|
||||
#endif /* _UTILITIES_H */
|
@ -1,21 +1,3 @@
|
||||
/usr/local/./include/bounded_buffer.h
|
||||
/usr/local/./include/protocol.h
|
||||
/usr/local/./include/basic_content_handler.h
|
||||
/usr/local/./include/resultset_iterator.h
|
||||
/usr/local/./include/gtid.h
|
||||
/usr/local/./include/binlog_driver.h
|
||||
/usr/local/./include/value.h
|
||||
/usr/local/./include/binlog_event.h
|
||||
/usr/local/./include/field_iterator.h
|
||||
/usr/local/./include/basic_transaction_parser.h
|
||||
/usr/local/./include/utilities.h
|
||||
/usr/local/./include/access_method_factory.h
|
||||
/usr/local/./include/listener_exception.h
|
||||
/usr/local/./include/tcp_driver.h
|
||||
/usr/local/./include/binlog_api.h
|
||||
/usr/local/./include/rowset.h
|
||||
/usr/local/./include/file_driver.h
|
||||
/usr/local/./include/row_of_fields.h
|
||||
/usr/local/lib/libreplication.so.0.1
|
||||
/usr/local/lib/libreplication.so.1
|
||||
/usr/local/lib/libreplication.so
|
||||
|
@ -1,67 +0,0 @@
|
||||
%define _libdir /usr/lib
|
||||
|
||||
Name: mysql-replication-listener
|
||||
Version: 0.0.47
|
||||
Release: 10%{?dist}
|
||||
Summary: A STL/Boost based C++ library used for connecting to a MySQL server and process the replication stream as a slave.
|
||||
|
||||
Group: Development/Libraries
|
||||
License: GNU GPL v2
|
||||
URL: https://bitbucket.org/winebarrel/mysql-replication-listener
|
||||
#URL: https://launchpad.net/mysql-replication-listener
|
||||
Source0: mysql-replication-listener.tar.gz
|
||||
# git clone https://bitbucket.org/winebarrel/mysql-replication-listener.git
|
||||
# cd mysql-replication-listener/
|
||||
# git checkout refs/tags/0.0.47-10
|
||||
# cd ..
|
||||
# tar zcf mysql-replication-listener.tar.gz mysql-replication-listener/
|
||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||
|
||||
BuildRequires: gcc-c++, make, cmake, boost-devel, openssl-devel
|
||||
Requires: glibc, libstdc++, zlib, boost-devel, openssl
|
||||
|
||||
%description
|
||||
The MySQL Replicant Library is a C++ library for reading MySQL
|
||||
replication events, either by connecting to a server or by reading
|
||||
from a file. To handle reading from a server, it includes a very
|
||||
simple client.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}
|
||||
|
||||
%build
|
||||
%cmake
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{_includedir}/access_method_factory.h
|
||||
%{_includedir}/basic_content_handler.h
|
||||
%{_includedir}/basic_transaction_parser.h
|
||||
%{_includedir}/binlog_api.h
|
||||
%{_includedir}/binlog_driver.h
|
||||
%{_includedir}/binlog_event.h
|
||||
%{_includedir}/bounded_buffer.h
|
||||
%{_includedir}/field_iterator.h
|
||||
%{_includedir}/file_driver.h
|
||||
%{_includedir}/protocol.h
|
||||
%{_includedir}/resultset_iterator.h
|
||||
%{_includedir}/row_of_fields.h
|
||||
%{_includedir}/rowset.h
|
||||
%{_includedir}/tcp_driver.h
|
||||
%{_includedir}/utilities.h
|
||||
%{_includedir}/value.h
|
||||
%{_libdir}/libreplication.a
|
||||
%{_libdir}/libreplication.so
|
||||
%{_libdir}/libreplication.so.0.1
|
||||
%{_libdir}/libreplication.so.1
|
@ -23,9 +23,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
#include <boost/asio.hpp>
|
||||
#include <list>
|
||||
#include "binlog_event.h"
|
||||
#include <mysql.h>
|
||||
#include <my_global.h>
|
||||
#include <mysql_com.h>
|
||||
|
||||
using boost::asio::ip::tcp;
|
||||
namespace mysql {
|
@ -1,32 +0,0 @@
|
||||
|
||||
# This configuration file builds both the static and shared version of
|
||||
# the library.
|
||||
set(replication_sources
|
||||
access_method_factory.cpp field_iterator.cpp row_of_fields.cpp
|
||||
binlog_driver.cpp basic_transaction_parser.cpp tcp_driver.cpp
|
||||
file_driver.cpp binary_log.cpp protocol.cpp value.cpp binlog_event.cpp
|
||||
resultset_iterator.cpp basic_transaction_parser.cpp
|
||||
basic_content_handler.cpp utilities.cpp gtid.cpp)
|
||||
|
||||
# Find MySQL client library and header files
|
||||
find_library(MySQL_LIBRARY NAMES libmysqld.a PATHS
|
||||
/usr/lib64/mysql /usr/lib/mysql /usr/local/mysql/lib ${MARIADB_SRC_PATH}/lib)
|
||||
include_directories(${MARIADB_SRC_PATH})
|
||||
include_directories(../../utils)
|
||||
|
||||
# Configure for building static library
|
||||
add_library(replication_static STATIC ${replication_sources})
|
||||
target_link_libraries(replication_static crypto ${Boost_LIBRARIES} ${MySQL_LIBRARY})
|
||||
set_target_properties(replication_static PROPERTIES
|
||||
OUTPUT_NAME "replication")
|
||||
|
||||
# Configure for building shared library
|
||||
add_library(replication_shared SHARED ${replication_sources})
|
||||
target_link_libraries(replication_shared crypto ${Boost_LIBRARIES} ${MySQL_LIBRARY})
|
||||
|
||||
set_target_properties(replication_shared PROPERTIES
|
||||
VERSION 0.1 SOVERSION 1
|
||||
OUTPUT_NAME "replication")
|
||||
|
||||
install(TARGETS replication_shared LIBRARY DESTINATION lib)
|
||||
install(TARGETS replication_static ARCHIVE DESTINATION lib)
|
@ -1,103 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
#include "field_iterator.h"
|
||||
|
||||
//Row_iterator Row_iterator::end() const
|
||||
//{ return Row_iterator(); }
|
||||
|
||||
namespace mysql
|
||||
{
|
||||
|
||||
|
||||
bool is_null(unsigned char *bitmap, int index)
|
||||
{
|
||||
unsigned char *byte= bitmap + (index / 8);
|
||||
unsigned bit= 1 << ((index) & 7);
|
||||
return ((*byte) & bit) != 0;
|
||||
}
|
||||
|
||||
|
||||
boost::uint32_t extract_metadata(const Table_map_event *map, int col_no)
|
||||
{
|
||||
int offset= 0;
|
||||
|
||||
for (int i=0; i < col_no; ++i)
|
||||
{
|
||||
unsigned int type= (unsigned int)map->columns[i]&0xFF;
|
||||
offset += lookup_metadata_field_size((enum mysql::system::enum_field_types)type);
|
||||
}
|
||||
|
||||
boost::uint32_t metadata= 0;
|
||||
unsigned int type= (unsigned int)map->columns[col_no]&0xFF;
|
||||
switch(lookup_metadata_field_size((enum mysql::system::enum_field_types)type))
|
||||
{
|
||||
case 1:
|
||||
metadata= map->metadata[offset];
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
unsigned int tmp= ((unsigned int)map->metadata[offset])&0xFF;
|
||||
metadata= static_cast<boost::uint32_t >(tmp);
|
||||
tmp= (((unsigned int)map->metadata[offset+1])&0xFF) << 8;
|
||||
metadata+= static_cast<boost::uint32_t >(tmp);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return metadata;
|
||||
}
|
||||
|
||||
int lookup_metadata_field_size(enum mysql::system::enum_field_types field_type)
|
||||
{
|
||||
switch(field_type)
|
||||
{
|
||||
case mysql::system::MYSQL_TYPE_DOUBLE:
|
||||
case mysql::system::MYSQL_TYPE_FLOAT:
|
||||
case mysql::system::MYSQL_TYPE_BLOB:
|
||||
case mysql::system::MYSQL_TYPE_GEOMETRY:
|
||||
return 1;
|
||||
case mysql::system::MYSQL_TYPE_BIT:
|
||||
case mysql::system::MYSQL_TYPE_VARCHAR:
|
||||
case mysql::system::MYSQL_TYPE_NEWDECIMAL:
|
||||
case mysql::system::MYSQL_TYPE_STRING:
|
||||
case mysql::system::MYSQL_TYPE_VAR_STRING:
|
||||
return 2;
|
||||
case mysql::system::MYSQL_TYPE_DECIMAL:
|
||||
case mysql::system::MYSQL_TYPE_SET:
|
||||
case mysql::system::MYSQL_TYPE_ENUM:
|
||||
case mysql::system::MYSQL_TYPE_YEAR:
|
||||
case mysql::system::MYSQL_TYPE_TINY:
|
||||
case mysql::system::MYSQL_TYPE_SHORT:
|
||||
case mysql::system::MYSQL_TYPE_INT24:
|
||||
case mysql::system::MYSQL_TYPE_LONG:
|
||||
case mysql::system::MYSQL_TYPE_NULL:
|
||||
case mysql::system::MYSQL_TYPE_NEWDATE:
|
||||
case mysql::system::MYSQL_TYPE_DATE:
|
||||
case mysql::system::MYSQL_TYPE_TIME:
|
||||
case mysql::system::MYSQL_TYPE_TIMESTAMP:
|
||||
case mysql::system::MYSQL_TYPE_DATETIME:
|
||||
case mysql::system::MYSQL_TYPE_TINY_BLOB:
|
||||
case mysql::system::MYSQL_TYPE_MEDIUM_BLOB:
|
||||
case mysql::system::MYSQL_TYPE_LONG_BLOB:
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
} // end namespace mysql
|
@ -1,177 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "file_driver.h"
|
||||
|
||||
namespace mysql { namespace system {
|
||||
|
||||
using namespace std;
|
||||
|
||||
// TODO: Gtids not used for binlog file driver
|
||||
int Binlog_file_driver::connect(const Gtid gtid)
|
||||
{
|
||||
struct stat stat_buff;
|
||||
|
||||
char magic[]= {0xfe, 0x62, 0x69, 0x6e, 0};
|
||||
char magic_buf[MAGIC_NUMBER_SIZE];
|
||||
|
||||
// Get the file size.
|
||||
if (stat(m_binlog_file_name.c_str(), &stat_buff) == -1)
|
||||
return ERR_FAIL; // Can't stat binlog file.
|
||||
m_binlog_file_size= stat_buff.st_size;
|
||||
|
||||
m_binlog_file.exceptions(ifstream::failbit | ifstream::badbit |
|
||||
ifstream::eofbit);
|
||||
|
||||
try
|
||||
{
|
||||
// Check if the file can be opened for reading.
|
||||
m_binlog_file.open(m_binlog_file_name.c_str(), ios::in | ios::binary);
|
||||
|
||||
// Check if a valid MySQL binlog file is provided, BINLOG_MAGIC.
|
||||
m_binlog_file.read(magic_buf, MAGIC_NUMBER_SIZE);
|
||||
|
||||
if(memcmp(magic, magic_buf, MAGIC_NUMBER_SIZE))
|
||||
return ERR_FAIL; // Not a valid binlog file.
|
||||
|
||||
// Reset the get pointer.
|
||||
//m_binlog_file.seekg(0, ios::beg );
|
||||
|
||||
m_bytes_read= MAGIC_NUMBER_SIZE;
|
||||
|
||||
} catch (...)
|
||||
{
|
||||
return ERR_FAIL;
|
||||
}
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
|
||||
int Binlog_file_driver::disconnect()
|
||||
{
|
||||
m_binlog_file.close();
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
|
||||
int Binlog_file_driver::set_position(const string &str, unsigned long position)
|
||||
{
|
||||
m_binlog_file.exceptions(ifstream::failbit | ifstream::badbit |
|
||||
ifstream::eofbit);
|
||||
try
|
||||
{
|
||||
m_binlog_file.seekg(position, ios::beg );
|
||||
} catch(...)
|
||||
{
|
||||
return ERR_FAIL;
|
||||
}
|
||||
|
||||
m_bytes_read= position;
|
||||
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
|
||||
int Binlog_file_driver::get_position(string *str, unsigned long *position)
|
||||
{
|
||||
m_binlog_file.exceptions(ifstream::failbit | ifstream::badbit |
|
||||
ifstream::eofbit);
|
||||
try
|
||||
{
|
||||
if(position)
|
||||
*position= m_binlog_file.tellg();
|
||||
} catch(...)
|
||||
{
|
||||
return ERR_FAIL;
|
||||
}
|
||||
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
|
||||
int Binlog_file_driver::wait_for_next_event(mysql::Binary_log_event **event)
|
||||
{
|
||||
|
||||
assert(m_binlog_file.tellg() >= 4 );
|
||||
m_binlog_file.exceptions(ifstream::failbit | ifstream::badbit |
|
||||
ifstream::eofbit);
|
||||
|
||||
try
|
||||
{
|
||||
if(m_bytes_read < m_binlog_file_size && m_binlog_file.good())
|
||||
{
|
||||
//Protocol_chunk<boost::uint8_t> prot_marker(m_event_log_header.marker);
|
||||
Protocol_chunk<boost::uint32_t> prot_timestamp(m_event_log_header.timestamp);
|
||||
Protocol_chunk<boost::uint8_t> prot_type_code(m_event_log_header.type_code);
|
||||
Protocol_chunk<boost::uint32_t> prot_server_id(m_event_log_header.server_id);
|
||||
Protocol_chunk<boost::uint32_t>
|
||||
prot_event_length(m_event_log_header.event_length);
|
||||
Protocol_chunk<boost::uint32_t>
|
||||
prot_next_position(m_event_log_header.next_position);
|
||||
Protocol_chunk<boost::uint16_t> prot_flags(m_event_log_header.flags);
|
||||
|
||||
m_binlog_file >> prot_timestamp
|
||||
>> prot_type_code
|
||||
>> prot_server_id
|
||||
>> prot_event_length
|
||||
>> prot_next_position
|
||||
>> prot_flags;
|
||||
|
||||
/*
|
||||
m_binlog_file.read(reinterpret_cast<char*>(&m_event_log_header.timestamp),
|
||||
sizeof(boost::uint32_t));
|
||||
m_binlog_file.read(reinterpret_cast<char*>(&m_event_log_header.type_code),
|
||||
sizeof(boost::uint8_t));
|
||||
m_binlog_file.read(reinterpret_cast<char*>(&m_event_log_header.server_id),
|
||||
sizeof(boost::uint32_t));
|
||||
m_binlog_file.read(reinterpret_cast<char*>(&m_event_log_header.event_length),
|
||||
sizeof(boost::uint32_t));
|
||||
m_binlog_file.read(reinterpret_cast<char*>(&m_event_log_header.next_position),
|
||||
sizeof(boost::uint32_t));
|
||||
m_binlog_file.read(reinterpret_cast<char*>(&m_event_log_header.flags),
|
||||
sizeof(boost::uint16_t));
|
||||
*/
|
||||
|
||||
*event= parse_event(* static_cast<std::istream*> (&m_binlog_file),
|
||||
&m_event_log_header);
|
||||
|
||||
/*
|
||||
Correction. Except for the default case (above), this condition should
|
||||
always fail.
|
||||
*/
|
||||
if (m_bytes_read + m_event_log_header.event_length !=
|
||||
m_binlog_file.tellg())
|
||||
m_binlog_file.seekg(m_bytes_read + m_event_log_header.event_length,
|
||||
ios::beg);
|
||||
|
||||
m_bytes_read= m_binlog_file.tellg();
|
||||
|
||||
if(*event)
|
||||
return ERR_OK;
|
||||
}
|
||||
} catch(...)
|
||||
{
|
||||
return ERR_FAIL;
|
||||
}
|
||||
return ERR_EOF;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,154 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "utilities.h"
|
||||
|
||||
using namespace mysql;
|
||||
|
||||
namespace mysql {
|
||||
|
||||
int server_var_decoder (std::map<std::string, mysql::Value> *my_var_map,
|
||||
std::vector<boost::uint8_t> variables)
|
||||
{
|
||||
boost::uint8_t length, i;
|
||||
std::string name;
|
||||
mysql::system::enum_field_types field_type;
|
||||
/* To handle special case of 'terminating null byte'. */
|
||||
bool is_null_byte= 0;
|
||||
|
||||
|
||||
std::vector<boost::uint8_t>::iterator it= variables.begin();
|
||||
|
||||
while (it != variables.end())
|
||||
{
|
||||
switch (*it++)
|
||||
{
|
||||
case Q_FLAGS2_CODE:
|
||||
length= 4;
|
||||
name= "flag2";
|
||||
field_type= mysql::system::MYSQL_TYPE_LONG;
|
||||
break;
|
||||
case Q_SQL_MODE_CODE:
|
||||
length= 8;
|
||||
name= "sql_mode";
|
||||
field_type= mysql::system::MYSQL_TYPE_LONGLONG;
|
||||
break;
|
||||
case Q_CATALOG_CODE:
|
||||
length= *it++;
|
||||
name= "catalog_name_old";
|
||||
field_type= mysql::system::MYSQL_TYPE_VAR_STRING;
|
||||
is_null_byte= 1;
|
||||
break;
|
||||
case Q_AUTO_INCREMENT:
|
||||
length= 2;
|
||||
my_var_map->insert(std::make_pair
|
||||
("auto_increment_increment",
|
||||
mysql::Value(mysql::system::MYSQL_TYPE_SHORT,
|
||||
length, (char*) &(*it))));
|
||||
for (i= 0; i < length; i++)
|
||||
it++;
|
||||
|
||||
name= "auto_increment_offset";
|
||||
field_type= mysql::system::MYSQL_TYPE_SHORT;
|
||||
break;
|
||||
case Q_CHARSET_CODE:
|
||||
length= 2;
|
||||
my_var_map->insert(std::make_pair
|
||||
("character_set_client",
|
||||
mysql::Value(mysql::system::MYSQL_TYPE_SHORT,
|
||||
length, (char*) &(*it))));
|
||||
for (i= 0; i < length; i++)
|
||||
it++;
|
||||
|
||||
my_var_map->insert(std::make_pair
|
||||
("collation_connection",
|
||||
mysql::Value(mysql::system::MYSQL_TYPE_SHORT,
|
||||
length, (char*) &(*it))));
|
||||
for (i= 0; i < length; i++)
|
||||
it++;
|
||||
|
||||
name= "collation_server";
|
||||
field_type= mysql::system::MYSQL_TYPE_SHORT;
|
||||
break;
|
||||
case Q_TIME_ZONE_CODE:
|
||||
length= *it++;
|
||||
name= "time_zone";
|
||||
field_type= mysql::system::MYSQL_TYPE_VAR_STRING;
|
||||
break;
|
||||
case Q_CATALOG_NZ_CODE:
|
||||
length= *it++;
|
||||
name= "catalog_name";
|
||||
field_type= mysql::system::MYSQL_TYPE_VAR_STRING;
|
||||
break;
|
||||
case Q_LC_TIME_NAMES_CODE:
|
||||
length= 2;
|
||||
name= "lc_time_names";
|
||||
field_type= mysql::system::MYSQL_TYPE_SHORT;
|
||||
break;
|
||||
case Q_CHARSET_DATABASE_CODE:
|
||||
length= 2;
|
||||
name= "collation_database";
|
||||
field_type= mysql::system::MYSQL_TYPE_SHORT;
|
||||
break;
|
||||
case Q_TABLE_MAP_FOR_UPDATE_CODE:
|
||||
length= 8;
|
||||
name= "table_map_for_update";
|
||||
field_type= mysql::system::MYSQL_TYPE_LONGLONG;
|
||||
break;
|
||||
case Q_MASTER_DATA_WRITTEN_CODE:
|
||||
length= 4;
|
||||
name= "master_data_written";
|
||||
field_type= mysql::system::MYSQL_TYPE_LONG;
|
||||
break;
|
||||
case Q_INVOKER:
|
||||
length= *it++;
|
||||
my_var_map->insert(std::make_pair
|
||||
("user",
|
||||
mysql::Value(mysql::system::MYSQL_TYPE_VAR_STRING,
|
||||
length, (char*) &(*it))));
|
||||
for (i= 0; i < length; i++)
|
||||
it++;
|
||||
|
||||
length= *it++;
|
||||
name= "host";
|
||||
field_type= mysql::system::MYSQL_TYPE_VARCHAR;
|
||||
break;
|
||||
default:
|
||||
/* Unknown status variables. Error!! */
|
||||
return 1;
|
||||
} /* switch */
|
||||
my_var_map->insert(std::make_pair
|
||||
(name, mysql::Value(field_type, length,
|
||||
(char*) &(*it))));
|
||||
while (length --)
|
||||
++it;
|
||||
|
||||
/* Handle null termination byte. */
|
||||
if (is_null_byte)
|
||||
{
|
||||
++it;
|
||||
is_null_byte= 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
} /* server_var_decoder() */
|
||||
|
||||
} /* mysql namespace */
|
||||
|
@ -20,7 +20,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
#include "binlog_api.h"
|
||||
#include <iostream>
|
||||
#include "tcp_driver.h"
|
||||
#include <mysql.h>
|
||||
|
||||
#include <fstream>
|
||||
#include <time.h>
|
||||
@ -37,9 +36,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
|
||||
#include "protocol.h"
|
||||
#include "binlog_event.h"
|
||||
#include "listener_exception.h"
|
||||
#include "rowset.h"
|
||||
#include "field_iterator.h"
|
||||
#include "listener_exception.h"
|
||||
|
||||
using boost::asio::ip::tcp;
|
||||
using namespace mysql::system;
|
||||
using namespace mysql;
|
||||
@ -48,6 +48,8 @@ typedef unsigned char uchar;
|
||||
|
||||
namespace mysql { namespace system {
|
||||
|
||||
#include <mysql.h>
|
||||
|
||||
boost::mutex mysql_mutex;
|
||||
|
||||
static int encrypt_password(boost::uint8_t *reply, /* buffer at least EVP_MAX_MD_SIZE */
|
||||
@ -935,6 +937,13 @@ int Binlog_tcp_driver::connect(const Gtid gtid)
|
||||
return connect(m_user, m_passwd, m_host, m_port, gtid);
|
||||
}
|
||||
|
||||
int Binlog_tcp_driver::connect(size_t binlog_pos)
|
||||
{
|
||||
Gtid gtid = Gtid();
|
||||
std::string bf = std::string("");
|
||||
return connect(m_user, m_passwd, m_host, m_port, gtid, bf, binlog_pos);
|
||||
}
|
||||
|
||||
/**
|
||||
* Make synchronous reconnect.
|
||||
*/
|
@ -21,11 +21,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
#ifndef _TCP_DRIVER_H
|
||||
#define _TCP_DRIVER_H
|
||||
#include "binlog_driver.h"
|
||||
#include "bounded_buffer.h"
|
||||
#include "protocol.h"
|
||||
#include <boost/asio.hpp>
|
||||
#include <boost/thread.hpp>
|
||||
#include "bounded_buffer.h"
|
||||
#include "gtid.h"
|
||||
#include <mysql.h>
|
||||
|
||||
|
||||
#define MAX_PACKAGE_SIZE 0xffffff
|
||||
@ -62,6 +63,7 @@ public:
|
||||
* Connect using previously declared connection parameters.
|
||||
*/
|
||||
int connect(Gtid gtid = Gtid());
|
||||
int connect(size_t binlog_pos);
|
||||
|
||||
/**
|
||||
* Blocking wait for the next binary log event to reach the client
|
@ -1,19 +0,0 @@
|
||||
# Right now, the tests are built using the static version of the
|
||||
# replication listener, but we need to decide which one to use.
|
||||
|
||||
set(MySQL_SERVER_TESTS test-basic)
|
||||
set(MySQL_BINLOG_TESTS replaybinlog replay_sys_vars)
|
||||
set(MySQL_SIMPLE_TESTS test-transport)
|
||||
|
||||
foreach(test ${MySQL_BINLOG_TESTS} ${MySQL_SERVER_TESTS} ${MySQL_SIMPLE_TESTS})
|
||||
message("Adding test ${test}")
|
||||
add_executable(${test} ${test}.cpp)
|
||||
target_link_libraries(${test} replication_static gtest)
|
||||
endforeach()
|
||||
|
||||
if(WITH_SERVER_TESTS)
|
||||
add_test(ServerTests ${MySQL_SERVER_TESTS})
|
||||
endif(WITH_SERVER_TESTS)
|
||||
add_test(BasicTests ${MySQL_SIMPLE_TESTS})
|
||||
add_test(BinlogTests ${MySQL_BINLOG_TESTS})
|
||||
|
@ -1,533 +0,0 @@
|
||||
#
|
||||
# Reading binlogs files.
|
||||
#
|
||||
Event type: Format_desc length: 110 next pos: 114
|
||||
Event type: Query length: 91 next pos: 205
|
||||
query= drop database if exists test db= test
|
||||
|
||||
Event type: Query length: 83 next pos: 288
|
||||
query= create database test db= test
|
||||
|
||||
Event type: Query length: 105 next pos: 393
|
||||
query= CREATE TABLE REPLICATION_LISTENER (c1 int) db= test
|
||||
|
||||
Event type: Query length: 115 next pos: 508
|
||||
query= CREATE TABLE t1 (c1 CHAR(3), c2 CHAR(1) DEFAULT 'a') db= test
|
||||
|
||||
Event type: Query length: 110 next pos: 686
|
||||
query= INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc') db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 755
|
||||
Event type: Query length: 99 next pos: 922
|
||||
query= UPDATE t1 SET c1='aaaa' WHERE c1='a' db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 991
|
||||
Event type: Query length: 107 next pos: 1098
|
||||
query= ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(255) db= test
|
||||
|
||||
Event type: Query length: 111 next pos: 1277
|
||||
query= UPDATE t1 SET c1='bbbbbbbbbbbbbbb' WHERE c1='bb' db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 1346
|
||||
Event type: Query length: 105 next pos: 1451
|
||||
query= ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(1) db= test
|
||||
|
||||
Event type: Query length: 77 next pos: 1596
|
||||
query= DELETE FROM t1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 1665
|
||||
Event type: Query length: 104 next pos: 1769
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 107 next pos: 1876
|
||||
query= CREATE TABLE t1 (c1 INT, c2 INT DEFAULT '1') db= test
|
||||
|
||||
Event type: Query length: 105 next pos: 2049
|
||||
query= INSERT INTO t1 (c1) VALUES (1),(-12),(123) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 2118
|
||||
Event type: Query length: 101 next pos: 2287
|
||||
query= UPDATE t1 SET c1=2147483647 WHERE c1=1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 2356
|
||||
Event type: Query length: 111 next pos: 2535
|
||||
query= UPDATE t1 SET c1=-2147483648 WHERE c1=2147483647 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 2604
|
||||
Event type: Query length: 77 next pos: 2749
|
||||
query= DELETE FROM t1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 2818
|
||||
Event type: Query length: 104 next pos: 2922
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 117 next pos: 3039
|
||||
query= CREATE TABLE t1 (c1 SMALLINT, c2 SMALLINT DEFAULT '1') db= test
|
||||
|
||||
Event type: Query length: 105 next pos: 3212
|
||||
query= INSERT INTO t1 (c1) VALUES (1),(-12),(123) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 3281
|
||||
Event type: Query length: 96 next pos: 3445
|
||||
query= UPDATE t1 SET c1=32767 WHERE c1=1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 3514
|
||||
Event type: Query length: 101 next pos: 3683
|
||||
query= UPDATE t1 SET c1=-32768 WHERE c1=32767 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 3752
|
||||
Event type: Query length: 77 next pos: 3897
|
||||
query= DELETE FROM t1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 3966
|
||||
Event type: Query length: 104 next pos: 4070
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 115 next pos: 4185
|
||||
query= CREATE TABLE t1 (c1 TINYINT, c2 TINYINT DEFAULT '1') db= test
|
||||
|
||||
Event type: Query length: 105 next pos: 4358
|
||||
query= INSERT INTO t1 (c1) VALUES (1),(-12),(123) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 4427
|
||||
Event type: Query length: 94 next pos: 4589
|
||||
query= UPDATE t1 SET c1=127 WHERE c1=1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 4658
|
||||
Event type: Query length: 97 next pos: 4823
|
||||
query= UPDATE t1 SET c1=-128 WHERE c1=127 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 4892
|
||||
Event type: Query length: 77 next pos: 5037
|
||||
query= DELETE FROM t1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 5106
|
||||
Event type: Query length: 104 next pos: 5210
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 123 next pos: 5333
|
||||
query= CREATE TABLE t1 (c0 INT AUTO_INCREMENT PRIMARY KEY, c1 TEXT) db= test
|
||||
|
||||
Event type: Intvar length: 28 next pos: 5429
|
||||
Event type: Query length: 110 next pos: 5539
|
||||
query= INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc') db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 5608
|
||||
Event type: Query length: 99 next pos: 5775
|
||||
query= UPDATE t1 SET c1='aaaa' WHERE c1='a' db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 5844
|
||||
Event type: Query length: 107 next pos: 5951
|
||||
query= ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(255) db= test
|
||||
|
||||
Event type: Query length: 111 next pos: 6130
|
||||
query= UPDATE t1 SET c1='bbbbbbbbbbbbbbb' WHERE c1='bb' db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 6199
|
||||
Event type: Query length: 105 next pos: 6304
|
||||
query= ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(1) db= test
|
||||
|
||||
Event type: Query length: 77 next pos: 6449
|
||||
query= DELETE FROM t1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 6518
|
||||
Event type: Query length: 102 next pos: 6620
|
||||
query= ALTER TABLE t1 CHANGE COLUMN c1 c1 TEXT db= test
|
||||
|
||||
Event type: Intvar length: 28 next pos: 6716
|
||||
Event type: Query length: 11106 next pos: 17822
|
||||
query= INSERT INTO t1 (c1) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaa') db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 17891
|
||||
Event type: Intvar length: 28 next pos: 17987
|
||||
Event type: Query length: 11106 next pos: 29093
|
||||
query= INSERT INTO t1 (c1) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaa') db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 29162
|
||||
Event type: Query length: 77 next pos: 29307
|
||||
query= DELETE FROM t1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 29376
|
||||
Event type: Query length: 104 next pos: 29480
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 93 next pos: 29573
|
||||
query= CREATE TABLE t1 (c1 TIMESTAMP) db= test
|
||||
|
||||
Event type: Query length: 116 next pos: 29765
|
||||
query= INSERT INTO t1 VALUES ("2010-05-18 14:17:59") db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 29842
|
||||
Event type: Query length: 77 next pos: 29987
|
||||
query= DELETE FROM t1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 30056
|
||||
Event type: Query length: 104 next pos: 30160
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 92 next pos: 30252
|
||||
query= CREATE TABLE t1 (c1 DATETIME) db= test
|
||||
|
||||
Event type: Query length: 108 next pos: 30428
|
||||
query= INSERT INTO t1 VALUES ("2005-05-18 14:17:59") db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 30497
|
||||
Event type: Query length: 77 next pos: 30642
|
||||
query= DELETE FROM t1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 30711
|
||||
Event type: Query length: 104 next pos: 30815
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 89 next pos: 30904
|
||||
query= CREATE TABLE t1 (c1 FLOAT) db= test
|
||||
|
||||
Event type: Query length: 116 next pos: 31088
|
||||
query= INSERT INTO t1 VALUES (1.0),(1.01),(-12.05),(115.321) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 31157
|
||||
Event type: Query length: 101 next pos: 31326
|
||||
query= UPDATE t1 SET c1=0.000001 WHERE c1=1.0 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 31395
|
||||
Event type: Query length: 77 next pos: 31540
|
||||
query= DELETE FROM t1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 31609
|
||||
Event type: Query length: 104 next pos: 31713
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 90 next pos: 31803
|
||||
query= CREATE TABLE t1 (c1 DOUBLE) db= test
|
||||
|
||||
Event type: Query length: 116 next pos: 31987
|
||||
query= INSERT INTO t1 VALUES (1.0),(1.01),(-12.05),(115.321) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 32056
|
||||
Event type: Query length: 106 next pos: 32230
|
||||
query= UPDATE t1 SET c1=0.00000000001 WHERE c1=1.0 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 32299
|
||||
Event type: Query length: 77 next pos: 32444
|
||||
query= DELETE FROM t1 db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 32513
|
||||
Event type: Query length: 104 next pos: 32617
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 122 next pos: 32739
|
||||
query= DROP TABLE `REPLICATION_LISTENER` /* generated by server */ db= test
|
||||
|
||||
Event type: Format_desc length: 94 next pos: 98
|
||||
Event type: Query length: 100 next pos: 198
|
||||
query= create table t1(a int) engine= innodb db= test
|
||||
|
||||
Event type: Query length: 101 next pos: 299
|
||||
query= create table t2(a int) engine= innodb db= mysql
|
||||
|
||||
Event type: Query length: 92 next pos: 460
|
||||
query= insert into t1 (a) values (1) db= test
|
||||
|
||||
Event type: Query length: 93 next pos: 553
|
||||
query= insert into t2 (a) values (1) db= mysql
|
||||
|
||||
Event type: User defined length: 0 next pos: 553
|
||||
Event type: Query length: 100 next pos: 680
|
||||
query= create table t3(a int) engine= innodb db= test
|
||||
|
||||
Event type: Query length: 101 next pos: 781
|
||||
query= create table t4(a int) engine= myisam db= mysql
|
||||
|
||||
Event type: Query length: 92 next pos: 942
|
||||
query= insert into t3 (a) values (2) db= test
|
||||
|
||||
Event type: Query length: 93 next pos: 1035
|
||||
query= insert into t4 (a) values (2) db= mysql
|
||||
|
||||
Event type: Query length: 72 next pos: 1107
|
||||
query= ROLLBACK db= mysql
|
||||
|
||||
Event type: Query length: 97 next pos: 1204
|
||||
query= create table t5(a int) engine= NDB db= test
|
||||
|
||||
Event type: Query length: 98 next pos: 1302
|
||||
query= create table t6(a int) engine= NDB db= mysql
|
||||
|
||||
Event type: Query length: 92 next pos: 1463
|
||||
query= insert into t5 (a) values (3) db= test
|
||||
|
||||
Event type: Query length: 93 next pos: 1556
|
||||
query= insert into t6 (a) values (3) db= mysql
|
||||
|
||||
Event type: User defined length: 0 next pos: 1626
|
||||
Event type: Rotate length: 44 next pos: 1670
|
||||
filename= master-bin.000002 pos= 4
|
||||
|
||||
Event type: Format_desc length: 102 next pos: 106
|
||||
Event type: Rotate length: 44 next pos: 0
|
||||
filename= master-bin.000003 pos= 4
|
||||
|
||||
Event type: Format_desc length: 102 next pos: 106
|
||||
Event type: Query length: 92 next pos: 266
|
||||
query= INSERT INTO db1.t1 VALUES(20) db= test
|
||||
|
||||
Event type: Query length: 84 next pos: 350
|
||||
query= SavePoint mixed_cases db= test
|
||||
|
||||
Event type: Query length: 115 next pos: 465
|
||||
query= INSERT INTO db1.t2 VALUES("in savepoint mixed_cases") db= db1
|
||||
|
||||
Event type: Query length: 91 next pos: 556
|
||||
query= INSERT INTO db1.t1 VALUES(40) db= db1
|
||||
|
||||
Event type: Query length: 86 next pos: 642
|
||||
query= ROLLBACK TO mixed_cases db= test
|
||||
|
||||
Event type: Query length: 108 next pos: 750
|
||||
query= INSERT INTO db1.t2 VALUES("after rollback to") db= db1
|
||||
|
||||
Event type: Query length: 91 next pos: 841
|
||||
query= INSERT INTO db1.t1 VALUES(50) db= db1
|
||||
|
||||
Event type: User defined length: 0 next pos: 841
|
||||
# End of test
|
@ -1,980 +0,0 @@
|
||||
use test;
|
||||
CREATE TABLE REPLICATION_LISTENER (c1 int);
|
||||
"*** Test CHAR"
|
||||
CREATE TABLE t1 (c1 CHAR(3), c2 CHAR(1) DEFAULT 'a');
|
||||
INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc');
|
||||
UPDATE t1 SET c1='aaaa' WHERE c1='a';
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c1' at row 1
|
||||
ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(255);
|
||||
UPDATE t1 SET c1='bbbbbbbbbbbbbbb' WHERE c1='bb';
|
||||
ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(1);
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c1' at row 1
|
||||
Warning 1265 Data truncated for column 'c1' at row 2
|
||||
Warning 1265 Data truncated for column 'c1' at row 3
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
"*** Test INT"
|
||||
CREATE TABLE t1 (c1 INT, c2 INT DEFAULT '1');
|
||||
INSERT INTO t1 (c1) VALUES (1),(-12),(123);
|
||||
UPDATE t1 SET c1=2147483647 WHERE c1=1;
|
||||
UPDATE t1 SET c1=-2147483648 WHERE c1=2147483647;
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
"*** Test SMALLINT"
|
||||
CREATE TABLE t1 (c1 SMALLINT, c2 SMALLINT DEFAULT '1');
|
||||
INSERT INTO t1 (c1) VALUES (1),(-12),(123);
|
||||
UPDATE t1 SET c1=32767 WHERE c1=1;
|
||||
UPDATE t1 SET c1=-32768 WHERE c1=32767;
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
"*** Test TINYINT"
|
||||
CREATE TABLE t1 (c1 TINYINT, c2 TINYINT DEFAULT '1');
|
||||
INSERT INTO t1 (c1) VALUES (1),(-12),(123);
|
||||
UPDATE t1 SET c1=127 WHERE c1=1;
|
||||
UPDATE t1 SET c1=-128 WHERE c1=127;
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
"**** Test TEXT"
|
||||
CREATE TABLE t1 (c0 INT AUTO_INCREMENT PRIMARY KEY, c1 TEXT);
|
||||
INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc');
|
||||
UPDATE t1 SET c1='aaaa' WHERE c1='a';
|
||||
ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(255);
|
||||
UPDATE t1 SET c1='bbbbbbbbbbbbbbb' WHERE c1='bb';
|
||||
ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(1);
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c1' at row 1
|
||||
Warning 1265 Data truncated for column 'c1' at row 2
|
||||
Warning 1265 Data truncated for column 'c1' at row 3
|
||||
DELETE FROM t1;
|
||||
ALTER TABLE t1 CHANGE COLUMN c1 c1 TEXT;
|
||||
INSERT INTO t1 (c1) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaa');
|
||||
INSERT INTO t1 (c1) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaa');
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
"*** Testing TIMESTAMP"
|
||||
CREATE TABLE t1 (c1 TIMESTAMP);
|
||||
INSERT INTO t1 VALUES ("2010-05-18 14:17:59");
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
"*** Testing DATETIME"
|
||||
CREATE TABLE t1 (c1 DATETIME);
|
||||
INSERT INTO t1 VALUES ("2005-05-18 14:17:59");
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
"*** Testing FLOAT"
|
||||
CREATE TABLE t1 (c1 FLOAT);
|
||||
INSERT INTO t1 VALUES (1.0),(1.01),(-12.05),(115.321);
|
||||
UPDATE t1 SET c1=0.000001 WHERE c1=1.0;
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
"*** Testing DOUBLE"
|
||||
CREATE TABLE t1 (c1 DOUBLE);
|
||||
INSERT INTO t1 VALUES (1.0),(1.01),(-12.05),(115.321);
|
||||
UPDATE t1 SET c1=0.00000000001 WHERE c1=1.0;
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
DROP TABLE REPLICATION_LISTENER;
|
||||
Event type: Incident length: 40 next pos: 4
|
||||
type= 175 message= Operation canceled
|
||||
|
||||
Event type: Rotate length: 43 next pos: 0
|
||||
filename= searchbin.000001 pos= 4
|
||||
|
||||
Event type: Format_desc length: 103 next pos: 107
|
||||
Event type: Query length: 105 next pos: 212
|
||||
query= CREATE TABLE REPLICATION_LISTENER (c1 int) db= test
|
||||
|
||||
Event type: Query length: 115 next pos: 327
|
||||
query= CREATE TABLE t1 (c1 CHAR(3), c2 CHAR(1) DEFAULT 'a') db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 488
|
||||
INSERT INTO test.t1 VALUES (a, a)
|
||||
INSERT INTO test.t1 VALUES (bb, a)
|
||||
INSERT INTO test.t1 VALUES (ccc, a)
|
||||
Event type: User defined length: 0 next pos: 713
|
||||
UPDATE test.t1 SET 0= aaa, 1= a WHERE 0= a AND 1= a LIMIT 1
|
||||
Event type: Query length: 107 next pos: 889
|
||||
query= ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(255) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 1058
|
||||
UPDATE test.t1 SET 0= bbbbbbbbbbbbbbb, 1= a WHERE 0= bb AND 1= a LIMIT 1
|
||||
Event type: Query length: 105 next pos: 1232
|
||||
query= ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(1) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 1390
|
||||
DELETE FROM test.t1 WHERE 0= a AND 1= a LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= b AND 1= a LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= c AND 1= a LIMIT 1
|
||||
Event type: Query length: 104 next pos: 1563
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 107 next pos: 1670
|
||||
query= CREATE TABLE t1 (c1 INT, c2 INT DEFAULT '1') db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 1836
|
||||
INSERT INTO test.t1 VALUES (1, 1)
|
||||
INSERT INTO test.t1 VALUES (-12, 1)
|
||||
INSERT INTO test.t1 VALUES (123, 1)
|
||||
Event type: User defined length: 0 next pos: 2063
|
||||
UPDATE test.t1 SET 0= 2147483647, 1= 1 WHERE 0= 1 AND 1= 1 LIMIT 1
|
||||
Event type: User defined length: 0 next pos: 2290
|
||||
UPDATE test.t1 SET 0= -2147483648, 1= 1 WHERE 0= 2147483647 AND 1= 1 LIMIT 1
|
||||
Event type: User defined length: 0 next pos: 2525
|
||||
DELETE FROM test.t1 WHERE 0= -2147483648 AND 1= 1 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= -12 AND 1= 1 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= 123 AND 1= 1 LIMIT 1
|
||||
Event type: Query length: 104 next pos: 2698
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 117 next pos: 2815
|
||||
query= CREATE TABLE t1 (c1 SMALLINT, c2 SMALLINT DEFAULT '1') db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 2969
|
||||
INSERT INTO test.t1 VALUES (1, 1)
|
||||
INSERT INTO test.t1 VALUES (-12, 1)
|
||||
INSERT INTO test.t1 VALUES (123, 1)
|
||||
Event type: User defined length: 0 next pos: 3188
|
||||
UPDATE test.t1 SET 0= 32767, 1= 1 WHERE 0= 1 AND 1= 1 LIMIT 1
|
||||
Event type: User defined length: 0 next pos: 3407
|
||||
UPDATE test.t1 SET 0= -32768, 1= 1 WHERE 0= 32767 AND 1= 1 LIMIT 1
|
||||
Event type: User defined length: 0 next pos: 3630
|
||||
DELETE FROM test.t1 WHERE 0= -32768 AND 1= 1 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= -12 AND 1= 1 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= 123 AND 1= 1 LIMIT 1
|
||||
Event type: Query length: 104 next pos: 3803
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 115 next pos: 3918
|
||||
query= CREATE TABLE t1 (c1 TINYINT, c2 TINYINT DEFAULT '1') db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 4066
|
||||
INSERT INTO test.t1 VALUES (1, 1)
|
||||
INSERT INTO test.t1 VALUES (-12, 1)
|
||||
INSERT INTO test.t1 VALUES (123, 1)
|
||||
Event type: User defined length: 0 next pos: 4281
|
||||
UPDATE test.t1 SET 0= 127, 1= 1 WHERE 0= 1 AND 1= 1 LIMIT 1
|
||||
Event type: User defined length: 0 next pos: 4496
|
||||
UPDATE test.t1 SET 0= -128, 1= 1 WHERE 0= 127 AND 1= 1 LIMIT 1
|
||||
Event type: User defined length: 0 next pos: 4713
|
||||
DELETE FROM test.t1 WHERE 0= -128 AND 1= 1 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= -12 AND 1= 1 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= 123 AND 1= 1 LIMIT 1
|
||||
Event type: Query length: 104 next pos: 4886
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 123 next pos: 5009
|
||||
query= CREATE TABLE t1 (c0 INT AUTO_INCREMENT PRIMARY KEY, c1 TEXT) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 5176
|
||||
INSERT INTO test.t1 VALUES (1, 'a')
|
||||
INSERT INTO test.t1 VALUES (2, 'bb')
|
||||
INSERT INTO test.t1 VALUES (3, 'ccc')
|
||||
Event type: User defined length: 0 next pos: 5405
|
||||
UPDATE test.t1 SET 0= 1, 1= 'aaaa' WHERE 0= 1 AND 1= 'a' LIMIT 1
|
||||
Event type: Query length: 107 next pos: 5581
|
||||
query= ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(255) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 5752
|
||||
UPDATE test.t1 SET 0= 2, 1= bbbbbbbbbbbbbbb WHERE 0= 2 AND 1= bb LIMIT 1
|
||||
Event type: Query length: 105 next pos: 5926
|
||||
query= ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(1) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 6088
|
||||
DELETE FROM test.t1 WHERE 0= 1 AND 1= a LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= 2 AND 1= b LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= 3 AND 1= c LIMIT 1
|
||||
Event type: Query length: 102 next pos: 6259
|
||||
query= ALTER TABLE t1 CHANGE COLUMN c1 c1 TEXT db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 17418
|
||||
INSERT INTO test.t1 VALUES (4, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaa')
|
||||
Event type: User defined length: 0 next pos: 28646
|
||||
INSERT INTO test.t1 VALUES (5, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaa')
|
||||
Event type: User defined length: 0 next pos: 50922
|
||||
DELETE FROM test.t1 WHERE 0= 4 AND 1= 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaa' LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= 5 AND 1= 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaa' LIMIT 1
|
||||
Event type: Query length: 104 next pos: 51095
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 93 next pos: 51188
|
||||
query= CREATE TABLE t1 (c1 TIMESTAMP) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 51339
|
||||
INSERT INTO test.t1 VALUES (1274181479)
|
||||
Event type: User defined length: 0 next pos: 51559
|
||||
DELETE FROM test.t1 WHERE 0= 1274181479 LIMIT 1
|
||||
Event type: Query length: 104 next pos: 51732
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 92 next pos: 51824
|
||||
query= CREATE TABLE t1 (c1 DATETIME) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 51971
|
||||
INSERT INTO test.t1 VALUES (2005-05-18 14:17:59)
|
||||
Event type: User defined length: 0 next pos: 52187
|
||||
DELETE FROM test.t1 WHERE 0= 2005-05-18 14:17:59 LIMIT 1
|
||||
Event type: Query length: 104 next pos: 52360
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 89 next pos: 52449
|
||||
query= CREATE TABLE t1 (c1 FLOAT) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 52608
|
||||
INSERT INTO test.t1 VALUES (1)
|
||||
INSERT INTO test.t1 VALUES (1.01)
|
||||
INSERT INTO test.t1 VALUES (-12.05)
|
||||
INSERT INTO test.t1 VALUES (115.321)
|
||||
Event type: User defined length: 0 next pos: 52827
|
||||
UPDATE test.t1 SET 0= 1e-06 WHERE 0= 1 LIMIT 1
|
||||
Event type: User defined length: 0 next pos: 53055
|
||||
DELETE FROM test.t1 WHERE 0= 1e-06 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= 1.01 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= -12.05 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= 115.321 LIMIT 1
|
||||
Event type: Query length: 104 next pos: 53228
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 90 next pos: 53318
|
||||
query= CREATE TABLE t1 (c1 DOUBLE) db= test
|
||||
|
||||
Event type: User defined length: 0 next pos: 53493
|
||||
INSERT INTO test.t1 VALUES (1)
|
||||
INSERT INTO test.t1 VALUES (1.01)
|
||||
INSERT INTO test.t1 VALUES (-12.05)
|
||||
INSERT INTO test.t1 VALUES (115.321)
|
||||
Event type: User defined length: 0 next pos: 53720
|
||||
UPDATE test.t1 SET 0= 1e-11 WHERE 0= 1 LIMIT 1
|
||||
Event type: User defined length: 0 next pos: 53964
|
||||
DELETE FROM test.t1 WHERE 0= 1e-11 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= 1.01 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= -12.05 LIMIT 1
|
||||
DELETE FROM test.t1 WHERE 0= 115.321 LIMIT 1
|
||||
Event type: Query length: 104 next pos: 54137
|
||||
query= DROP TABLE `t1` /* generated by server */ db= test
|
||||
|
||||
Event type: Query length: 122 next pos: 54259
|
||||
query= DROP TABLE `REPLICATION_LISTENER` /* generated by server */ db= test
|
||||
|
||||
"## End of binary log."
|
@ -1,329 +0,0 @@
|
||||
DROP DATABASE IF EXISTS `sys_var`;
|
||||
Warnings:
|
||||
Note 1008 Can't drop database 'sys_var'; database doesn't exist
|
||||
CREATE DATABASE `sys_var`;
|
||||
USE `sys_var`;
|
||||
CREATE TABLE t1 (c1 CHAR(3), c2 CHAR(1) DEFAULT 'a');
|
||||
INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc');
|
||||
UPDATE t1 SET c1='aaaa' WHERE c1='a';
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c1' at row 1
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
SET @@auto_increment_increment=19;
|
||||
SET @@auto_increment_offset=4;
|
||||
SET @@character_set_client='latin2';
|
||||
SET @@collation_connection='latin2_bin';
|
||||
SET @@collation_server='geostd8_general_ci';
|
||||
SET @@time_zone='Japan';
|
||||
SET @@lc_time_names='sv_SE';
|
||||
SET @@collation_database='geostd8_bin';
|
||||
CREATE TABLE t1 (c1 DATE);
|
||||
INSERT INTO t1 VALUES ('2006-01-01');
|
||||
SELECT c1 FROM t1;
|
||||
c1
|
||||
2006-01-01
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (c1 INT AUTO_INCREMENT PRIMARY KEY, c2 TEXT);
|
||||
INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc');
|
||||
Warnings:
|
||||
Warning 1366 Incorrect integer value: 'a' for column 'c1' at row 1
|
||||
Warning 1366 Incorrect integer value: 'bb' for column 'c1' at row 2
|
||||
Warning 1366 Incorrect integer value: 'ccc' for column 'c1' at row 3
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
4 NULL
|
||||
23 NULL
|
||||
42 NULL
|
||||
DROP TABLE t1;
|
||||
DROP DATABASE `sys_var`;
|
||||
Connected to server!!
|
||||
Pos = 4 Event_type = 26
|
||||
Pos = 0 Event_type = 4
|
||||
Pos = 114 Event_type = 15
|
||||
Pos = 213 Event_type = 2
|
||||
Query = DROP DATABASE IF EXISTS `sys_var` DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 0
|
||||
sql_mode = -453830021431164924
|
||||
----------
|
||||
|
||||
Pos = 304 Event_type = 2
|
||||
Query = CREATE DATABASE `sys_var` DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 0
|
||||
sql_mode = -453830021431164924
|
||||
----------
|
||||
|
||||
Pos = 422 Event_type = 2
|
||||
Query = CREATE TABLE t1 (c1 CHAR(3), c2 CHAR(1) DEFAULT 'a') DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 566648
|
||||
sql_mode = -453830021430627274
|
||||
----------
|
||||
|
||||
Pos = 493 Event_type = 2
|
||||
Query = BEGIN DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 566656
|
||||
sql_mode = -453830021430758090
|
||||
----------
|
||||
|
||||
Pos = 606 Event_type = 2
|
||||
Query = INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc') DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 566654
|
||||
sql_mode = -453830021430889162
|
||||
----------
|
||||
|
||||
Pos = 678 Event_type = 2
|
||||
Query = COMMIT DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 566650
|
||||
sql_mode = -453830021431151306
|
||||
----------
|
||||
|
||||
Pos = 749 Event_type = 2
|
||||
Query = BEGIN DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 566652
|
||||
sql_mode = -453830021431020234
|
||||
----------
|
||||
|
||||
Pos = 851 Event_type = 2
|
||||
Query = UPDATE t1 SET c1='aaaa' WHERE c1='a' DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 566652
|
||||
sql_mode = -453830021431020234
|
||||
----------
|
||||
|
||||
Pos = 923 Event_type = 2
|
||||
Query = COMMIT DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 566652
|
||||
sql_mode = -453830021431020234
|
||||
----------
|
||||
|
||||
Pos = 994 Event_type = 2
|
||||
Query = BEGIN DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 566652
|
||||
sql_mode = -453830021431020234
|
||||
----------
|
||||
|
||||
Pos = 1074 Event_type = 2
|
||||
Query = DELETE FROM t1 DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 566652
|
||||
sql_mode = -453830021431020234
|
||||
----------
|
||||
|
||||
Pos = 1146 Event_type = 2
|
||||
Query = COMMIT DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 566652
|
||||
sql_mode = -453830021431020234
|
||||
----------
|
||||
|
||||
Pos = 1253 Event_type = 2
|
||||
Query = DROP TABLE `t1` /* generated by server */ DB = sys_var
|
||||
catalog_name = std
|
||||
character_set_client = 8
|
||||
collation_connection = 8
|
||||
collation_server = 8
|
||||
flag2 = 566652
|
||||
sql_mode = -453830021431020234
|
||||
----------
|
||||
|
||||
Pos = 1355 Event_type = 2
|
||||
Query = CREATE TABLE t1 (c1 DATE) DB = sys_var
|
||||
auto_increment_increment = 19
|
||||
auto_increment_offset = 4
|
||||
catalog_name = std
|
||||
character_set_client = 9
|
||||
collation_connection = 77
|
||||
collation_database = 93
|
||||
collation_server = 92
|
||||
flag2 = 0
|
||||
lc_time_names = 3
|
||||
sql_mode = -453830021430968318
|
||||
----------
|
||||
|
||||
Pos = 1437 Event_type = 2
|
||||
Query = BEGIN DB = sys_var
|
||||
auto_increment_increment = 19
|
||||
auto_increment_offset = 4
|
||||
catalog_name = std
|
||||
character_set_client = 9
|
||||
collation_connection = 77
|
||||
collation_database = 93
|
||||
collation_server = 92
|
||||
flag2 = 0
|
||||
lc_time_names = 3
|
||||
sql_mode = -453830021430968318
|
||||
----------
|
||||
|
||||
Pos = 1550 Event_type = 2
|
||||
Query = INSERT INTO t1 VALUES ('2006-01-01') DB = sys_var
|
||||
auto_increment_increment = 19
|
||||
auto_increment_offset = 4
|
||||
catalog_name = std
|
||||
character_set_client = 9
|
||||
collation_connection = 77
|
||||
collation_database = 93
|
||||
collation_server = 92
|
||||
flag2 = 0
|
||||
lc_time_names = 3
|
||||
sql_mode = -453830021430968318
|
||||
----------
|
||||
|
||||
Pos = 1633 Event_type = 2
|
||||
Query = COMMIT DB = sys_var
|
||||
auto_increment_increment = 19
|
||||
auto_increment_offset = 4
|
||||
catalog_name = std
|
||||
character_set_client = 9
|
||||
collation_connection = 77
|
||||
collation_database = 93
|
||||
collation_server = 92
|
||||
flag2 = 0
|
||||
lc_time_names = 3
|
||||
sql_mode = -453830021430968318
|
||||
----------
|
||||
|
||||
Pos = 1751 Event_type = 2
|
||||
Query = DROP TABLE `t1` /* generated by server */ DB = sys_var
|
||||
auto_increment_increment = 19
|
||||
auto_increment_offset = 4
|
||||
catalog_name = std
|
||||
character_set_client = 9
|
||||
collation_connection = 77
|
||||
collation_database = 93
|
||||
collation_server = 92
|
||||
flag2 = 0
|
||||
lc_time_names = 3
|
||||
sql_mode = -453830021430968318
|
||||
----------
|
||||
|
||||
Pos = 1888 Event_type = 2
|
||||
Query = CREATE TABLE t1 (c1 INT AUTO_INCREMENT PRIMARY KEY, c2 TEXT) DB = sys_var
|
||||
auto_increment_increment = 19
|
||||
auto_increment_offset = 4
|
||||
catalog_name = std
|
||||
character_set_client = 9
|
||||
collation_connection = 77
|
||||
collation_database = 93
|
||||
collation_server = 92
|
||||
flag2 = 0
|
||||
lc_time_names = 3
|
||||
sql_mode = -453830021430968318
|
||||
----------
|
||||
|
||||
Pos = 1970 Event_type = 2
|
||||
Query = BEGIN DB = sys_var
|
||||
auto_increment_increment = 19
|
||||
auto_increment_offset = 4
|
||||
catalog_name = std
|
||||
character_set_client = 9
|
||||
collation_connection = 77
|
||||
collation_database = 93
|
||||
collation_server = 92
|
||||
flag2 = 0
|
||||
lc_time_names = 3
|
||||
sql_mode = -453830021430968318
|
||||
----------
|
||||
|
||||
Pos = 1998 Event_type = 5
|
||||
Pos = 2122 Event_type = 2
|
||||
Query = INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc') DB = sys_var
|
||||
auto_increment_increment = 19
|
||||
auto_increment_offset = 4
|
||||
catalog_name = std
|
||||
character_set_client = 9
|
||||
collation_connection = 77
|
||||
collation_database = 93
|
||||
collation_server = 92
|
||||
flag2 = 0
|
||||
lc_time_names = 3
|
||||
sql_mode = -453830021430968318
|
||||
----------
|
||||
|
||||
Pos = 2205 Event_type = 2
|
||||
Query = COMMIT DB = sys_var
|
||||
auto_increment_increment = 19
|
||||
auto_increment_offset = 4
|
||||
catalog_name = std
|
||||
character_set_client = 9
|
||||
collation_connection = 77
|
||||
collation_database = 93
|
||||
collation_server = 92
|
||||
flag2 = 0
|
||||
lc_time_names = 3
|
||||
sql_mode = -453830021430968318
|
||||
----------
|
||||
|
||||
Pos = 2323 Event_type = 2
|
||||
Query = DROP TABLE `t1` /* generated by server */ DB = sys_var
|
||||
auto_increment_increment = 19
|
||||
auto_increment_offset = 4
|
||||
catalog_name = std
|
||||
character_set_client = 9
|
||||
collation_connection = 77
|
||||
collation_database = 93
|
||||
collation_server = 92
|
||||
flag2 = 0
|
||||
lc_time_names = 3
|
||||
sql_mode = -453830021430968318
|
||||
----------
|
||||
|
||||
Pos = 2423 Event_type = 2
|
||||
Query = DROP DATABASE `sys_var` DB = sys_var
|
||||
auto_increment_increment = 19
|
||||
auto_increment_offset = 4
|
||||
catalog_name = std
|
||||
character_set_client = 9
|
||||
collation_connection = 77
|
||||
collation_database = 93
|
||||
collation_server = 92
|
||||
flag2 = 0
|
||||
lc_time_names = 3
|
||||
sql_mode = -453830021430968318
|
||||
----------
|
||||
|
||||
"#End of binary log"
|
@ -1,103 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <cstdlib>
|
||||
#include <boost/foreach.hpp>
|
||||
#include "binlog_api.h"
|
||||
#include "utilities.h"
|
||||
|
||||
int main (int argc, char* argv[])
|
||||
{
|
||||
mysql::Binary_log
|
||||
binlog(mysql::system::create_transport("mysql://root@127.0.0.1:13000"));
|
||||
|
||||
if (binlog.connect())
|
||||
{
|
||||
std::cerr << "Can't connect!" << std::endl;
|
||||
exit(1);
|
||||
}
|
||||
std::cout << "Connected to server!!" << std::endl;
|
||||
|
||||
if (binlog.set_position(4) != ERR_OK)
|
||||
{
|
||||
std::cerr << "Can't reposition the binary log reader."
|
||||
<< std::endl;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
Binary_log_event *event;
|
||||
|
||||
bool quit=false;
|
||||
while (!quit)
|
||||
{
|
||||
if (binlog.wait_for_next_event (&event))
|
||||
{
|
||||
quit= true;
|
||||
continue;
|
||||
}
|
||||
|
||||
std::cout << "Pos = "
|
||||
<< event->header()->next_position
|
||||
<<" Event_type = "
|
||||
<< event->get_event_type()
|
||||
<< std::endl;
|
||||
|
||||
switch (event->header()->type_code)
|
||||
{
|
||||
case mysql::QUERY_EVENT:
|
||||
{
|
||||
const mysql::Query_event *qev= static_cast<const mysql::Query_event *>(event);
|
||||
std::cout << "Query = "
|
||||
<< qev->query
|
||||
<< " DB = "
|
||||
<< qev->db_name
|
||||
<< std::endl;
|
||||
std::map<std::string, mysql::Value> my_var_map;
|
||||
|
||||
if (server_var_decoder(&my_var_map, qev->variables))
|
||||
return (EXIT_FAILURE);
|
||||
|
||||
mysql::Converter converter;
|
||||
|
||||
typedef std::map<std::string, mysql::Value>::value_type my_pair;
|
||||
BOOST_FOREACH (my_pair &ref, my_var_map)
|
||||
{
|
||||
std::string value;
|
||||
converter.to(value, ref.second);
|
||||
std::cout << ref.first
|
||||
<< " = "
|
||||
<< value
|
||||
<< std::endl;
|
||||
}
|
||||
std::cout << "----------" << std::endl << std::endl;
|
||||
|
||||
if (qev->query.find("DROP DATABASE `sys_var`") != std::string::npos
|
||||
|| qev->query.find("DROP DATABASE sys_var") != std::string::npos)
|
||||
quit= true;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
delete event;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,330 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
#include <stdlib.h>
|
||||
#include <boost/foreach.hpp>
|
||||
#include "binlog_api.h"
|
||||
|
||||
bool is_text_field(Value &val)
|
||||
{
|
||||
if (val.type() == mysql::system::MYSQL_TYPE_VARCHAR ||
|
||||
val.type() == mysql::system::MYSQL_TYPE_BLOB ||
|
||||
val.type() == mysql::system::MYSQL_TYPE_MEDIUM_BLOB ||
|
||||
val.type() == mysql::system::MYSQL_TYPE_LONG_BLOB)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
void table_insert(const std::string& table_name, mysql::Row_of_fields &fields)
|
||||
{
|
||||
std::cout << "INSERT INTO "
|
||||
<< table_name
|
||||
<< " VALUES (";
|
||||
mysql::Row_of_fields::iterator field_it= fields.begin();
|
||||
mysql::Converter converter;
|
||||
do {
|
||||
/*
|
||||
Each row contains a vector of Value objects. The converter
|
||||
allows us to transform the value into another
|
||||
representation.
|
||||
*/
|
||||
std::string str;
|
||||
converter.to(str, *field_it);
|
||||
if (is_text_field(*field_it))
|
||||
std::cout << '\'';
|
||||
std::cout << str;
|
||||
if (is_text_field(*field_it))
|
||||
std::cout << '\'';
|
||||
++field_it;
|
||||
if (field_it != fields.end())
|
||||
std::cout << ", ";
|
||||
} while(field_it != fields.end());
|
||||
std::cout << ")" << std::endl;
|
||||
}
|
||||
|
||||
|
||||
void table_update(const std::string& table_name,
|
||||
mysql::Row_of_fields &old_fields, mysql::Row_of_fields &new_fields)
|
||||
{
|
||||
std::cout << "UPDATE "
|
||||
<< table_name
|
||||
<< " SET ";
|
||||
|
||||
int field_id= 0;
|
||||
mysql::Row_of_fields::iterator field_it= new_fields.begin();
|
||||
mysql::Converter converter;
|
||||
do {
|
||||
std::string str;
|
||||
converter.to(str, *field_it);
|
||||
std::cout << field_id << "= ";
|
||||
if (is_text_field(*field_it))
|
||||
std::cout << '\'';
|
||||
std::cout << str;
|
||||
if (is_text_field(*field_it))
|
||||
std::cout << '\'';
|
||||
++field_it;
|
||||
++field_id;
|
||||
if (field_it != new_fields.end())
|
||||
std::cout << ", ";
|
||||
} while(field_it != new_fields.end());
|
||||
std::cout << " WHERE ";
|
||||
field_it= old_fields.begin();
|
||||
field_id= 0;
|
||||
do {
|
||||
std::string str;
|
||||
converter.to(str, *field_it);
|
||||
std::cout << field_id << "= ";
|
||||
if (is_text_field(*field_it))
|
||||
std::cout << '\'';
|
||||
std::cout << str;
|
||||
if (is_text_field(*field_it))
|
||||
std::cout << '\'';
|
||||
++field_it;
|
||||
++field_id;
|
||||
if (field_it != old_fields.end())
|
||||
std::cout << " AND ";
|
||||
} while(field_it != old_fields.end());
|
||||
std::cout << " LIMIT 1" << std::endl;
|
||||
|
||||
}
|
||||
|
||||
|
||||
void table_delete(const std::string& table_name, mysql::Row_of_fields &fields)
|
||||
{
|
||||
std::cout << "DELETE FROM "
|
||||
<< table_name
|
||||
<< " WHERE ";
|
||||
mysql::Row_of_fields::iterator field_it= fields.begin();
|
||||
int field_id= 0;
|
||||
mysql::Converter converter;
|
||||
do {
|
||||
|
||||
std::string str;
|
||||
converter.to(str, *field_it);
|
||||
std::cout << field_id << "= ";
|
||||
if (is_text_field(*field_it))
|
||||
std::cout << '\'';
|
||||
std::cout << str;
|
||||
if (is_text_field(*field_it))
|
||||
std::cout << '\'';
|
||||
++field_it;
|
||||
++field_id;
|
||||
if (field_it != fields.end())
|
||||
std::cout << " AND ";
|
||||
} while(field_it != fields.end());
|
||||
std::cout << " LIMIT 1" << std::endl;
|
||||
}
|
||||
|
||||
class Incident_handler : public mysql::Content_handler
|
||||
{
|
||||
public:
|
||||
Incident_handler() : mysql::Content_handler() {}
|
||||
|
||||
mysql::Binary_log_event *process_event(mysql::Incident_event *incident)
|
||||
{
|
||||
std::cout << "Event type: "
|
||||
<< mysql::system::get_event_type_str(incident->get_event_type())
|
||||
<< " length: " << incident->header()->event_length
|
||||
<< " next pos: " << incident->header()->next_position
|
||||
<< std::endl;
|
||||
std::cout << "type= "
|
||||
<< (unsigned)incident->type
|
||||
<< " message= "
|
||||
<< incident->message
|
||||
<< std::endl
|
||||
<< std::endl;
|
||||
/* Consume the event */
|
||||
delete incident;
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
class Replay_binlog : public mysql::Content_handler
|
||||
{
|
||||
public:
|
||||
Replay_binlog() : mysql::Content_handler() {}
|
||||
mysql::Binary_log_event *process_event(mysql::Binary_log_event *event)
|
||||
{
|
||||
if (event->get_event_type() != mysql::USER_DEFINED)
|
||||
return event;
|
||||
std::cout << "Event type: "
|
||||
<< mysql::system::get_event_type_str(event->get_event_type())
|
||||
<< " length: " << event->header()->event_length
|
||||
<< " next pos: " << event->header()->next_position
|
||||
<< std::endl;
|
||||
mysql::Transaction_log_event *trans= static_cast<mysql::Transaction_log_event *>(event);
|
||||
int row_count=0;
|
||||
/*
|
||||
The transaction event we created has aggregated all row events in an
|
||||
ordered list.
|
||||
*/
|
||||
BOOST_FOREACH(mysql::Binary_log_event * event, trans->m_events)
|
||||
{
|
||||
switch (event->get_event_type())
|
||||
{
|
||||
case mysql::WRITE_ROWS_EVENT:
|
||||
case mysql::DELETE_ROWS_EVENT:
|
||||
case mysql::UPDATE_ROWS_EVENT:
|
||||
mysql::Row_event *rev= static_cast<mysql::Row_event *>(event);
|
||||
boost::uint64_t table_id= rev->table_id;
|
||||
// BUG: will create a new event header if the table id doesn't exist.
|
||||
Binary_log_event * tmevent= trans->table_map()[table_id];
|
||||
mysql::Table_map_event *tm;
|
||||
if (tmevent != NULL)
|
||||
tm= static_cast<mysql::Table_map_event *>(tmevent);
|
||||
else
|
||||
{
|
||||
std::cout << "Table id "
|
||||
<< table_id
|
||||
<< " was not registered by any preceding table map event."
|
||||
<< std::endl;
|
||||
continue;
|
||||
}
|
||||
/*
|
||||
Each row event contains multiple rows and fields. The Row_iterator
|
||||
allows us to iterate one row at a time.
|
||||
*/
|
||||
mysql::Row_event_set rows(rev, tm);
|
||||
/*
|
||||
Create a fuly qualified table name
|
||||
*/
|
||||
std::ostringstream os;
|
||||
os << tm->db_name << '.' << tm->table_name;
|
||||
mysql::Row_event_set::iterator it= rows.begin();
|
||||
do {
|
||||
mysql::Row_of_fields fields= *it;
|
||||
|
||||
if (event->get_event_type() == mysql::WRITE_ROWS_EVENT)
|
||||
table_insert(os.str(),fields);
|
||||
if (event->get_event_type() == mysql::UPDATE_ROWS_EVENT)
|
||||
{
|
||||
++it;
|
||||
mysql::Row_of_fields fields2= *it;
|
||||
table_update(os.str(),fields,fields2);
|
||||
}
|
||||
if (event->get_event_type() == mysql::DELETE_ROWS_EVENT)
|
||||
table_delete(os.str(),fields);
|
||||
} while (++it != rows.end());
|
||||
} // end switch
|
||||
} // end BOOST_FOREACH
|
||||
/* Consume the event */
|
||||
delete trans;
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
/*
|
||||
*
|
||||
*/
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
if (argc != 2)
|
||||
{
|
||||
fprintf(stderr,"Usage:\n\treplaybinlog URL\n\nExample:\n\treplaybinlog mysql://root:mypasswd@127.0.0.1:3306\n\n");
|
||||
return (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
mysql::Binary_log binlog(mysql::system::create_transport(argv[1]));
|
||||
|
||||
|
||||
/*
|
||||
Attach a custom event parser which produces user defined events
|
||||
*/
|
||||
mysql::Basic_transaction_parser transaction_parser;
|
||||
Incident_handler incident_hndlr;
|
||||
Replay_binlog replay_hndlr;
|
||||
|
||||
binlog.content_handler_pipeline()->push_back(&transaction_parser);
|
||||
binlog.content_handler_pipeline()->push_back(&incident_hndlr);
|
||||
binlog.content_handler_pipeline()->push_back(&replay_hndlr);
|
||||
|
||||
if (binlog.connect())
|
||||
{
|
||||
fprintf(stderr,"Can't connect to the master.\n");
|
||||
return (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (binlog.set_position(4) != ERR_OK)
|
||||
{
|
||||
fprintf(stderr,"Can't reposition the binary log reader.\n");
|
||||
return (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
Binary_log_event *event;
|
||||
|
||||
bool quit= false;
|
||||
while(!quit)
|
||||
{
|
||||
/*
|
||||
Pull events from the master. This is the heart beat of the event listener.
|
||||
*/
|
||||
if (binlog.wait_for_next_event(&event))
|
||||
{
|
||||
quit= true;
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
Print the event
|
||||
*/
|
||||
std::cout << "Event type: "
|
||||
<< mysql::system::get_event_type_str(event->get_event_type())
|
||||
<< " length: " << event->header()->event_length
|
||||
<< " next pos: " << event->header()->next_position
|
||||
<< std::endl;
|
||||
|
||||
/*
|
||||
Perform a special action based on event type
|
||||
*/
|
||||
|
||||
switch(event->header()->type_code)
|
||||
{
|
||||
case mysql::QUERY_EVENT:
|
||||
{
|
||||
const mysql::Query_event *qev= static_cast<const mysql::Query_event *>(event);
|
||||
std::cout << "query= "
|
||||
<< qev->query
|
||||
<< " db= "
|
||||
<< qev->db_name
|
||||
<< std::endl
|
||||
<< std::endl;
|
||||
if (qev->query.find("DROP TABLE REPLICATION_LISTENER") != std::string::npos ||
|
||||
qev->query.find("DROP TABLE `REPLICATION_LISTENER`") != std::string::npos)
|
||||
{
|
||||
quit= true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case mysql::ROTATE_EVENT:
|
||||
{
|
||||
mysql::Rotate_event *rot= static_cast<mysql::Rotate_event *>(event);
|
||||
std::cout << "filename= "
|
||||
<< rot->binlog_file.c_str()
|
||||
<< " pos= "
|
||||
<< rot->binlog_pos
|
||||
<< std::endl
|
||||
<< std::endl;
|
||||
}
|
||||
break;
|
||||
|
||||
} // end switch
|
||||
delete event;
|
||||
} // end loop
|
||||
return (EXIT_SUCCESS);
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,12 +0,0 @@
|
||||
-- source include/not_embedded.inc
|
||||
let $REPLICATION_LISTENER="<path-to-replaybinlog>";
|
||||
let $SAMPLE_BINLOG_FILES_DIR="<path-to-std-data>";
|
||||
|
||||
--echo #
|
||||
--echo # Reading binlogs files.
|
||||
--echo #
|
||||
--exec $REPLICATION_LISTENER file://$SAMPLE_BINLOG_FILES_DIR/searchbin.000001
|
||||
--exec $REPLICATION_LISTENER file://$SAMPLE_BINLOG_FILES_DIR/binlog_transaction.000001
|
||||
--exec $REPLICATION_LISTENER file://$SAMPLE_BINLOG_FILES_DIR/binlog_savepoint.000001
|
||||
|
||||
--echo # End of test
|
@ -1 +0,0 @@
|
||||
--log_bin=searchbin --binlog_format=row
|
@ -1,341 +0,0 @@
|
||||
# This test should work in embedded server after we fix mysqltest
|
||||
-- source include/not_embedded.inc
|
||||
let $REPLICATION_LISTENER="/Users/thek/Development/replaybinlog/replaybinlog.sh";
|
||||
|
||||
# Create table which we use to signal the replication listener.
|
||||
use test;
|
||||
CREATE TABLE REPLICATION_LISTENER (c1 int);
|
||||
|
||||
--echo "*** Test CHAR"
|
||||
CREATE TABLE t1 (c1 CHAR(3), c2 CHAR(1) DEFAULT 'a');
|
||||
INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc');
|
||||
UPDATE t1 SET c1='aaaa' WHERE c1='a';
|
||||
ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(255);
|
||||
UPDATE t1 SET c1='bbbbbbbbbbbbbbb' WHERE c1='bb';
|
||||
ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(1);
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo "*** Test INT"
|
||||
CREATE TABLE t1 (c1 INT, c2 INT DEFAULT '1');
|
||||
INSERT INTO t1 (c1) VALUES (1),(-12),(123);
|
||||
UPDATE t1 SET c1=2147483647 WHERE c1=1;
|
||||
UPDATE t1 SET c1=-2147483648 WHERE c1=2147483647;
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo "*** Test SMALLINT"
|
||||
CREATE TABLE t1 (c1 SMALLINT, c2 SMALLINT DEFAULT '1');
|
||||
INSERT INTO t1 (c1) VALUES (1),(-12),(123);
|
||||
UPDATE t1 SET c1=32767 WHERE c1=1;
|
||||
UPDATE t1 SET c1=-32768 WHERE c1=32767;
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo "*** Test TINYINT"
|
||||
CREATE TABLE t1 (c1 TINYINT, c2 TINYINT DEFAULT '1');
|
||||
INSERT INTO t1 (c1) VALUES (1),(-12),(123);
|
||||
UPDATE t1 SET c1=127 WHERE c1=1;
|
||||
UPDATE t1 SET c1=-128 WHERE c1=127;
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#--echo "*** Test BIGINT"
|
||||
#CREATE TABLE t1 (c1 BIGINT, c2 BIGINT DEFAULT '1');
|
||||
#INSERT INTO t1 (c1) VALUES (1),(-12),(123);
|
||||
#UPDATE t1 SET c1=9223372036854775807 WHERE c1=1;
|
||||
#UPDATE t1 SET c1=-9223372036854775808 WHERE c1=9223372036854775807;
|
||||
#DELETE FROM t1;
|
||||
#DROP TABLE t1;
|
||||
|
||||
--echo "**** Test TEXT"
|
||||
CREATE TABLE t1 (c0 INT AUTO_INCREMENT PRIMARY KEY, c1 TEXT);
|
||||
INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc');
|
||||
UPDATE t1 SET c1='aaaa' WHERE c1='a';
|
||||
ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(255);
|
||||
UPDATE t1 SET c1='bbbbbbbbbbbbbbb' WHERE c1='bb';
|
||||
ALTER TABLE t1 CHANGE COLUMN c1 c1 CHAR(1);
|
||||
DELETE FROM t1;
|
||||
ALTER TABLE t1 CHANGE COLUMN c1 c1 TEXT;
|
||||
INSERT INTO t1 (c1) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaa');
|
||||
INSERT INTO t1 (c1) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaa');
|
||||
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo "*** Testing TIMESTAMP"
|
||||
CREATE TABLE t1 (c1 TIMESTAMP);
|
||||
INSERT INTO t1 VALUES ("2010-05-18 14:17:59");
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo "*** Testing DATETIME"
|
||||
CREATE TABLE t1 (c1 DATETIME);
|
||||
INSERT INTO t1 VALUES ("2005-05-18 14:17:59");
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo "*** Testing FLOAT"
|
||||
CREATE TABLE t1 (c1 FLOAT);
|
||||
INSERT INTO t1 VALUES (1.0),(1.01),(-12.05),(115.321);
|
||||
UPDATE t1 SET c1=0.000001 WHERE c1=1.0;
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo "*** Testing DOUBLE"
|
||||
CREATE TABLE t1 (c1 DOUBLE);
|
||||
INSERT INTO t1 VALUES (1.0),(1.01),(-12.05),(115.321);
|
||||
UPDATE t1 SET c1=0.00000000001 WHERE c1=1.0;
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
DROP TABLE REPLICATION_LISTENER;
|
||||
|
||||
--exec $REPLICATION_LISTENER mysql://root@127.0.0.1:13000
|
||||
|
||||
--echo "## End of binary log."
|
||||
|
@ -1,39 +0,0 @@
|
||||
# This test should work in embedded server after we fix mysqltest
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
let $REPLICATION_LISTENER="/home/nirbhay/Project/mysql/repo/worklogs/3283/sys-vars/tests/replay_sys_vars";
|
||||
|
||||
DROP DATABASE IF EXISTS `sys_var`;
|
||||
CREATE DATABASE `sys_var`;
|
||||
USE `sys_var`;
|
||||
|
||||
CREATE TABLE t1 (c1 CHAR(3), c2 CHAR(1) DEFAULT 'a');
|
||||
INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc');
|
||||
UPDATE t1 SET c1='aaaa' WHERE c1='a';
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
SET @@auto_increment_increment=19;
|
||||
SET @@auto_increment_offset=4;
|
||||
SET @@character_set_client='latin2';
|
||||
SET @@collation_connection='latin2_bin';
|
||||
SET @@collation_server='geostd8_general_ci';
|
||||
SET @@time_zone='Japan';
|
||||
SET @@lc_time_names='sv_SE';
|
||||
SET @@collation_database='geostd8_bin';
|
||||
|
||||
CREATE TABLE t1 (c1 DATE);
|
||||
INSERT INTO t1 VALUES ('2006-01-01');
|
||||
SELECT c1 FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (c1 INT AUTO_INCREMENT PRIMARY KEY, c2 TEXT);
|
||||
INSERT INTO t1 (c1) VALUES ('a'),('bb'),('ccc');
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
DROP DATABASE `sys_var`;
|
||||
|
||||
--exec $REPLICATION_LISTENER
|
||||
|
||||
--echo "#End of binary log"
|
@ -1,107 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "binlog_api.h"
|
||||
#include <gtest/gtest.h>
|
||||
#include <iostream>
|
||||
#include <stdlib.h>
|
||||
class TestBinaryLog : public ::testing::Test {
|
||||
protected:
|
||||
TestBinaryLog() {
|
||||
// You can do set-up work for each test here.
|
||||
}
|
||||
|
||||
virtual ~TestBinaryLog() {
|
||||
// You can do clean-up work that doesn't throw exceptions here.
|
||||
}
|
||||
|
||||
// If the constructor and destructor are not enough for setting up
|
||||
// and cleaning up each test, you can define the following methods:
|
||||
|
||||
virtual void SetUp() {
|
||||
// Code here will be called immediately after the constructor (right
|
||||
// before each test).
|
||||
}
|
||||
|
||||
virtual void TearDown() {
|
||||
// Code here will be called immediately after each test (right
|
||||
// before the destructor).
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
TEST_F(TestBinaryLog, ConnectTo_Bogus)
|
||||
{
|
||||
using mysql::system::create_transport;
|
||||
mysql::Binary_log *binlog= new mysql::Binary_log(create_transport("bogus-url"));
|
||||
EXPECT_GT(binlog->connect(), 0);
|
||||
delete(binlog);
|
||||
}
|
||||
|
||||
TEST_F(TestBinaryLog, ConnectTo_TcpIp)
|
||||
{
|
||||
using mysql::system::create_transport;
|
||||
mysql::Binary_log *binlog= new mysql::Binary_log(create_transport("mysql://root@127.0.0.1:13000"));
|
||||
EXPECT_EQ(binlog->connect(),0);
|
||||
delete binlog;
|
||||
}
|
||||
|
||||
TEST_F(TestBinaryLog, Connected_TcpIp)
|
||||
{
|
||||
using mysql::system::create_transport;
|
||||
mysql::Binary_log *binlog= new mysql::Binary_log(create_transport("mysql://root@127.0.0.1:13000"));
|
||||
EXPECT_EQ(binlog->connect(),0);
|
||||
mysql::Binary_log_event *event;
|
||||
binlog->wait_for_next_event(&event);
|
||||
EXPECT_TRUE(event->get_event_type() == mysql::ROTATE_EVENT);
|
||||
delete event;
|
||||
binlog->wait_for_next_event(&event);
|
||||
EXPECT_TRUE(event->get_event_type() == mysql::FORMAT_DESCRIPTION_EVENT);
|
||||
delete event;
|
||||
}
|
||||
|
||||
TEST_F(TestBinaryLog, SetPosition)
|
||||
{
|
||||
using mysql::system::create_transport;
|
||||
mysql::Binary_log_event *event;
|
||||
mysql::Binary_log *binlog= new mysql::Binary_log(create_transport("mysql://root@127.0.0.1:13000"));
|
||||
EXPECT_EQ(binlog->connect(),0);
|
||||
std::string filename;
|
||||
unsigned long position= binlog->get_position(filename);
|
||||
int result= binlog->set_position(filename,4);
|
||||
EXPECT_EQ(result,ERR_OK);
|
||||
position= binlog->get_position();
|
||||
EXPECT_EQ(position, 4);
|
||||
|
||||
binlog->wait_for_next_event(&event);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
|
||||
// TODO require that the connection string is passed as an argument to the
|
||||
// test suite.
|
||||
std::cout << "Important: Make sure that the MySQL server is started using "
|
||||
"'mysql-test-run --mysqld=--log_bin=searchbin --mysqld=--binlog_format=row --start "
|
||||
"alias' and that the server is listening on IP 127.0.0.1 and port"
|
||||
" 13000." << std::endl;
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
@ -1,136 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights
|
||||
reserved.
|
||||
|
||||
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; version 2 of
|
||||
the License.
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "binlog_api.h"
|
||||
#include <gtest/gtest.h>
|
||||
#include <iostream>
|
||||
#include <stdlib.h>
|
||||
|
||||
using mysql::system::create_transport;
|
||||
using mysql::system::Binary_log_driver;
|
||||
using mysql::system::Binlog_tcp_driver;
|
||||
using mysql::system::Binlog_file_driver;
|
||||
|
||||
class TestTransport : public ::testing::Test {
|
||||
protected:
|
||||
TestTransport() { }
|
||||
virtual ~TestTransport() { }
|
||||
};
|
||||
|
||||
void CheckTcpValues(Binlog_tcp_driver *tcp,
|
||||
const char *user, const char *passwd,
|
||||
const char *host, unsigned long port)
|
||||
{
|
||||
EXPECT_EQ(tcp->port(), port);
|
||||
EXPECT_EQ(tcp->host(), host);
|
||||
EXPECT_EQ(tcp->user(), user);
|
||||
EXPECT_EQ(tcp->password(), passwd);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Test a TCP transport URL.
|
||||
*/
|
||||
void TestTcpTransport(const char *uri,
|
||||
const char *user, const char *passwd,
|
||||
const char *host, unsigned long port)
|
||||
{
|
||||
Binary_log_driver *drv= create_transport(uri);
|
||||
EXPECT_TRUE(drv);
|
||||
Binlog_tcp_driver* tcp = dynamic_cast<Binlog_tcp_driver*>(drv);
|
||||
EXPECT_TRUE(tcp);
|
||||
CheckTcpValues(tcp, user, passwd, host, port);
|
||||
delete drv;
|
||||
}
|
||||
|
||||
/**
|
||||
Test a file transport URL.
|
||||
|
||||
@note We do not support user, password, host, or port in file URLs
|
||||
yet, so we ignore those for the time being.
|
||||
*/
|
||||
void TestFileTransport(const char *uri_arg, const char *filename_arg)
|
||||
{
|
||||
Binary_log_driver *drv= create_transport(uri_arg);
|
||||
EXPECT_TRUE(drv);
|
||||
Binlog_file_driver* file = dynamic_cast<Binlog_file_driver*>(drv);
|
||||
EXPECT_TRUE(file);
|
||||
std::string filename;
|
||||
unsigned long position;
|
||||
file->get_position(&filename, &position);
|
||||
EXPECT_EQ(filename, filename_arg);
|
||||
delete file;
|
||||
}
|
||||
|
||||
|
||||
TEST_F(TestTransport, CreateTransport_TcpIp) {
|
||||
TestTcpTransport("mysql://nosuchuser@128.0.0.1:99999",
|
||||
"nosuchuser", "", "128.0.0.1", 99999);
|
||||
TestTcpTransport("mysql://nosuchuser@128.0.0.1:3306",
|
||||
"nosuchuser", "", "128.0.0.1", 3306);
|
||||
TestTcpTransport("mysql://nosuchuser:magic@128.0.0.1:3306",
|
||||
"nosuchuser", "magic", "128.0.0.1", 3306);
|
||||
TestTcpTransport("mysql://nosuchuser:magic@example.com:3306",
|
||||
"nosuchuser", "magic", "example.com", 3306);
|
||||
TestTcpTransport("mysql://somebody@128.0.0.1",
|
||||
"somebody", "", "128.0.0.1", 3306);
|
||||
|
||||
// Here are tests for bad URIs
|
||||
|
||||
// Missing username
|
||||
EXPECT_FALSE(create_transport("mysql://:xyzzy@128.0.0.1:99999"));
|
||||
EXPECT_FALSE(create_transport("mysql://@128.0.0.1:99999"));
|
||||
|
||||
// Missing hostname
|
||||
EXPECT_FALSE(create_transport("mysql://somebody@:99999"));
|
||||
EXPECT_FALSE(create_transport("mysql://somebody"));
|
||||
EXPECT_FALSE(create_transport("mysql://somebody:xyzzy"));
|
||||
}
|
||||
|
||||
TEST_F(TestTransport, CreateTransport_File) {
|
||||
TestFileTransport("file:///master-bin.000003", "/master-bin.000003");
|
||||
TestFileTransport("file:///etc/foo/master-bin.000003", "/etc/foo/master-bin.000003");
|
||||
|
||||
// Here are tests for bad URLs
|
||||
const char *bad_urls[] = {
|
||||
"file:master-bin.000003",
|
||||
"file://somebody/master-bin.000003",
|
||||
"file://somebody@localhost/master-bin.000003",
|
||||
"file://master-bin.000003",
|
||||
"file://somebody:xyzzy@localhost/master-bin.000003",
|
||||
};
|
||||
|
||||
for (int i = 0 ; i < sizeof(bad_urls)/sizeof(*bad_urls) ; ++i)
|
||||
EXPECT_FALSE(create_transport(bad_urls[i]));
|
||||
}
|
||||
|
||||
TEST_F(TestTransport, CreateTransport_Bogus)
|
||||
{
|
||||
EXPECT_FALSE(create_transport("bogus-url"));
|
||||
EXPECT_FALSE(create_transport("fil"));
|
||||
EXPECT_FALSE(create_transport("fil://almost-correct.txt"));
|
||||
EXPECT_FALSE(create_transport("file"));
|
||||
EXPECT_FALSE(create_transport("mysq:"));
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
@ -22,6 +22,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <iomanip>
|
||||
#include <boost/format.hpp>
|
||||
#include <mysql.h>
|
||||
|
||||
#define DIG_PER_DEC1 9
|
||||
|
||||
@ -50,20 +51,20 @@ int calc_field_size(unsigned char column_type, const unsigned char *field_ptr, b
|
||||
boost::uint32_t length;
|
||||
|
||||
switch (column_type) {
|
||||
case mysql::system::MYSQL_TYPE_VAR_STRING:
|
||||
case MYSQL_TYPE_VAR_STRING:
|
||||
/* This type is hijacked for result set types. */
|
||||
length= metadata;
|
||||
break;
|
||||
case mysql::system::MYSQL_TYPE_NEWDECIMAL:
|
||||
case MYSQL_TYPE_NEWDECIMAL:
|
||||
{
|
||||
int precision = (metadata & 0xff);
|
||||
int scale = metadata >> 8;
|
||||
length = decimal_bin_size(precision, scale);
|
||||
break;
|
||||
}
|
||||
case mysql::system::MYSQL_TYPE_DECIMAL:
|
||||
case mysql::system::MYSQL_TYPE_FLOAT:
|
||||
case mysql::system::MYSQL_TYPE_DOUBLE:
|
||||
case MYSQL_TYPE_DECIMAL:
|
||||
case MYSQL_TYPE_FLOAT:
|
||||
case MYSQL_TYPE_DOUBLE:
|
||||
length= metadata;
|
||||
break;
|
||||
/*
|
||||
@ -71,13 +72,13 @@ int calc_field_size(unsigned char column_type, const unsigned char *field_ptr, b
|
||||
both are mapped to type MYSQL_TYPE_STRING and their real types
|
||||
are encoded in the field metadata.
|
||||
*/
|
||||
case mysql::system::MYSQL_TYPE_SET:
|
||||
case mysql::system::MYSQL_TYPE_ENUM:
|
||||
case mysql::system::MYSQL_TYPE_STRING:
|
||||
case MYSQL_TYPE_SET:
|
||||
case MYSQL_TYPE_ENUM:
|
||||
case MYSQL_TYPE_STRING:
|
||||
{
|
||||
//unsigned char type= metadata >> 8U;
|
||||
unsigned char type = metadata & 0xff;
|
||||
if ((type == mysql::system::MYSQL_TYPE_SET) || (type == mysql::system::MYSQL_TYPE_ENUM))
|
||||
if ((type == MYSQL_TYPE_SET) || (type == MYSQL_TYPE_ENUM))
|
||||
{
|
||||
//length= metadata & 0x00ff;
|
||||
length = (metadata & 0xff00) >> 8;
|
||||
@ -94,39 +95,39 @@ int calc_field_size(unsigned char column_type, const unsigned char *field_ptr, b
|
||||
}
|
||||
break;
|
||||
}
|
||||
case mysql::system::MYSQL_TYPE_YEAR:
|
||||
case mysql::system::MYSQL_TYPE_TINY:
|
||||
case MYSQL_TYPE_YEAR:
|
||||
case MYSQL_TYPE_TINY:
|
||||
length= 1;
|
||||
break;
|
||||
case mysql::system::MYSQL_TYPE_SHORT:
|
||||
case MYSQL_TYPE_SHORT:
|
||||
length= 2;
|
||||
break;
|
||||
case mysql::system::MYSQL_TYPE_INT24:
|
||||
case MYSQL_TYPE_INT24:
|
||||
length= 3;
|
||||
break;
|
||||
case mysql::system::MYSQL_TYPE_LONG:
|
||||
case MYSQL_TYPE_LONG:
|
||||
length= 4;
|
||||
break;
|
||||
case MYSQL_TYPE_LONGLONG:
|
||||
length= 8;
|
||||
break;
|
||||
case mysql::system::MYSQL_TYPE_NULL:
|
||||
case MYSQL_TYPE_NULL:
|
||||
length= 0;
|
||||
break;
|
||||
case mysql::system::MYSQL_TYPE_NEWDATE:
|
||||
case MYSQL_TYPE_NEWDATE:
|
||||
length= 3;
|
||||
break;
|
||||
case mysql::system::MYSQL_TYPE_DATE:
|
||||
case mysql::system::MYSQL_TYPE_TIME:
|
||||
case MYSQL_TYPE_DATE:
|
||||
case MYSQL_TYPE_TIME:
|
||||
length= 3;
|
||||
break;
|
||||
case mysql::system::MYSQL_TYPE_TIMESTAMP:
|
||||
case MYSQL_TYPE_TIMESTAMP:
|
||||
length= 4;
|
||||
break;
|
||||
case mysql::system::MYSQL_TYPE_DATETIME:
|
||||
case MYSQL_TYPE_DATETIME:
|
||||
length= 8;
|
||||
break;
|
||||
case mysql::system::MYSQL_TYPE_BIT:
|
||||
case MYSQL_TYPE_BIT:
|
||||
{
|
||||
/*
|
||||
Decode the size of the bit field from the master.
|
||||
@ -141,17 +142,17 @@ int calc_field_size(unsigned char column_type, const unsigned char *field_ptr, b
|
||||
length= from_len + ((from_bit_len > 0) ? 1 : 0);
|
||||
break;
|
||||
}
|
||||
case mysql::system::MYSQL_TYPE_VARCHAR:
|
||||
case MYSQL_TYPE_VARCHAR:
|
||||
{
|
||||
length= metadata > 255 ? 2 : 1;
|
||||
length+= length == 1 ? (boost::uint32_t) *field_ptr : *((boost::uint16_t *)field_ptr);
|
||||
break;
|
||||
}
|
||||
case mysql::system::MYSQL_TYPE_TINY_BLOB:
|
||||
case mysql::system::MYSQL_TYPE_MEDIUM_BLOB:
|
||||
case mysql::system::MYSQL_TYPE_LONG_BLOB:
|
||||
case mysql::system::MYSQL_TYPE_BLOB:
|
||||
case mysql::system::MYSQL_TYPE_GEOMETRY:
|
||||
case MYSQL_TYPE_TINY_BLOB:
|
||||
case MYSQL_TYPE_MEDIUM_BLOB:
|
||||
case MYSQL_TYPE_LONG_BLOB:
|
||||
case MYSQL_TYPE_BLOB:
|
||||
case MYSQL_TYPE_GEOMETRY:
|
||||
{
|
||||
switch (metadata)
|
||||
{
|
||||
@ -242,7 +243,7 @@ char *Value::as_c_str(unsigned long &size) const
|
||||
|
||||
char *str = const_cast<char *>(m_storage + metadata_length);
|
||||
|
||||
if (m_type == mysql::system::MYSQL_TYPE_VARCHAR && m_metadata > 255) {
|
||||
if (m_type == MYSQL_TYPE_VARCHAR && m_metadata > 255) {
|
||||
str++;
|
||||
size--;
|
||||
}
|
||||
@ -457,10 +458,10 @@ void Converter::to(std::string &str, const Value &val) const
|
||||
str_type = val.metadata() & 0xff;
|
||||
}
|
||||
|
||||
if (str_type == mysql::system::MYSQL_TYPE_SET) {
|
||||
if (str_type == MYSQL_TYPE_SET) {
|
||||
str = "not implemented";
|
||||
break;
|
||||
} else if (str_type == mysql::system::MYSQL_TYPE_ENUM) {
|
||||
} else if (str_type == MYSQL_TYPE_ENUM) {
|
||||
unsigned int val_storage = static_cast<unsigned int>(*val.storage());
|
||||
str = boost::str(boost::format("%u") % val_storage);
|
||||
break;
|
@ -25,6 +25,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
#include "protocol.h"
|
||||
#include <boost/any.hpp>
|
||||
#include <iostream>
|
||||
#include <mysql.h>
|
||||
|
||||
using namespace mysql;
|
||||
namespace mysql {
|
||||
@ -54,7 +55,7 @@ int calc_field_size(unsigned char column_type, const unsigned char *field_ptr,
|
||||
class Value
|
||||
{
|
||||
public:
|
||||
Value(enum system::enum_field_types type, boost::uint32_t metadata, const char *storage) :
|
||||
Value(enum enum_field_types type, boost::uint32_t metadata, const char *storage) :
|
||||
m_type(type), m_storage(storage), m_metadata(metadata), m_is_null(false)
|
||||
{
|
||||
m_size= calc_field_size((unsigned char)type,
|
||||
@ -92,7 +93,7 @@ public:
|
||||
* atual data)
|
||||
*/
|
||||
size_t length() const { return m_size; }
|
||||
enum system::enum_field_types type() const { return m_type; }
|
||||
enum enum_field_types type() const { return m_type; }
|
||||
boost::uint32_t metadata() const { return m_metadata; }
|
||||
|
||||
/**
|
||||
@ -144,7 +145,7 @@ public:
|
||||
double as_double() const;
|
||||
|
||||
private:
|
||||
enum system::enum_field_types m_type;
|
||||
enum enum_field_types m_type;
|
||||
size_t m_size;
|
||||
const char *m_storage;
|
||||
boost::uint32_t m_metadata;
|
@ -1,4 +1,4 @@
|
||||
# Install script for directory: /home/jan/skysql/skygateway/skygateway/table_replication_consistency
|
||||
# Install script for directory: /home/jan/skysql/maxscale/table_replication_consistency
|
||||
|
||||
# Set the install prefix
|
||||
IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
@ -12,7 +12,7 @@ IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
||||
STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
|
||||
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
|
||||
ELSE(BUILD_TYPE)
|
||||
SET(CMAKE_INSTALL_CONFIG_NAME "Debug")
|
||||
SET(CMAKE_INSTALL_CONFIG_NAME "")
|
||||
ENDIF(BUILD_TYPE)
|
||||
MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
|
||||
ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
||||
@ -33,15 +33,39 @@ IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||
ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||
|
||||
IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
|
||||
FOREACH(file
|
||||
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libtable_replication_consistency.so.0.1"
|
||||
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libtable_replication_consistency.so.1"
|
||||
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libtable_replication_consistency.so"
|
||||
)
|
||||
IF(EXISTS "${file}" AND
|
||||
NOT IS_SYMLINK "${file}")
|
||||
FILE(RPATH_CHECK
|
||||
FILE "${file}"
|
||||
RPATH "")
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE SHARED_LIBRARY FILES
|
||||
"/home/jan/skysql/skygateway/skygateway/table_replication_consistency/CMakeFiles/CMakeRelink.dir/libtable_replication_consistency.so.0.1"
|
||||
"/home/jan/skysql/skygateway/skygateway/table_replication_consistency/CMakeFiles/CMakeRelink.dir/libtable_replication_consistency.so.1"
|
||||
"/home/jan/skysql/skygateway/skygateway/table_replication_consistency/CMakeFiles/CMakeRelink.dir/libtable_replication_consistency.so"
|
||||
"/home/jan/skysql/maxscale/table_replication_consistency/libtable_replication_consistency.so.0.1"
|
||||
"/home/jan/skysql/maxscale/table_replication_consistency/libtable_replication_consistency.so.1"
|
||||
"/home/jan/skysql/maxscale/table_replication_consistency/libtable_replication_consistency.so"
|
||||
)
|
||||
FOREACH(file
|
||||
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libtable_replication_consistency.so.0.1"
|
||||
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libtable_replication_consistency.so.1"
|
||||
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libtable_replication_consistency.so"
|
||||
)
|
||||
IF(EXISTS "${file}" AND
|
||||
NOT IS_SYMLINK "${file}")
|
||||
IF(CMAKE_INSTALL_DO_STRIP)
|
||||
EXECUTE_PROCESS(COMMAND "/usr/bin/strip" "${file}")
|
||||
ENDIF(CMAKE_INSTALL_DO_STRIP)
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
|
||||
|
||||
IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
|
||||
FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/home/jan/skysql/skygateway/skygateway/table_replication_consistency/libtable_replication_consistency.a")
|
||||
FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/home/jan/skysql/maxscale/table_replication_consistency/libtable_replication_consistency.a")
|
||||
ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
|
||||
|
||||
IF(CMAKE_INSTALL_COMPONENT)
|
||||
@ -50,7 +74,7 @@ ELSE(CMAKE_INSTALL_COMPONENT)
|
||||
SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
|
||||
ENDIF(CMAKE_INSTALL_COMPONENT)
|
||||
|
||||
FILE(WRITE "/home/jan/skysql/skygateway/skygateway/table_replication_consistency/${CMAKE_INSTALL_MANIFEST}" "")
|
||||
FILE(WRITE "/home/jan/skysql/maxscale/table_replication_consistency/${CMAKE_INSTALL_MANIFEST}" "")
|
||||
FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES})
|
||||
FILE(APPEND "/home/jan/skysql/skygateway/skygateway/table_replication_consistency/${CMAKE_INSTALL_MANIFEST}" "${file}\n")
|
||||
FILE(APPEND "/home/jan/skysql/maxscale/table_replication_consistency/${CMAKE_INSTALL_MANIFEST}" "${file}\n")
|
||||
ENDFOREACH(file)
|
||||
|
@ -39,6 +39,7 @@ Updated:
|
||||
#include "table_replication_parser.h"
|
||||
#include "table_replication_metadata.h"
|
||||
#include "log_manager.h"
|
||||
#include "skygw_debug.h"
|
||||
|
||||
using mysql::Binary_log;
|
||||
using mysql::system::create_transport;
|
||||
@ -93,50 +94,51 @@ tbrl_extract_master_connect_info()
|
||||
char *body = master->server_url;
|
||||
size_t len = strlen(master->server_url);
|
||||
|
||||
/* Find the user name, which is mandatory */
|
||||
const char *user = body + 8;
|
||||
/* Find the user name, which is mandatory */
|
||||
const char *user = body + 8;
|
||||
|
||||
const char *user_end= strpbrk(user, ":@");
|
||||
const char *user_end= strpbrk(user, ":@");
|
||||
|
||||
assert(user_end - user >= 1); // There has to be a username
|
||||
assert(user_end - user >= 1); // There has to be a username
|
||||
|
||||
/* Find the password, which can be empty */
|
||||
assert(*user_end == ':' || *user_end == '@');
|
||||
const char *const pass = user_end + 1; // Skip the ':' (or '@')
|
||||
const char *pass_end = pass;
|
||||
if (*user_end == ':')
|
||||
{
|
||||
pass_end = strchr(pass, '@');
|
||||
}
|
||||
assert(pass_end - pass >= 0); // Password can be empty
|
||||
/* Find the password, which can be empty */
|
||||
assert(*user_end == ':' || *user_end == '@');
|
||||
const char *const pass = user_end + 1; // Skip the ':' (or '@')
|
||||
const char *pass_end = pass;
|
||||
if (*user_end == ':')
|
||||
{
|
||||
pass_end = strchr(pass, '@');
|
||||
}
|
||||
assert(pass_end - pass >= 0); // Password can be empty
|
||||
|
||||
/* Find the host name, which is mandatory */
|
||||
// Skip the '@', if there is one
|
||||
const char *host = *pass_end == '@' ? pass_end + 1 : pass_end;
|
||||
const char *host_end = strchr(host, ':');
|
||||
if (host == host_end)
|
||||
/* If no ':' was found there is no port, so the host end at the end
|
||||
* of the string */
|
||||
if (host_end == 0)
|
||||
host_end = body + len;
|
||||
assert(host_end - host >= 1); // There has to be a host
|
||||
/* Find the host name, which is mandatory */
|
||||
// Skip the '@', if there is one
|
||||
const char *host = *pass_end == '@' ? pass_end + 1 : pass_end;
|
||||
const char *host_end = strchr(host, ':');
|
||||
if (host == host_end) {
|
||||
/* If no ':' was found there is no port, so the host end at the end
|
||||
* of the string */
|
||||
if (host_end == 0)
|
||||
host_end = body + len;
|
||||
}
|
||||
assert(host_end - host >= 1); // There has to be a host
|
||||
|
||||
/* Find the port number */
|
||||
unsigned long portno = 3307;
|
||||
if (*host_end == ':')
|
||||
portno = strtoul(host_end + 1, NULL, 10);
|
||||
/* Find the port number */
|
||||
unsigned long portno = 3307;
|
||||
if (*host_end == ':')
|
||||
portno = strtoul(host_end + 1, NULL, 10);
|
||||
|
||||
std::string u(user, user_end - user);
|
||||
std::string p(pass, pass_end - pass);
|
||||
std::string h(host, host_end - host);
|
||||
std::string u(user, user_end - user);
|
||||
std::string p(pass, pass_end - pass);
|
||||
std::string h(host, host_end - host);
|
||||
|
||||
master_user = (char *)malloc(u.length()+1);
|
||||
master_passwd = (char *)malloc(p.length()+1);
|
||||
master_host = (char *)malloc(h.length()+1);
|
||||
strcpy(master_user, u.c_str());
|
||||
strcpy(master_passwd, p.c_str());
|
||||
strcpy(master_host, h.c_str());
|
||||
master_port = portno;
|
||||
master_user = (char *)malloc(u.length()+1);
|
||||
master_passwd = (char *)malloc(p.length()+1);
|
||||
master_host = (char *)malloc(h.length()+1);
|
||||
strcpy(master_user, u.c_str());
|
||||
strcpy(master_passwd, p.c_str());
|
||||
strcpy(master_host, h.c_str());
|
||||
master_port = portno;
|
||||
}
|
||||
|
||||
/***********************************************************************//**
|
||||
@ -267,6 +269,56 @@ tbrl_update_server_status(
|
||||
}
|
||||
}
|
||||
|
||||
/***********************************************************************//**
|
||||
Internal function to iterate through server metadata to find out if
|
||||
we should continue from existing binlog position or gtid position.*/
|
||||
static bool
|
||||
tbrl_get_startup_pos(
|
||||
/*=================*/
|
||||
boost::uint32_t server_id,
|
||||
boost::uint64_t *binlog_pos,
|
||||
Gtid *gtid,
|
||||
bool *gtid_known,
|
||||
bool *use_binlog_pos)
|
||||
{
|
||||
*use_binlog_pos = true;
|
||||
*gtid_known = false;
|
||||
*binlog_pos = 0;
|
||||
|
||||
// Need to be protected by mutex to avoid concurrency problems
|
||||
boost::mutex::scoped_lock lock(table_servers_mutex);
|
||||
|
||||
map<boost::uint32_t, tbr_server_t*>::iterator key = table_replication_servers.find(server_id);
|
||||
|
||||
if (key != table_replication_servers.end()) {
|
||||
// Found
|
||||
tbr_server_t *mserver = (*key).second;
|
||||
|
||||
// For MariaDB we know how to start from GTID position if
|
||||
// that is specified, in MYSQL we use always binlog pos
|
||||
|
||||
if (mserver->server_type == TRC_SERVER_TYPE_MARIADB) {
|
||||
if (mserver->gtid_known) {
|
||||
boost::uint32_t domain;
|
||||
boost::uint32_t server;
|
||||
boost::uint64_t sno;
|
||||
sscanf((const char *)mserver->gtid, "%u-%u-%lu", &domain, &server, &sno);
|
||||
*gtid_known = true;
|
||||
*gtid = Gtid(domain, server, sno);
|
||||
} else {
|
||||
*binlog_pos = mserver->binlog_pos;
|
||||
*use_binlog_pos = true;
|
||||
}
|
||||
} else {
|
||||
*binlog_pos = mserver->binlog_pos;
|
||||
*use_binlog_pos = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/***********************************************************************//**
|
||||
This is the function that is executed by replication listeners.
|
||||
@ -289,10 +341,43 @@ void* tb_replication_listener_reader(
|
||||
const char* server_type;
|
||||
Gtid gtid(0,1,31);
|
||||
bool gtid_known = false;
|
||||
boost::uint64_t binlog_pos = 0;
|
||||
bool use_binlog_pos = true;
|
||||
|
||||
try {
|
||||
Binary_log binlog(create_transport(uri), uri);
|
||||
binlog.connect();
|
||||
|
||||
// If the external user has provided the position where to
|
||||
// continue we will use that. If no position is given,
|
||||
// we try to use position from metadata tables. If all this
|
||||
// is not available, we start from the begining of the binlog.
|
||||
if (rlt->use_binlog_pos) {
|
||||
binlog_pos = rlt->binlog_pos;
|
||||
} else if (rlt->use_mariadb_gtid) {
|
||||
boost::uint32_t domain;
|
||||
boost::uint32_t server;
|
||||
boost::uint64_t sno;
|
||||
sscanf((const char *)rlt->gtid, "%u-%u-%lu", &domain, &server, &sno);
|
||||
gtid = Gtid(domain, server, sno);
|
||||
use_binlog_pos = false;
|
||||
} else if (rlt->use_mysql_gtid) {
|
||||
gtid(rlt->gtid);
|
||||
use_binlog_pos = false;
|
||||
} else {
|
||||
// At startup we need to iterate through servers and see if
|
||||
// we need to continue from last position
|
||||
if(!tbrl_get_startup_pos(rlt->listener_id, &binlog_pos, >id, >id_known, &use_binlog_pos)) {
|
||||
binlog_pos = 0;
|
||||
use_binlog_pos = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Connect to server
|
||||
if (use_binlog_pos) {
|
||||
binlog.connect(binlog_pos);
|
||||
} else {
|
||||
binlog.connect(gtid);
|
||||
}
|
||||
|
||||
{
|
||||
// Need to be protected by mutex to avoid concurrency problems
|
||||
|
Loading…
x
Reference in New Issue
Block a user